ประกาศสิทธิ์

หากต้องการใช้ API ของส่วนขยายและฟีเจอร์ส่วนใหญ่ คุณต้องประกาศความตั้งใจของส่วนขยายในช่องสิทธิ์ของไฟล์ Manifest โดยส่วนขยายสามารถขอสิทธิ์ในหมวดหมู่ต่อไปนี้ ซึ่งระบุโดยใช้คีย์ Manifest ที่เกี่ยวข้อง

"permissions"
มีรายการจากรายการสตริงที่รู้จัก การเปลี่ยนแปลงอาจทำให้เกิดคำเตือน
"optional_permissions"
ผู้ใช้ให้สิทธิ์เมื่อรันไทม์แทนที่จะให้สิทธิ์เมื่อติดตั้ง
"content_scripts.matches"
มีรูปแบบการจับคู่อย่างน้อย 1 รายการที่อนุญาตให้ Content Script แทรกเข้าไปในโฮสต์อย่างน้อย 1 โฮสต์ การเปลี่ยนแปลงอาจทำให้เกิดคำเตือน
"host_permissions"
มีรูปแบบการจับคู่อย่างน้อย 1 รายการที่ให้สิทธิ์เข้าถึงโฮสต์อย่างน้อย 1 โฮสต์ การเปลี่ยนแปลงอาจทำให้เกิดคำเตือน
"optional_host_permissions"
ผู้ใช้ให้สิทธิ์เมื่อรันไทม์แทนที่จะให้สิทธิ์เมื่อติดตั้ง

สิทธิ์จะช่วยจำกัดความเสียหายหากส่วนขยายของคุณถูกมัลแวร์บุกรุก ระบบจะแสดงคำเตือนเกี่ยวกับสิทธิ์บางอย่างแก่ผู้ใช้เพื่อให้ความยินยอมก่อน การติดตั้งหรือเมื่อรันไทม์ ดังที่อธิบายไว้ใน สิทธิ์แบบมีคำเตือน

พิจารณาใช้สิทธิ์ที่ไม่บังคับทุกที่ที่ฟังก์ชันการทำงานของส่วนขยาย อนุญาต เพื่อให้ผู้ใช้ควบคุมการเข้าถึงทรัพยากรและข้อมูลได้อย่างมีข้อมูล

หาก API ต้องใช้สิทธิ์ เอกสารประกอบของ API จะอธิบายวิธีประกาศสิทธิ์ ดูตัวอย่างได้ที่ Storage API

ไฟล์ Manifest

ตัวอย่างต่อไปนี้แสดงส่วนสิทธิ์ของไฟล์ Manifest

manifest.json:

{
  "name": "Permissions Extension",
  ...
  "permissions": [
    "activeTab",
    "contextMenus",
    "storage"
  ],
  "optional_permissions": [
    "topSites",
  ],
  "host_permissions": [
    "https://www.developer.chrome.com/*"
  ],
  "optional_host_permissions":[
    "https://*/*",
    "http://*/*"
  ],
  ...
  "manifest_version": 3
}

สิทธิ์ของโฮสต์

สิทธิ์ของโฮสต์อนุญาตให้ส่วนขยายโต้ตอบกับรูปแบบการจับคู่ของ URL API บางรายการของ Chrome ต้องใช้สิทธิ์ของโฮสต์นอกเหนือจากสิทธิ์ API ของตัวเอง ซึ่งมีการระบุไว้ในหน้าอ้างอิงแต่ละหน้า ตัวอย่างเช่น

  • ส่งคำขอ fetch() จาก Service Worker ของส่วนขยายและหน้าส่วนขยาย
  • อ่านและค้นหาพร็อพเพอร์ตี้แท็บที่ละเอียดอ่อน tab properties (URL, ชื่อ และ favIconUrl) โดยใช้ chrome.tabs API
  • แทรก Content Script โดยใช้โปรแกรม
  • ตรวจสอบและควบคุมคำขอเครือข่ายด้วย chrome.webRequest API
  • เข้าถึงคุกกี้ด้วย chrome.cookies API
  • เปลี่ยนเส้นทางและแก้ไขคำขอและส่วนหัวของการตอบกลับโดยใช้ chrome.declarativeNetRequest API

สิทธิ์แบบมีคำเตือน

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

คำเตือนเกี่ยวกับสิทธิ์ของส่วนขยายเมื่อติดตั้ง

ผู้ใช้มีแนวโน้มที่จะเชื่อใจส่วนขยายที่มีคำเตือนจำกัดหรือเมื่อมีการอธิบายสิทธิ์ให้ผู้ใช้ทราบ พิจารณาใช้สิทธิ์ที่ไม่บังคับหรือ API ที่มีประสิทธิภาพน้อยกว่าเพื่อหลีกเลี่ยงคำเตือนที่น่าตกใจ ดูแนวทางปฏิบัติแนะนำสำหรับคำเตือนได้ที่ หลักเกณฑ์คำเตือนเกี่ยวกับสิทธิ์ คำเตือนเฉพาะ จะแสดงพร้อมกับสิทธิ์ที่คำเตือนนั้นๆ มีผลบังคับใช้ใน รายการอ้างอิงสิทธิ์

การเพิ่มหรือเปลี่ยนรูปแบบการจับคู่ในช่อง "host_permissions" และ "content_scripts.matches" ของไฟล์ Manifest จะทำให้เกิดคำเตือนด้วย ดูข้อมูลเพิ่มเติมได้ที่ การอัปเดตสิทธิ์

อนุญาตให้เข้าถึง

หากส่วนขยายต้องทำงานใน URL file:// หรือทำงานในโหมดไม่ระบุตัวตน ผู้ใช้ต้องให้สิทธิ์เข้าถึงส่วนขยายในหน้ารายละเอียด ดูวิธีการเปิดหน้ารายละเอียดได้ที่หัวข้อจัดการส่วนขยาย

อนุญาตให้เข้าถึงไฟล์ URL และหน้าไม่ระบุตัวตน

  1. คลิกขวาที่ไอคอนส่วนขยายใน Chrome
  2. เลือกจัดการส่วนขยาย

    เมนูตามบริบทของส่วนขยาย
    เมนูส่วนขยาย
  3. เลื่อนลงเพื่อเปิดใช้การเข้าถึงไฟล์ URL หรือโหมดไม่ระบุตัวตน

    อนุญาตให้ใช้ URL ของไฟล์และโหมดไม่ระบุตัวตนในหน้ารายละเอียดส่วนขยาย
    การเข้าถึงไฟล์ URL และโหมดไม่ระบุตัวตนเปิดใช้แล้ว

หากต้องการตรวจหาว่าผู้ใช้ได้อนุญาตให้เข้าถึงหรือไม่ คุณสามารถเรียก extension.isAllowedIncognitoAccess() หรือ extension.isAllowedFileSchemeAccess()