Per utilizzare la maggior parte delle API chrome.* API, l'estensione o l'app deve dichiarare l'intent nel campo "permissions" del manifest. Ogni autorizzazione può essere una di un elenco di stringhe note (ad esempio "geolocation") o un pattern di corrispondenza che consente l'accesso a uno o più host. Le autorizzazioni aiutano a limitare i danni se l'estensione o l'app viene compromessa da malware. Alcune autorizzazioni vengono mostrate agli utenti anche prima dell'installazione, come descritto in Avvisi relativi alle autorizzazioni.
Se un'API richiede di dichiarare un'autorizzazione nel manifest, la documentazione spiega come fare. Ad esempio, la pagina Storage mostra come dichiarare l'autorizzazione "storage".
Ecco un esempio della sezione delle autorizzazioni di un file manifest:
"permissions": [
"tabs",
"bookmarks",
"http://www.blogger.com/",
"http://*.google.com/",
"unlimitedStorage"
],
La tabella seguente elenca le autorizzazioni attualmente disponibili:
| Autorizzazione | Descrizione |
|---|---|
"activeTab" |
Richiede che all'estensione vengano concesse le autorizzazioni in base alla specifica activeTab. |
"alarms" |
Consente all'estensione di accedere all'API chrome.alarms. |
"background" |
Consente di avviare Chrome in anticipo e di arrestarlo in ritardo, in modo che le app e le estensioni possano avere una durata maggiore. Quando un'app in hosting, un'app pacchettizzata o un'estensione installata dispone dell'autorizzazione "background", Chrome viene eseguito (in modo invisibile) non appena l'utente accede al computer, prima che l'utente avvii Chrome. L'autorizzazione "background" fa sì che Chrome continui a essere eseguito (anche dopo la chiusura dell'ultima finestra) finché l'utente non esce esplicitamente da Chrome. Nota: le app e le estensioni disattivate vengono trattate come se non fossero installate.
In genere, l'autorizzazione "background" viene utilizzata con una pagina di sfondo, una pagina degli eventi o (per le app in hosting) una finestra di sfondo. |
"bookmarks" |
Consente all'estensione di accedere all'API chrome.bookmarks. |
"browsingData" |
Consente all'estensione di accedere all'API chrome.browsingData. |
"certificateProvider" |
Consente all'estensione di accedere 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 ed è consigliata per le estensioni e le app pacchettizzate. |
"contentSettings" |
Consente all'estensione di accedere all'API chrome.contentSettings. |
"contextMenus" |
Consente all'estensione di accedere all'API chrome.contextMenus. |
"cookies" |
Consente all'estensione di accedere all'API chrome.cookies. |
"debugger" |
Consente all'estensione di accedere all'API chrome.debugger. |
"declarativeContent" |
Consente all'estensione di accedere all'API chrome.declarativeContent. |
"declarativeNetRequest" |
Consente all'estensione di accedere 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" |
Consente all'estensione di accedere all'API chrome.declarativeWebRequest. |
"desktopCapture" |
Consente all'estensione di accedere all'API chrome.desktopCapture. |
"documentScan" |
Consente all'estensione di accedere all'API chrome.documentScan. |
"downloads" |
Consente all'estensione di accedere all'API chrome.downloads. |
"enterprise.deviceAttributes" |
Consente all'estensione di accedere all'API chrome.enterprise.deviceAttributes. |
"enterprise.hardwarePlatform" |
Consente all'estensione di accedere all'API chrome.enterprise.hardwarePlatform. |
"enterprise.networkingAttributes" |
Consente all'estensione di accedere all'API chrome.enterprise.networkingAttributes. |
"enterprise.platformKeys" |
Consente all'estensione di accedere all'API chrome.enterprise.platformKeys. |
"experimental" |
Obbligatorio se l'estensione o l'app utilizza un'API chrome.experimental.* APIs. |
"fileBrowserHandler" |
Consente all'estensione di accedere all'API chrome.fileBrowserHandler. |
"fileSystemProvider" |
Consente all'estensione di accedere all'API chrome.fileSystemProvider. |
"fontSettings" |
Consente all'estensione di accedere all'API chrome.fontSettings. |
"gcm" |
Consente all'estensione di accedere all'API chrome.gcm. |
"geolocation" |
Consente all'estensione o all'app di utilizzare l'API di geolocalizzazione senza chiedere l'autorizzazione all'utente. |
"history" |
Consente all'estensione di accedere all'API chrome.history. |
"identity" |
Consente alla tua estensione di accedere all'API chrome.identity. |
"idle" |
Consente all'estensione di accedere all'API chrome.idle. |
"loginState" |
Consente all'estensione di accedere all'API chrome.loginState. |
"management" |
Consente all'estensione di accedere all'API chrome.management. |
"nativeMessaging" |
Consente all'estensione di accedere all'API di messaggistica nativa. |
"notifications" |
Consente all'estensione di accedere all'API chrome.notifications. |
"pageCapture" |
Consente all'estensione di accedere all'API chrome.pageCapture. |
"platformKeys" |
Consente all'estensione di accedere all'API chrome.platformKeys. |
"power" |
Consente all'estensione di accedere all'API chrome.power. |
"printerProvider" |
Consente all'estensione di accedere all'API chrome.printerProvider. |
"printing" |
Consente all'estensione di accedere all'API chrome.printing. |
"printingMetrics" |
Consente all'estensione di accedere all'API chrome.printingMetrics. |
"privacy" |
Consente all'estensione di accedere all'API chrome.privacy. |
"processes" |
Consente all'estensione di accedere all'API chrome.processes. |
"proxy" |
Consente all'estensione di accedere all'API chrome.proxy. |
"scripting" |
Consente all'estensione di accedere all'API chrome.scripting. |
"search" |
Consente all'estensione di accedere all'API chrome.search. |
"sessions" |
Consente all'estensione di accedere all'API chrome.sessions. |
"signedInDevices" |
Consente all'estensione di accedere all'API chrome.signedInDevices. |
"storage" |
Consente all'estensione di accedere all'API chrome.storage. |
"system.cpu" |
Consente all'estensione di accedere all'API chrome.system.cpu. |
"system.display" |
Consente all'estensione di accedere all'API chrome.system.display. |
"system.memory" |
Consente all'estensione di accedere all'API chrome.system.memory. |
"system.storage" |
Consente all'estensione di accedere all'API chrome.system.storage. |
"tabCapture" |
Consente all'estensione di accedere all'API chrome.tabCapture. |
"tabGroups" |
Consente all'estensione di accedere all'API chrome.tabGroups. |
"tabs" |
Consente all'estensione di accedere ai campi con privilegi degli oggetti Tab utilizzati da diverse API, tra cui chrome.tabs e chrome.windows. In
molte circostanze, l'estensione non dovrà dichiarare l'autorizzazione "tabs" per utilizzare
queste API. |
"topSites" |
Consente alla tua estensione di accedere all'API chrome.topSites. |
"tts" |
Consente all'estensione di accedere all'API chrome.tts. |
"ttsEngine" |
Consente all'estensione di accedere all'API chrome.ttsEngine. |
"unlimitedStorage" |
Fornisce una quota illimitata per l'archiviazione di 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, al momento non funziona con i sottodomini con caratteri jolly come
http://*.example.com. |
"vpnProvider" |
Consente all'estensione di accedere all'API chrome.vpnProvider. |
"webNavigation" |
Consente all'estensione di accedere all'API chrome.webNavigation. |
"webRequest" |
Consente all'estensione di accedere all'API chrome.webRequest. |
"webRequestBlocking" |
Obbligatorio se l'estensione utilizza l'API chrome.webRequest in modo bloccante. |