Déclarer des autorisations

Pour utiliser la plupart des fonctionnalités de Chrome* Les API, votre extension ou votre application doivent déclarer leur intent dans le champ "autorisations" du manifest. Chaque autorisation peut faire référence à une chaîne sélectionnée dans une liste connue (comme "geolocation") ou à un modèle d'URL correspondant à un ou plusieurs hôtes. Les autorisations permettent de limiter les dommages si votre extension ou votre application est compromise par un logiciel malveillant. Certaines autorisations sont également affichées aux utilisateurs avant l'installation, comme indiqué dans la section Avertissements concernant les autorisations.

Si une API vous oblige à déclarer une autorisation dans le fichier manifeste, sa documentation vous explique comment procéder. Par exemple, la page Stockage vous explique comment déclarer l'autorisation "storage".

Voici un exemple de la partie des autorisations d'un fichier manifeste:

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

Le tableau suivant répertorie les autorisations actuellement disponibles:

Autorisation Description
"activeTab" Demande que l'extension reçoive des autorisations conformément à la spécification activeTab.
"alarms" Accorde à votre extension l'accès à l'API chrome.alarms.
"background"

Démarre Chrome plus tôt et l'arrête plus tard pour prolonger la durée de vie des applications et des extensions.

Lorsqu'une application hébergée, une application empaquetée ou une extension installée dispose de l'autorisation "en arrière-plan", Chrome s'exécute (de manière invisible) dès que l'utilisateur se connecte à son ordinateur, avant qu'il ne lance Chrome. L'autorisation "background" permet également à Chrome de continuer à s'exécuter (même après la fermeture de sa dernière fenêtre) jusqu'à ce que l'utilisateur quitte explicitement Chrome.

Remarque:Les applications et extensions désactivées sont traitées comme si elles n'étaient pas installées.

Vous utilisez généralement l'autorisation "arrière-plan" avec une page d'arrière-plan, une page d'événement ou (pour les applications hébergées) une fenêtre d'arrière-plan.

"bookmarks" Accorde à votre extension l'accès à l'API chrome.bookmarks.
"browsingData" Accorde à votre extension l'accès à l'API chrome.browsingData.
"certificateProvider" Accorde à votre extension l'accès à l'API chrome.certificateProvider.
"clipboardRead" Obligatoire si l'extension ou l'application utilise document.execCommand('paste').
"clipboardWrite" Indique que l'extension ou l'application utilise document.execCommand('copy') ou document.execCommand('cut'). Cette autorisation est obligatoire pour les applications hébergées. Elle est recommandée pour les extensions et les applications empaquetées.
"contentSettings" Accorde à votre extension l'accès à l'API chrome.contentSettings.
"contextMenus" Accorde à votre extension l'accès à l'API chrome.contextMenus.
"cookies" Accorde à votre extension l'accès à l'API chrome.cookies.
"debugger" Accorde à votre extension l'accès à l'API chrome.debugger.
"declarativeContent" Accorde à votre extension l'accès à l'API chrome.declarativeContent.
"declarativeNetRequest" Accorde à votre extension l'accès à l'API chrome.declarativeNetRequest.
"declarativeNetRequestFeedback" Accorde à l'extension l'accès aux événements et aux méthodes de l'API chrome.declarativeNetRequest, qui renvoient des informations sur les règles déclaratives correspondantes.
"declarativeWebRequest" Accorde à votre extension l'accès à l'API chrome.declarativeWebRequest.
"desktopCapture" Accorde à votre extension l'accès à l'API chrome.desktopCapture.
"documentScan" Accorde à votre extension l'accès à l'API chrome.documentScan.
"downloads" Accorde à votre extension l'accès à l'API chrome.downloads.
"enterprise.deviceAttributes" Accorde à votre extension l'accès à l'API chrome.enterprise.deviceAttributes.
"enterprise.hardwarePlatform" Accorde à votre extension l'accès à l'API chrome.enterprise.hardwarePlatform.
"enterprise.networkingAttributes" Accorde à votre extension l'accès à l'API chrome.enterprise.networkingAttributes.
"enterprise.platformKeys" Accorde à votre extension l'accès à l'API chrome.enterprise.platformKeys.
"experimental" Obligatoire si l'extension ou l'application utilise chrome.experimental.* API.
"fileBrowserHandler" Accorde à votre extension l'accès à l'API chrome.fileBrowserHandler.
"fileSystemProvider" Accorde à votre extension l'accès à l'API chrome.fileSystemProvider.
"fontSettings" Accorde à votre extension l'accès à l'API chrome.fontSettings.
"gcm" Accorde à votre extension l'accès à l'API chrome.gcm.
"geolocation" Permet à l'extension ou à l'application d'utiliser l'API de géolocalisation sans demander l'autorisation à l'utilisateur.
"history" Accorde à votre extension l'accès à l'API chrome.history.
"identity" Accorde à votre extension l'accès à l'API chrome.identity.
"idle" Accorde à votre extension l'accès à l'API chrome.idle.
"loginState" Accorde à votre extension l'accès à l'API chrome.loginState.
"management" Accorde à votre extension l'accès à l'API chrome.management.
"nativeMessaging" Accorde à votre extension l'accès à l'API de messagerie native.
"notifications" Accorde à votre extension l'accès à l'API chrome.notifications.
"pageCapture" Accorde à votre extension l'accès à l'API chrome.pageCapture.
"platformKeys" Accorde à votre extension l'accès à l'API chrome.platformKeys.
"power" Accorde à votre extension l'accès à l'API chrome.power.
"printerProvider" Accorde à votre extension l'accès à l'API chrome.printerProvider.
"printing" Accorde à votre extension l'accès à l'API chrome.printing.
"printingMetrics" Accorde à votre extension l'accès à l'API chrome.printingMetrics.
"privacy" Accorde à votre extension l'accès à l'API chrome.privacy.
"processes" Accorde à votre extension l'accès à l'API chrome.processes.
"proxy" Accorde à votre extension l'accès à l'API chrome.proxy.
"scripting" Accorde à votre extension l'accès à l'API chrome.scripting.
"sessions" Accorde à votre extension l'accès à l'API chrome.sessions.
"signedInDevices" Accorde à votre extension l'accès à l'API chrome.signedInDevices.
"storage" Accorde à votre extension l'accès à l'API chrome.storage.
"system.cpu" Accorde à votre extension l'accès à l'API chrome.system.cpu.
"system.display" Accorde à votre extension l'accès à l'API chrome.system.display.
"system.memory" Accorde à votre extension l'accès à l'API chrome.system.memory.
"system.storage" Accorde à votre extension l'accès à l'API chrome.system.storage.
"tabCapture" Accorde à votre extension l'accès à l'API chrome.tabCapture.
"tabGroups" Accorde à votre extension l'accès à l'API chrome.tabGroups.
"tabs" Accorde à votre extension l'accès aux champs privilégiés des objets Tab utilisés par plusieurs API, y compris chrome.tabs et chrome.windows. Dans de nombreux cas, votre extension n'a pas besoin de déclarer l'autorisation "tabs" pour utiliser ces API.
"topSites" Accorde à votre extension l'accès à l'API chrome.topSites.
"tts" Accorde à votre extension l'accès à l'API chrome.tts.
"ttsEngine" Accorde à votre extension l'accès à l'API chrome.ttsEngine.
"unlimitedStorage" Fournit un quota illimité pour le stockage de données côté client, telles que des bases de données et des fichiers de stockage local. Sans cette autorisation, l'extension ou l'application est limitée à 5 Mo de stockage local.
Remarque:Cette autorisation ne s'applique qu'à la base de données SQL Web et au cache de l'application (voir le problème 58985). De plus, elle ne fonctionne pas actuellement avec les sous-domaines génériques tels que http://*.example.com.
"vpnProvider" Accorde à votre extension l'accès à l'API chrome.vpnProvider.
"wallpaper" Accorde à votre extension l'accès à l'API chrome.wallpaper.
"webNavigation" Accorde à votre extension l'accès à l'API chrome.webNavigation.
"webRequest" Accorde à votre extension l'accès à l'API chrome.webRequest.
"webRequestBlocking" Obligatoire si l'extension utilise l'API chrome.webRequest de manière bloquante.