Zur Verwendung der meisten Erweiterungs-APIs und -Funktionen müssen Sie den Intent Ihrer Erweiterung in den Berechtigungsfeldern des Manifests deklarieren. Erweiterungen können die folgenden Berechtigungskategorien anfordern, die über die entsprechenden Manifestschlüssel angegeben werden:
"permissions"
- Enthält Elemente aus einer Liste bekannter Strings. Änderungen können eine Warnung auslösen.
"optional_permissions"
- Wird vom Nutzer zur Laufzeit und nicht bei der Installation gewährt.
"content_scripts.matches"
- Enthält ein oder mehrere Übereinstimmungsmuster, die das Einfügen von Inhaltsskripten in einen oder mehrere Hosts ermöglichen. Änderungen können eine Warnung auslösen.
"host_permissions"
- Enthält ein oder mehrere Übereinstimmungsmuster, die Zugriff auf einen oder mehrere Hosts gewähren. Änderungen können eine Warnung auslösen.
"optional_host_permissions"
- Wird vom Nutzer zur Laufzeit und nicht bei der Installation gewährt.
Mit Berechtigungen können Sie den Schaden begrenzen, wenn Ihre Erweiterung durch Malware gefährdet ist. Einige Berechtigungswarnungen werden Nutzern angezeigt, bevor sie zustimmen. bei der Installation oder während der Laufzeit, wie unter Berechtigung mit Warnungen beschrieben.
Verwenden Sie optionale Berechtigungen nur dann, wenn die Funktion Ihrer Erweiterung erlaubt, um Nutzern fundierte Kontrolle über den Zugriff auf Ressourcen und Daten zu geben.
Wenn für eine API eine Berechtigung erforderlich ist, wird in der zugehörigen Dokumentation erläutert, wie die Berechtigung deklariert wird. Für eine finden Sie unter Storage API.
Manifest
Das folgende Beispiel zeigt den Berechtigungsbereich einer Manifestdatei:
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
}
Hostberechtigungen
Hostberechtigungen ermöglichen es Erweiterungen, mit den Übereinstimmungsmustern der URL zu interagieren. Für einige Chrome APIs sind Hostberechtigungen zusätzlich zu ihren eigenen API-Berechtigungen erforderlich, die auf jeder Referenzseite dokumentiert sind. Beispiele:
- Sie können
fetch()
-Anfragen über die Erweiterungs-Service-Worker und die Erweiterungsseiten senden. - Sie können die vertraulichen Tab-Eigenschaften (url, title und favIconUrl) mit der
chrome.tabs
API lesen und abfragen. - Content-Script programmatisch einfügen
- Mit der
chrome.webRequest
API können Sie Netzwerkanfragen überwachen und steuern. - Greifen Sie mit der
chrome.cookies
API auf Cookies zu. - Anfragen und Antwortheader mithilfe der
chrome.declarativeNetRequest
API weiterleiten und ändern
Berechtigungen mit Warnungen
Wenn eine Erweiterung mehrere Berechtigungen anfordert und viele von ihnen angezeigt werden Warnungen nach der Installation sieht der Nutzer eine Liste mit Warnungen wie im folgenden Beispiel:
Nutzer vertrauen einer Erweiterung eher, wenn nur wenige Warnungen angezeigt werden oder Berechtigungen erklärt werden für sie. Implementieren Sie optionale Berechtigungen oder eine weniger leistungsstarke API, um Alarme zu vermeiden. Warnungen. Best Practices für Warnungen finden Sie in den Richtlinien für Berechtigungswarnungen. Spezifisch werden Warnungen mit den jeweiligen Berechtigungen im Referenzliste Berechtigungen
Hinzufügen oder Ändern von Übereinstimmungsmustern in "host_permissions"
und "content_scripts.matches"
der Manifestdatei lösen ebenfalls eine Warnung aus. Weitere Informationen finden Sie unter
Berechtigungen aktualisieren
Zugriff zulassen
Wenn Ihre Erweiterung unter file://
-URLs oder im Inkognitomodus ausgeführt werden muss, müssen Nutzer ihr Zugriff auf der zugehörigen Detailseite gewähren. Eine Anleitung zum Öffnen der Detailseite finden Sie unter Erweiterungen verwalten.
Zugriff auf Datei-URLs und Inkognitoseiten zulassen
- Klicken Sie mit der rechten Maustaste auf das Erweiterungssymbol in Chrome.
Wählen Sie Erweiterung verwalten aus.
<ph type="x-smartling-placeholder">Scrollen Sie nach unten, um den Zugriff auf Datei-URLs oder den Inkognitomodus zu aktivieren.
<ph type="x-smartling-placeholder">
Wenn Sie wissen möchten, ob der Nutzer Zugriff gewährt hat, können Sie extension.isAllowedIncognitoAccess()
aufrufen oder
extension.isAllowedFileSchemeAccess()