Deklarowanie uprawnień

Aby korzystać z większości interfejsów API rozszerzeń i funkcji, zadeklaruj intencję rozszerzenia w polach uprawnień pliku manifestu. Rozszerzenia mogą prosić o przyznanie tych kategorii uprawnień określonych za pomocą odpowiednich kluczy pliku manifestu:

"permissions"
Zawiera elementy z listy znanych ciągów znaków. Zmiany mogą spowodować wyświetlenie ostrzeżenia.
"optional_permissions"
Przyznawane przez użytkownika w czasie działania, a nie podczas instalacji.
"content_scripts.matches"
Zawiera co najmniej 1 wzorzec dopasowania, który umożliwia wstrzykiwanie skryptów treści na co najmniej 1 host. Zmiany mogą spowodować wyświetlenie ostrzeżenia.
"host_permissions"
Zawiera co najmniej jeden wzorzec dopasowania, który zapewnia dostęp do co najmniej jednego hosta. Zmiany mogą spowodować wyświetlenie ostrzeżenia.
"optional_host_permissions"
Przyznawane przez użytkownika w czasie działania, a nie podczas instalacji.

Uprawnienia pozwalają ograniczyć szkody, jeśli rozszerzenie zostanie przejęte przez złośliwe oprogramowanie. Przed instalacją lub w czasie działania aplikacji użytkownicy widzą ostrzeżenia o uzyskaniu zgody. Szczegóły znajdziesz w sekcji Uprawnienia z ostrzeżeniami.

Rozważ użycie uprawnień opcjonalnych wszędzie tam, gdzie pozwala na to działanie rozszerzenia, aby zapewnić użytkownikom świadomą kontrolę nad dostępem do zasobów i danych.

Jeśli interfejs API wymaga uprawnień, w jego dokumentacji wyjaśniono, jak je zadeklarować. Przykład znajdziesz w sekcji Storage API.

Plik manifestu

Oto przykład sekcji uprawnień w pliku manifestu:

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
}

Uprawnienia dotyczące hosta

Uprawnienia hosta pozwalają rozszerzeniom na interakcję z wzorcami dopasowania adresu URL. Niektóre interfejsy API Chrome wymagają uprawnień hosta oprócz własnych uprawnień do interfejsu API, które są wymienione na każdej stronie z dokumentacją. Oto przykłady:

Uprawnienia z ostrzeżeniami

Gdy rozszerzenie wymaga wielu uprawnień, a wiele z nich wyświetla ostrzeżenia dotyczące instalacji, użytkownik zobaczy listę ostrzeżeń jak w tym przykładzie:

Ostrzeżenia o uprawnieniach rozszerzeń podczas instalacji

Użytkownicy chętniej ufają rozszerzeniu z ograniczonymi ostrzeżeniami lub gdy zostaną wyjaśnione uprawnienia. Rozważ wdrożenie opcjonalnych uprawnień lub mniej wydajnego interfejsu API, aby uniknąć niepokojących ostrzeżeń. Sprawdzone metody postępowania z ostrzeżeniami znajdziesz w artykule Ostrzeżenia dotyczące uprawnień. Konkretne ostrzeżenia są wymienione na liście uprawnień wraz z uprawnieniami, do których mają zastosowanie.

Dodanie lub zmiana wzorców dopasowania w polach "host_permissions" i "content_scripts.matches" pliku manifestu również spowoduje wyświetlenie ostrzeżenia. Więcej informacji znajdziesz w sekcji Aktualizowanie uprawnień.

Zezwól na dostęp

Jeśli rozszerzenie ma działać pod adresami URL file:// lub działać w trybie incognito, użytkownicy muszą udzielić mu dostępu na stronie z informacjami o nim. Instrukcje otwierania strony z informacjami znajdziesz w sekcji Zarządzanie rozszerzeniami.

Zezwalaj na dostęp do adresów URL plików i stron incognito

  1. Kliknij prawym przyciskiem myszy ikonę rozszerzenia w Chrome.
  2. Kliknij Zarządzaj rozszerzeniem.

    Menu kontekstowe rozszerzenia
    Menu rozszerzenia
  3. Przewiń w dół, aby włączyć dostęp do adresów URL plików lub tryb incognito.

    Zezwalaj na adresy URL plików i tryb incognito na stronie z informacjami o rozszerzeniu
    Włączono dostęp do adresów URL plików i trybu incognito.

Aby sprawdzić, czy użytkownik zezwolił na dostęp, możesz wywołać metodę extension.isAllowedIncognitoAccess() lub extension.isAllowedFileSchemeAccess().