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"- Wird vom Nutzer zur Laufzeit und nicht bei der Installation erteilt.
"content_scripts.matches"- Enthält ein oder mehrere Übereinstimmungsmuster, mit denen Content-Skripts in einen oder mehrere Hosts eingefügt werden können. Ä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 erteilt.
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 angezeigt, damit sie ihre Einwilligung geben können. Weitere Informationen finden Sie unter Berechtigungen mit Warnungen.
Verwenden Sie nach Möglichkeit optionale Berechtigungen, um Nutzern eine fundierte Kontrolle über den Zugriff auf Ressourcen und Daten zu ermöglichen.
Wenn für eine API eine Berechtigung erforderlich ist, wird in der Dokumentation der API erklärt, 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
}
Hostberechtigungen
Mit Hostberechtigungen können Erweiterungen mit den Übereinstimmungsmustern der URL interagieren. Für einige Chrome-APIs sind zusätzlich zu den eigenen API-Berechtigungen Hostberechtigungen erforderlich. Diese sind auf den jeweiligen Referenzseiten dokumentiert. Hier einige Beispiele:
fetch()-Anfragen vom Erweiterungs-Service-Worker und von Erweiterungsseiten senden.- Mit der
chrome.tabsAPI die vertraulichen Tab-Eigenschaften (URL, Titel und Favicon-URL) lesen und abfragen. - Ein Content-Skript programmatisch einfügen.
- Mit der
chrome.webRequestAPI Netzwerkanfragen überwachen und steuern. - Mit der
chrome.cookiesAPI auf Cookies zugreifen. - Anfragen und Antwortheader mit der
chrome.declarativeNetRequestAPI umleiten und ändern.
Berechtigungen mit Warnungen
Wenn eine Erweiterung mehrere Berechtigungen anfordert und bei der Installation viele Warnungen angezeigt werden, sehen Nutzer eine Liste mit Warnungen, wie im folgenden Beispiel:

Nutzer vertrauen einer Erweiterung eher, wenn nur wenige Warnungen angezeigt werden oder wenn die Berechtigungen erklärt werden. Sie können optionale Berechtigungen oder eine weniger leistungsstarke API implementieren, um alarmierende Warnungen zu vermeiden. Best Practices für Warnungen finden Sie unter Richtlinien für Berechtigungswarnungen. Bestimmte Warnungen sind in der Referenzliste für Berechtigungen mit den Berechtigungen aufgeführt, auf die sie sich beziehen.
Wenn Sie Übereinstimmungsmuster in den "host_permissions" und "content_scripts.matches"
Feldern der Manifestdatei hinzufügen oder ändern, wird ebenfalls eine Warnung ausgelöst. Weitere Informationen finden Sie unter
Berechtigungen aktualisieren.
Zugriff zulassen
Wenn Ihre Erweiterung unter file://-URLs ausgeführt oder im Inkognitomodus verwendet werden soll, 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.
Mit extension.isAllowedIncognitoAccess() oder
extension.isAllowedFileSchemeAccess() können Sie prüfen, ob der Nutzer den Zugriff zugelassen hat.