ไฟล์ Manifest - นโยบายรักษาความปลอดภัยเนื้อหา

คีย์ไฟล์ Manifest ที่ไม่บังคับซึ่งมีนโยบายรักษาความปลอดภัยเนื้อหาของแพลตฟอร์มเว็บ ซึ่งระบุข้อจำกัดเกี่ยวกับสคริปต์ รูปแบบ และทรัพยากรอื่นๆ ที่ส่วนขยายใช้ได้ ภายในคีย์ไฟล์ Manifest นี้ คุณจะกำหนดนโยบายที่ไม่บังคับแยกต่างหากได้สำหรับทั้งหน้าส่วนขยายและหน้าส่วนขยายแซนด์บ็อกซ์

"หน้าส่วนขยาย" ซึ่งนโยบายจะมีผลกับบริบทของหน้าเว็บและผู้ปฏิบัติงานในส่วนขยาย ซึ่งรวมถึงป๊อปอัปส่วนขยาย ผู้ปฏิบัติงานในเบื้องหลัง และแท็บที่มีหน้า HTML หรือ iframe ที่ส่วนขยายเปิด นโยบายแซนด์บ็อกซ์มีผลกับทุกหน้าที่ระบุเป็นหน้าแซนด์บ็อกซ์ในไฟล์ Manifest

นโยบายเริ่มต้น

หากผู้ใช้ไม่ได้กำหนดนโยบายรักษาความปลอดภัยเนื้อหาในไฟล์ Manifest ระบบจะใช้คุณสมบัติเริ่มต้นสำหรับทั้งหน้าส่วนขยายและหน้าส่วนขยายที่ทำแซนด์บ็อกซ์

ค่าเริ่มต้นเหล่านี้เทียบเท่ากับการระบุนโยบายต่อไปนี้ในไฟล์ Manifest ของคุณ

{
  // ...
  "content_security_policy": {
    "extension_pages": "script-src 'self'; object-src 'self';",
    "sandbox": "sandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';"
  }
  // ...
}

ในกรณีนี้ ส่วนขยายจะโหลดเฉพาะสคริปต์และออบเจ็กต์ในเครื่องจากทรัพยากรที่เป็นแพ็กเกจของตัวเองเท่านั้น WebAssembly จะถูกปิดใช้ และส่วนขยายจะไม่เรียกใช้ JavaScript ในบรรทัดหรือประเมินสตริงเป็นโค้ดสั่งการได้ หากมีการเพิ่มหน้าแซนด์บ็อกซ์ ก็จะมีสิทธิ์ที่ผ่อนปรนมากขึ้นในการประเมินสคริปต์จากภายนอกส่วนขยาย

นโยบายความปลอดภัยของเนื้อหาขั้นต่ำที่ปรับแต่งได้

นักพัฒนาแอปอาจเพิ่มหรือนำกฎสำหรับส่วนขยายออก หรือใช้นโยบายรักษาความปลอดภัยเนื้อหาขั้นต่ำที่จำเป็นเพื่อให้เหมาะกับความต้องการของโปรเจ็กต์ของตน

นโยบายหน้าส่วนขยาย

Chrome บังคับใช้นโยบายรักษาความปลอดภัยเนื้อหาขั้นต่ำกับหน้าส่วนขยาย ซึ่งเทียบเท่ากับการระบุนโยบายต่อไปนี้ในไฟล์ Manifest ของคุณ

{
  // ...
  "content_security_policy": {
    "extension_pages": "script-src 'self' 'wasm-unsafe-eval'; object-src 'self';"
  }
  // ...
}

ผ่อนปรนนโยบาย extension_pages เกินค่าขั้นต่ำนี้ไม่ได้ กล่าวคือ คุณจะเพิ่มแหล่งที่มาของสคริปต์อื่นๆ ลงในคำสั่งไม่ได้ เช่น การเพิ่ม 'unsafe-eval' ไปยัง script-src หากคุณเพิ่มแหล่งที่มาที่ไม่ได้รับอนุญาตลงในนโยบายของส่วนขยาย Chrome จะแสดงข้อผิดพลาดเช่นนี้เมื่อติดตั้ง

'content_security_policy.extension_pages': Insecure CSP value "'unsafe-eval'" in directive 'script-src'.

นโยบายหน้าแซนด์บ็อกซ์

นโยบายเริ่มต้นสำหรับหน้าที่เป็นแซนด์บ็อกซ์จะมีการผ่อนปรนมากกว่าหน้าส่วนขยายมาก เนื่องจากหน้าแซนด์บ็อกซ์ไม่มีสิทธิ์เข้าถึง API ส่วนขยาย หรือไม่มีสิทธิ์เข้าถึงหน้าที่ไม่ใช่แซนด์บ็อกซ์โดยตรง สามารถปรับแต่งนโยบายความปลอดภัยของเนื้อหาของแซนด์บ็อกซ์ได้ตามต้องการ