Déclarer des autorisations

Pour utiliser la plupart des applications Chrome*. API, votre extension ou votre application doit déclarer son intent dans le champ "permissions" du fichier manifeste. Chaque autorisation peut être l'une des chaînes connues (telles que "géolocalisation") ou un modèle de correspondance donnant accès à un ou plusieurs hôtes. Les autorisations permettent de limiter les dommages si votre extension ou application est compromise par un logiciel malveillant. Certaines autorisations sont également présentées aux utilisateurs avant l'installation, comme indiqué dans la section Avertissements concernant les autorisations.

Si une API nécessite que vous déclariez une autorisation dans le fichier manifeste, sa documentation vous indique comment procéder. Par exemple, la page Stockage vous montre comment déclarer l'autorisation de "stockage".

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 l'octroi d'autorisations à l'extension conformément à la spécification activeTab.
"alarms" Autorise votre extension à accéder à l'API chrome.alarms.
"background"

Permet de démarrer Chrome plus tôt et de s'arrêter tard, ce qui prolonge la durée de vie des applications et des extensions.

Lorsqu'une application hébergée, empaquetée ou extension dispose d'une 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 "en arrière-plan" permet également à Chrome de continuer à fonctionner (même après la fermeture de sa dernière fenêtre) jusqu'à ce que l'utilisateur le quitte explicitement.

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

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

"bookmarks" Autorise votre extension à accéder à l'API chrome.bookmarks.
"browsingData" Autorise votre extension à accéder à l'API chrome.browsingData.
"certificateProvider" Autorise votre extension à accéder à 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 requise pour les applications hébergées, mais recommandée pour les extensions et les applications empaquetées.
"contentSettings" Autorise votre extension à accéder à l'API chrome.contentSettings.
"contextMenus" Autorise votre extension à accéder à l'API chrome.contextMenus.
"cookies" Autorise votre extension à accéder à l'API chrome.cookies.
"debugger" Autorise votre extension à accéder à l'API chrome.debugger.
"declarativeContent" Autorise votre extension à accéder à l'API chrome.declarativeContent.
"declarativeNetRequest" Autorise votre extension à accéder à l'API chrome.declarativeNetRequest.
"declarativeNetRequestFeedback" Accorde à l'extension un accès aux événements et aux méthodes de l'API chrome.declarativeNetRequest, qui renvoient des informations sur les règles déclaratives mises en correspondance.
"declarativeWebRequest" Autorise votre extension à accéder à l'API chrome.declarativeWebRequest.
"desktopCapture" Autorise votre extension à accéder à l'API chrome.desktopCapture.
"documentScan" Autorise votre extension à accéder à l'API chrome.documentScan.
"downloads" Autorise votre extension à accéder à l'API chrome.downloads.
"enterprise.deviceAttributes" Autorise votre extension à accéder à l'API chrome.enterprise.deviceAttributes.
"enterprise.hardwarePlatform" Autorise votre extension à accéder à l'API chrome.enterprise.hardwarePlatform.
"enterprise.networkingAttributes" Autorise votre extension à accéder à l'API chrome.enterprise.networkingAttributes.
"enterprise.platformKeys" Autorise votre extension à accéder à l'API chrome.enterprise.platformKeys.
"experimental" Obligatoire si l'extension ou l'application utilise un élément chrome.experimental.* API.
"fileBrowserHandler" Autorise votre extension à accéder à l'API chrome.fileBrowserHandler.
"fileSystemProvider" Autorise votre extension à accéder à l'API chrome.fileSystemProvider.
"fontSettings" Autorise votre extension à accéder à l'API chrome.fontSettings.
"gcm" Autorise votre extension à accéder à l'API chrome.gcm.
"geolocation" Permet à l'extension ou à l'application d'utiliser l'API de géolocalisation sans demander l'autorisation de l'utilisateur.
"history" Autorise votre extension à accéder à l'API chrome.history.
"identity" Autorise votre extension à accéder à l'API chrome.identity.
"idle" Autorise votre extension à accéder à l'API chrome.idle.
"loginState" Autorise votre extension à accéder à l'API chrome.loginState.
"management" Autorise votre extension à accéder à l'API chrome.management.
"nativeMessaging" Autorise votre extension à accéder à l'API de messagerie native.
"notifications" Autorise votre extension à accéder à l'API chrome.notifications.
"pageCapture" Autorise votre extension à accéder à l'API chrome.pageCapture.
"platformKeys" Autorise votre extension à accéder à l'API chrome.platformKeys.
"power" Autorise votre extension à accéder à l'API chrome.power.
"printerProvider" Autorise votre extension à accéder à l'API chrome.printerProvider.
"printing" Autorise votre extension à accéder à l'API chrome.printing.
"printingMetrics" Autorise votre extension à accéder à l'API chrome.printingMetrics.
"privacy" Autorise votre extension à accéder à l'API chrome.privacy.
"processes" Autorise votre extension à accéder à l'API chrome.processes.
"proxy" Autorise votre extension à accéder à l'API chrome.proxy.
"scripting" Autorise votre extension à accéder à l'API chrome.scripting.
"sessions" Autorise votre extension à accéder à l'API chrome.sessions.
"signedInDevices" Autorise votre extension à accéder à l'API chrome.signedInDevices.
"storage" Autorise votre extension à accéder à l'API chrome.storage.
"system.cpu" Autorise votre extension à accéder à l'API chrome.system.cpu.
"system.display" Autorise votre extension à accéder à l'API chrome.system.display.
"system.memory" Autorise votre extension à accéder à l'API chrome.system.memory.
"system.storage" Autorise votre extension à accéder à l'API chrome.system.storage.
"tabCapture" Autorise votre extension à accéder à l'API chrome.tabCapture.
"tabGroups" Autorise votre extension à accéder à l'API chrome.tabGroups.
"tabs" Autorise votre extension à accéder 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" Autorise votre extension à accéder à l'API chrome.topSites.
"tts" Autorise votre extension à accéder à l'API chrome.tts.
"ttsEngine" Autorise votre extension à accéder à l'API chrome.ttsEngine.
"unlimitedStorage" Fournit un quota illimité 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 Web SQL et au cache d'application (voir le problème 58985). En outre, pour le moment, elle n'est pas compatible avec les sous-domaines contenant des caractères génériques tels que http://*.example.com.
"vpnProvider" Autorise votre extension à accéder à l'API chrome.vpnProvider.
"wallpaper" Autorise votre extension à accéder à l'API chrome.wallpaper.
"webNavigation" Autorise votre extension à accéder à l'API chrome.webNavigation.
"webRequest" Autorise votre extension à accéder à l'API chrome.webRequest.
"webRequestBlocking" Obligatoire si l'extension utilise l'API chrome.webRequest de manière bloquante.