Berechtigungen deklarieren

Wenn Sie die meisten chrome.*-APIs verwenden möchten, APIs muss Ihre Erweiterung oder App ihre Absicht im Feld „permissions“ des Manifests deklarieren. Jede Berechtigung kann entweder einer der bekannten Strings (z. B. „geolocation“) oder ein Übereinstimmungsmuster sein, das Zugriff auf einen oder mehrere Hosts gewährt. Berechtigungen helfen, den Schaden zu begrenzen, wenn Ihre Erweiterung oder App durch Malware manipuliert wird. Einige Berechtigungen werden Nutzern auch vor der Installation angezeigt, wie unter Berechtigungswarnungen beschrieben.

Wenn eine API erfordert, dass du eine Berechtigung im Manifest deklarierst, wird in der Dokumentation beschrieben, wie das geht. Auf der Seite Speicher wird beispielsweise gezeigt, wie du die Berechtigung „Speicher“ deklarierst.

Hier ist ein Beispiel für den Berechtigungsabschnitt einer Manifestdatei:

"permissions": [
  "tabs",
  "bookmarks",
  "http://www.blogger.com/",
  "http://*.google.com/",
  "unlimitedStorage"
],

In der folgenden Tabelle sind die derzeit verfügbaren Berechtigungen aufgeführt:

Berechtigung Beschreibung
"activeTab" Fordert an, dass der Erweiterung Berechtigungen gemäß der activeTab-Spezifikation gewährt werden.
"alarms" Gewährt Ihrer Erweiterung Zugriff auf die chrome.alarms API.
"background"

Chrome wird früh gestartet und spät beendet, damit Apps und Erweiterungen länger ausgeführt werden können.

Wenn eine installierte gehostete App, eine gepackte App oder eine Erweiterung die Berechtigung „background“ hat, wird Chrome (unsichtbar) ausgeführt, sobald sich der Nutzer auf seinem Computer anmeldet – also bevor der Nutzer Chrome startet. Die Berechtigung „background“ sorgt außerdem dafür, dass Chrome auch nach dem Schließen des letzten Fensters weiter ausgeführt wird, bis der Nutzer Chrome explizit beendet.

Hinweis: Deaktivierte Apps und Erweiterungen werden so behandelt, als wären sie nicht installiert.

Die Berechtigung „background“ wird normalerweise mit einer Hintergrundseite, einer Ereignisseite oder (bei gehosteten Apps) einem Hintergrundfenster verwendet.

"bookmarks" Gewährt Ihrer Erweiterung Zugriff auf die chrome.bookmarks API.
"browsingData" Gewährt Ihrer Erweiterung Zugriff auf die chrome.browsingData API.
"certificateProvider" Gewährt Ihrer Erweiterung Zugriff auf die chrome.certificateProvider API.
"clipboardRead" Erforderlich, wenn die Erweiterung oder App document.execCommand('paste') verwendet.
"clipboardWrite" Gibt an, dass die Erweiterung oder App document.execCommand('copy') oder document.execCommand('cut') verwendet. Diese Berechtigung ist für gehostete Apps erforderlich und wird für Erweiterungen und gepackte Apps empfohlen.
"contentSettings" Gewährt Ihrer Erweiterung Zugriff auf die chrome.contentSettings API.
"contextMenus" Gewährt Ihrer Erweiterung Zugriff auf die chrome.contextMenus API.
"cookies" Gewährt Ihrer Erweiterung Zugriff auf die chrome.cookies API.
"debugger" Gewährt Ihrer Erweiterung Zugriff auf die chrome.debugger API.
"declarativeContent" Gewährt Ihrer Erweiterung Zugriff auf die chrome.declarativeContent API.
"declarativeNetRequest" Gewährt Ihrer Erweiterung Zugriff auf die chrome.declarativeNetRequest API.
"declarativeNetRequestFeedback" Gewährt der Erweiterung Zugriff auf Ereignisse und Methoden innerhalb der chrome.declarativeNetRequest API, die Informationen zu übereinstimmenden deklarativen Regeln zurückgeben.
"declarativeWebRequest" Gewährt Ihrer Erweiterung Zugriff auf die chrome.declarativeWebRequest API.
"desktopCapture" Gewährt Ihrer Erweiterung Zugriff auf die chrome.desktopCapture API.
"documentScan" Gewährt Ihrer Erweiterung Zugriff auf die chrome.documentScan API.
"downloads" Gewährt Ihrer Erweiterung Zugriff auf die chrome.downloads API.
"enterprise.deviceAttributes" Gewährt Ihrer Erweiterung Zugriff auf die chrome.enterprise.deviceAttributes API.
"enterprise.hardwarePlatform" Gewährt Ihrer Erweiterung Zugriff auf die chrome.enterprise.hardwarePlatform API.
"enterprise.networkingAttributes" Gewährt Ihrer Erweiterung Zugriff auf die chrome.enterprise.networkingAttributes API.
"enterprise.platformKeys" Gewährt Ihrer Erweiterung Zugriff auf die chrome.enterprise.platformKeys API.
"experimental" Erforderlich, wenn die Erweiterung oder App chrome.experimental.* APIs.
"fileBrowserHandler" Gewährt Ihrer Erweiterung Zugriff auf die chrome.fileBrowserHandler API.
"fileSystemProvider" Gewährt Ihrer Erweiterung Zugriff auf die chrome.fileSystemProvider API.
"fontSettings" Gewährt Ihrer Erweiterung Zugriff auf die chrome.fontSettings API.
"gcm" Gewährt Ihrer Erweiterung Zugriff auf die chrome.gcm API.
"geolocation" Ermöglicht der Erweiterung oder App, die Geolocation API zu verwenden, ohne den Nutzer um Erlaubnis zu bitten.
"history" Gewährt Ihrer Erweiterung Zugriff auf die chrome.history API.
"identity" Gewährt Ihrer Erweiterung Zugriff auf die chrome.identity API.
"idle" Gewährt Ihrer Erweiterung Zugriff auf die chrome.idle API.
"loginState" Gewährt Ihrer Erweiterung Zugriff auf die chrome.loginState API.
"management" Gewährt Ihrer Erweiterung Zugriff auf die chrome.management API.
"nativeMessaging" Gewährt Ihrer Erweiterung Zugriff auf die Native Messaging API.
"notifications" Gewährt Ihrer Erweiterung Zugriff auf die chrome.notifications API.
"pageCapture" Gewährt Ihrer Erweiterung Zugriff auf die chrome.pageCapture API.
"platformKeys" Gewährt Ihrer Erweiterung Zugriff auf die chrome.platformKeys API.
"power" Gewährt Ihrer Erweiterung Zugriff auf die chrome.power API.
"printerProvider" Gewährt Ihrer Erweiterung Zugriff auf die chrome.printerProvider API.
"printing" Gewährt Ihrer Erweiterung Zugriff auf die chrome.printing API.
"printingMetrics" Gewährt Ihrer Erweiterung Zugriff auf die chrome.printingMetrics API.
"privacy" Gewährt Ihrer Erweiterung Zugriff auf die chrome.privacy API.
"processes" Gewährt Ihrer Erweiterung Zugriff auf die chrome.processes API.
"proxy" Gewährt Ihrer Erweiterung Zugriff auf die chrome.proxy API.
"scripting" Gewährt Ihrer Erweiterung Zugriff auf die chrome.scripting API.
"sessions" Gewährt Ihrer Erweiterung Zugriff auf die chrome.sessions API.
"signedInDevices" Gewährt Ihrer Erweiterung Zugriff auf die chrome.signedInDevices API.
"storage" Gewährt Ihrer Erweiterung Zugriff auf die chrome.storage API.
"system.cpu" Gewährt Ihrer Erweiterung Zugriff auf die chrome.system.cpu API.
"system.display" Gewährt Ihrer Erweiterung Zugriff auf die chrome.system.display API.
"system.memory" Gewährt Ihrer Erweiterung Zugriff auf die chrome.system.memory API.
"system.storage" Gewährt Ihrer Erweiterung Zugriff auf die chrome.system.storage API.
"tabCapture" Gewährt Ihrer Erweiterung Zugriff auf die chrome.tabCapture API.
"tabGroups" Gewährt Ihrer Erweiterung Zugriff auf die chrome.tabGroups API.
"tabs" Gewährt Ihrer Erweiterung Zugriff auf privilegierte Felder der Tab-Objekte, die von mehreren APIs verwendet werden, darunter chrome.tabs und chrome.windows. In vielen Fällen muss Ihre Erweiterung nicht die Berechtigung "tabs" deklarieren, um diese APIs zu verwenden.
"topSites" Gewährt Ihrer Erweiterung Zugriff auf die chrome.topSites API.
"tts" Gewährt Ihrer Erweiterung Zugriff auf die chrome.tts API.
"ttsEngine" Gewährt Ihrer Erweiterung Zugriff auf die chrome.ttsEngine API.
"unlimitedStorage" Bietet ein unbegrenztes Kontingent für das Speichern clientseitiger Daten, z. B. Datenbanken und lokale Speicherdateien. Ohne diese Berechtigung ist die Erweiterung oder App auf 5 MB lokalen Speicherplatz beschränkt.
Hinweis: Diese Berechtigung gilt nur für Web-SQL-Datenbanken und Anwendungscaches (siehe Problem 58985). Außerdem funktioniert es derzeit nicht mit Platzhalter-Subdomains wie http://*.example.com.
"vpnProvider" Gewährt Ihrer Erweiterung Zugriff auf die chrome.vpnProvider API.
"webNavigation" Gewährt Ihrer Erweiterung Zugriff auf die chrome.webNavigation API.
"webRequest" Gewährt Ihrer Erweiterung Zugriff auf die chrome.webRequest API.
"webRequestBlocking" Erforderlich, wenn die Erweiterung die chrome.webRequest API blockierend verwendet.