Dichiara le autorizzazioni

Per usare la maggior parte di Chrome.* API, l'estensione o l'app deve dichiarare il proprio intent nel campo "autorizzazioni" del manifest. Ogni autorizzazione può essere un elenco di stringhe note (ad esempio "geolocalizzazione") o un pattern di corrispondenza che consente l'accesso a uno o più host. Le autorizzazioni consentono di limitare i danni se la tua estensione o app viene compromessa da malware. Alcune autorizzazioni vengono mostrate anche agli utenti prima dell'installazione, come descritto in Avvisi di autorizzazione.

Se un'API richiede la dichiarazione di un'autorizzazione nel manifest, la relativa documentazione ti spiega come farlo. Ad esempio, la pagina Archiviazione mostra come dichiarare l'autorizzazione "Archiviazione".

Ecco un esempio della parte relativa alle autorizzazioni in un file manifest:

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

Nella tabella seguente sono elencate le autorizzazioni attualmente disponibili:

Autorizzazione Descrizione
"activeTab" Consente di concedere all'estensione le autorizzazioni in base alla specifica activeTab.
"alarms" Concede all'estensione l'accesso all'API chrome.alarms.
"background"

Consente l'avvio anticipato e l'arresto di Chrome in ritardo, in modo che app ed estensioni possano avere una durata maggiore.

Quando un'app ospitata, un'app in pacchetto o un'estensione installata dispone dell'autorizzazione in background, Chrome viene eseguito (in modo invisibile) non appena l'utente accede al computer, prima che l'utente avvii Chrome. Inoltre, l'autorizzazione "in background" continua a eseguire Chrome (anche dopo la chiusura dell'ultima finestra) finché l'utente non chiude esplicitamente Chrome.

Nota: le app e le estensioni disattivate vengono trattate come se non fossero installate.

In genere, utilizzi l'autorizzazione "in background" con una pagina di sfondo, una pagina dell'evento o (per le app in hosting) una finestra di sfondo.

"bookmarks" Concede all'estensione l'accesso all'API chrome.bookmarks.
"browsingData" Concede all'estensione l'accesso all'API chrome.browsingData.
"certificateProvider" Concede all'estensione l'accesso all'API chrome.certificateProvider.
"clipboardRead" Obbligatorio se l'estensione o l'app utilizza document.execCommand('paste').
"clipboardWrite" Indica che l'estensione o l'app utilizza document.execCommand('copy') o document.execCommand('cut'). Questa autorizzazione è obbligatoria per le app in hosting; è consigliata per le estensioni e le app in pacchetto.
"contentSettings" Concede all'estensione l'accesso all'API chrome.contentSettings.
"contextMenus" Concede alla tua estensione l'accesso all'API chrome.contextMenus.
"cookies" Concede alla tua estensione l'accesso all'API chrome.cookies.
"debugger" Concede all'estensione l'accesso all'API chrome.debugger.
"declarativeContent" Concede all'estensione l'accesso all'API chrome.declarativeContent.
"declarativeNetRequest" Concede all'estensione l'accesso all'API chrome.declarativeNetRequest.
"declarativeNetRequestFeedback" Concede all'estensione l'accesso a eventi e metodi all'interno dell'API chrome.declarativeNetRequest, che restituiscono informazioni sulle regole dichiarative corrispondenti.
"declarativeWebRequest" Concede all'estensione l'accesso all'API chrome.declarativeWebRequest.
"desktopCapture" Concede all'estensione l'accesso all'API chrome.desktopCapture.
"documentScan" Concede all'estensione l'accesso all'API chrome.documentScan.
"downloads" Concede alla tua estensione l'accesso all'API chrome.downloads.
"enterprise.deviceAttributes" Concede all'estensione l'accesso all'API chrome.enterprise.deviceAttributes.
"enterprise.hardwarePlatform" Concede all'estensione l'accesso all'API chrome.enterprise.hardwarePlatform.
"enterprise.networkingAttributes" Concede all'estensione l'accesso all'API chrome.enterprise.networkingAttributes.
"enterprise.platformKeys" Concede alla tua estensione l'accesso all'API chrome.enterprise.platformKeys.
"experimental" Obbligatorio se l'estensione o l'app utilizza chrome.experimental.* API.
"fileBrowserHandler" Concede alla tua estensione l'accesso all'API chrome.fileBrowserHandler.
"fileSystemProvider" Concede all'estensione l'accesso all'API chrome.fileSystemProvider.
"fontSettings" Concede alla tua estensione l'accesso all'API chrome.fontSettings.
"gcm" Concede all'estensione l'accesso all'API chrome.gcm.
"geolocation" Consente all'estensione o all'app di utilizzare l'API di geolocalizzazione senza richiedere l'autorizzazione all'utente.
"history" Concede alla tua estensione l'accesso all'API chrome.history.
"identity" Concede all'estensione l'accesso all'API chrome.identity.
"idle" Concede all'estensione l'accesso all'API chrome.idle.
"loginState" Concede all'estensione l'accesso all'API chrome.loginState.
"management" Concede all'estensione l'accesso all'API chrome.management.
"nativeMessaging" Concede alla tua estensione l'accesso all'API di messaggistica nativa.
"notifications" Concede all'estensione l'accesso all'API chrome.notifications.
"pageCapture" Concede all'estensione l'accesso all'API chrome.pageCapture.
"platformKeys" Concede alla tua estensione l'accesso all'API chrome.platformKeys.
"power" Concede all'estensione l'accesso all'API chrome.power.
"printerProvider" Concede all'estensione l'accesso all'API chrome.printerProvider.
"printing" Concede all'estensione l'accesso all'API chrome.printing.
"printingMetrics" Concede all'estensione l'accesso all'API chrome.printingMetrics.
"privacy" Concede alla tua estensione l'accesso all'API chrome.privacy.
"processes" Concede all'estensione l'accesso all'API chrome.processes.
"proxy" Concede all'estensione l'accesso all'API chrome.proxy.
"scripting" Concede all'estensione l'accesso all'API chrome.scripting.
"sessions" Concede all'estensione l'accesso all'API chrome.sessions.
"signedInDevices" Concede all'estensione l'accesso all'API chrome.signedInDevices.
"storage" Concede alla tua estensione l'accesso all'API chrome.storage.
"system.cpu" Concede all'estensione l'accesso all'API chrome.system.cpu.
"system.display" Concede all'estensione l'accesso all'API chrome.system.display.
"system.memory" Concede all'estensione l'accesso all'API chrome.system.memory.
"system.storage" Concede all'estensione l'accesso all'API chrome.system.storage.
"tabCapture" Concede all'estensione l'accesso all'API chrome.tabCapture.
"tabGroups" Concede all'estensione l'accesso all'API chrome.tabGroups.
"tabs" Concede all'estensione l'accesso ai campi con privilegi degli oggetti Tab utilizzati da diverse API, tra cui chrome.tabs e chrome.windows. In molti casi, l'estensione non dovrà dichiarare l'autorizzazione "tabs" per utilizzare queste API.
"topSites" Concede alla tua estensione l'accesso all'API chrome.topSites.
"tts" Concede alla tua estensione l'accesso all'API chrome.tts.
"ttsEngine" Concede all'estensione l'accesso all'API chrome.ttsEngine.
"unlimitedStorage" Offre una quota illimitata per l'archiviazione dei dati lato client, come database e file di archiviazione locale. Senza questa autorizzazione, l'estensione o l'app è limitata a 5 MB di spazio di archiviazione locale.
Nota: questa autorizzazione si applica solo al database SQL web e alla cache dell'applicazione (vedi il problema 58985). Inoltre, attualmente non funziona con i sottodomini con caratteri jolly, come http://*.example.com.
"vpnProvider" Concede all'estensione l'accesso all'API chrome.vpnProvider.
"wallpaper" Concede all'estensione l'accesso all'API chrome.wallpaper.
"webNavigation" Concede all'estensione l'accesso all'API chrome.webNavigation.
"webRequest" Concede all'estensione l'accesso all'API chrome.webRequest.
"webRequestBlocking" Obbligatorio se l'estensione utilizza l'API chrome.webRequest in modalità di blocco.