Khai báo quyền

Để sử dụng hầu hết các tính năng và API tiện ích, bạn phải khai báo ý định của tiện ích trong các trường quyền của tệp kê khai. Các tiện ích có thể yêu cầu các danh mục quyền sau đây, được chỉ định bằng các khoá tệp kê khai tương ứng:

"permissions"
Chứa các mục từ danh sách chuỗi đã biết. Những thay đổi có thể kích hoạt một cảnh báo.
"optional_permissions"
Do người dùng cấp khi bắt đầu chạy, thay vì tại thời điểm cài đặt.
"content_scripts.matches"
Chứa một hoặc nhiều mẫu so khớp cho phép tập lệnh nội dung chèn vào một hoặc nhiều máy chủ. Những thay đổi có thể kích hoạt một cảnh báo.
"host_permissions"
Chứa một hoặc nhiều mẫu so khớp cấp quyền truy cập vào một hoặc nhiều máy chủ. Những thay đổi có thể kích hoạt một cảnh báo.
"optional_host_permissions"
Do người dùng cấp khi bắt đầu chạy, thay vì tại thời điểm cài đặt.

Quyền giúp hạn chế thiệt hại nếu tiện ích của bạn bị phần mềm độc hại xâm phạm. Một số cảnh báo về quyền sẽ hiển thị cho người dùng để đồng ý trước khi cài đặt hoặc trong thời gian chạy, như được nêu chi tiết trong bài viết Quyền có cảnh báo.

Hãy cân nhắc sử dụng các quyền không bắt buộc khi chức năng của tiện ích cho phép, để cung cấp cho người dùng quyền kiểm soát sáng suốt đối với quyền truy cập vào các tài nguyên và dữ liệu.

Nếu một API yêu cầu quyền, thì tài liệu của API đó sẽ giải thích cách khai báo quyền đó. Để biết ví dụ, hãy xem bài viết Storage API.

Tệp kê khai

Sau đây là ví dụ về phần quyền của tệp tệp kê khai:

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
}

Quyền của máy chủ

Quyền của máy chủ cho phép tiện ích tương tác với mẫu phù hợp của URL. Một số API Chrome yêu cầu quyền của máy chủ bên cạnh các quyền đối với API của riêng những API đó, được nêu trong từng trang tham khảo. Sau đây là một số ví dụ:

Quyền có cảnh báo

Khi một tiện ích yêu cầu nhiều quyền và nhiều quyền trong số đó hiển thị cảnh báo về việc cài đặt, người dùng sẽ thấy danh sách các cảnh báo như trong ví dụ sau:

Cảnh báo về quyền của tiện ích khi cài đặt

Người dùng có nhiều khả năng sẽ tin tưởng một tiện ích có cảnh báo hạn chế hoặc khi giải thích quyền cho họ. Hãy cân nhắc việc triển khai các quyền không bắt buộc hoặc một API kém mạnh mẽ hơn để tránh những cảnh báo đáng báo động. Để biết các phương pháp hay nhất về cảnh báo, hãy xem Nguyên tắc về cảnh báo quyền. Các cảnh báo cụ thể được liệt kê kèm theo các quyền áp dụng trong danh sách tham chiếu về Quyền.

Việc thêm hoặc thay đổi mẫu so khớp trong trường "host_permissions""content_scripts.matches" của tệp kê khai cũng sẽ kích hoạt cảnh báo. Để tìm hiểu thêm, hãy xem phần Cập nhật quyền.

Cho phép truy cập

Nếu tiện ích của bạn cần chạy trên file:// URL hoặc hoạt động ở chế độ ẩn danh, thì người dùng phải cấp cho tiện ích quyền truy cập trên trang chi tiết của tiện ích. Bạn có thể tìm hướng dẫn cách mở trang chi tiết trong phần Quản lý tiện ích.

Cho phép truy cập URL của tệp và trang ẩn danh

  1. Nhấp chuột phải vào biểu tượng tiện ích trong Chrome.
  2. Chọn Quản lý tiện ích.

    Trình đơn theo bối cảnh của phần mở rộng
    Trình đơn tiện ích
  3. Di chuyển xuống để bật quyền truy cập vào URL của tệp hoặc chế độ ẩn danh.

    Cho phép URL tệp và chế độ ẩn danh trên trang chi tiết của tiện ích
    Đã cho phép truy cập vào URL của tệp và chế độ ẩn danh.

Để phát hiện xem người dùng đã cho phép truy cập hay chưa, bạn có thể gọi extension.isAllowedIncognitoAccess() hoặc extension.isAllowedFileSchemeAccess().