Wenn Sie die meisten Erweiterungs-APIs und ‑Funktionen verwenden möchten, müssen Sie die Absicht Ihrer Erweiterung in den Berechtigungsfeldern des Manifests deklarieren. Erweiterungen können die folgenden Berechtigungskategorien anfordern, die mit den entsprechenden Manifestschlüsseln angegeben werden:
"permissions"- Enthält Elemente aus einer Liste bekannter Strings. Änderungen können eine Warnung auslösen.
"optional_permissions"- Vom Nutzer zur Laufzeit statt bei der Installation gewährt.
"content_scripts.matches"- Enthält ein oder mehrere Übereinstimmungsmuster, die es Content-Scripts ermöglichen, in einen oder mehrere Hosts eingefügt zu werden. Änderungen können eine Warnung auslösen.
"host_permissions"- Enthält mindestens ein Übereinstimmungsmuster, das Zugriff auf einen oder mehrere Hosts ermöglicht. Änderungen können eine Warnung auslösen.
"optional_host_permissions"- Vom Nutzer zur Laufzeit und nicht bei der Installation gewährt.
Berechtigungen tragen dazu bei, Schäden zu begrenzen, wenn Ihre Erweiterung durch Malware kompromittiert wird. Einige Berechtigungswarnungen werden Nutzern vor der Installation oder zur Laufzeit zur Einwilligung angezeigt, wie unter Berechtigung mit Warnungen beschrieben.
Verwenden Sie nach Möglichkeit optionale Berechtigungen, um Nutzern die Kontrolle über den Zugriff auf Ressourcen und Daten zu geben.
Wenn für eine API eine Berechtigung erforderlich ist, wird in der Dokumentation beschrieben, wie Sie sie deklarieren. Ein Beispiel finden Sie unter Storage API.
Manifest
Im Folgenden sehen Sie ein Beispiel für den Berechtigungsabschnitt 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
}
Berechtigungen für Hosts
Hostberechtigungen ermöglichen Erweiterungen die Interaktion mit den Übereinstimmungsmustern der URL. Für einige Chrome-APIs sind zusätzlich zu den eigenen API-Berechtigungen Hostberechtigungen erforderlich, die auf jeder Referenzseite dokumentiert sind. Hier einige Beispiele:
fetch()-Anfragen vom Service Worker der Erweiterung und von Erweiterungsseiten stellen- Mit der
browser.tabsAPI können Sie die sensiblen Tab-Properties (URL, Titel und „favIconUrl“) lesen und abfragen. - Content-Script programmatisch einfügen
- Mit der
browser.webRequestAPI können Sie die Netzwerkanfragen überwachen und steuern. - Mit der
browser.cookiesAPI auf Cookies zugreifen. - Anfragen und Antwortheader mit der
browser.declarativeNetRequestAPI umleiten und ändern.
In einigen Sonderfällen sind Hostberechtigungen nicht erforderlich. Dazu gehören:
- Mit der
chrome.tabsAPI können Sie auf Tabs zugreifen und sie ändern. Wenn Sie die Berechtigungtabshaben, können Sie auch auf die URL des Tabs zugreifen. - Interaktion mit dem Browser über die
chrome.debuggerAPI. - Einfügen eines im Manifest deklarierten Content-Scripts zulassen.
Berechtigungen mit Warnungen
Wenn eine Erweiterung mehrere Berechtigungen anfordert und für viele davon bei der Installation Warnungen angezeigt werden, sieht der Nutzer eine Liste mit Warnungen, wie im folgenden Beispiel:

Nutzer vertrauen einer Erweiterung eher, wenn nur wenige Warnungen angezeigt werden oder die Berechtigungen erklärt werden. Erwägen Sie, optionale Berechtigungen oder eine weniger leistungsstarke API zu implementieren, um Warnungen zu vermeiden. Best Practices für Warnungen finden Sie unter Richtlinien für Berechtigungswarnungen. Bestimmte Warnungen sind in der Referenzliste Berechtigungen bei den Berechtigungen aufgeführt, auf die sie sich beziehen.
Wenn Sie in der Manifestdatei Übereinstimmungsmuster in den Feldern "host_permissions" und "content_scripts.matches" hinzufügen oder ändern, wird ebenfalls eine Warnung ausgelöst. Weitere Informationen finden Sie unter Berechtigungen aktualisieren.
Zugriff zulassen
Wenn Ihre Erweiterung auf file://-URLs ausgeführt werden oder im Inkognitomodus funktionieren muss, müssen Nutzer der Erweiterung auf der Detailseite Zugriff gewähren. Eine Anleitung zum Öffnen der Detailseite finden Sie unter Erweiterungen verwalten.
Zugriff auf Datei-URLs und Inkognitoseiten zulassen
- Klicken Sie in Chrome mit der rechten Maustaste auf das Erweiterungssymbol.
Wählen Sie Erweiterung verwalten aus.
Erweiterungsmenü Scrollen Sie nach unten, um den Zugriff auf Datei-URLs oder den Inkognitomodus zu aktivieren.
Zugriff auf Datei-URLs und den Inkognitomodus aktiviert.
Um zu erkennen, ob der Nutzer den Zugriff erlaubt hat, können Sie extension.isAllowedIncognitoAccess() oder extension.isAllowedFileSchemeAccess() aufrufen.