Per utilizzare la maggior parte delle API delle estensioni e delle funzionalità, devi dichiarare l'intent dell'estensione nei campi delle autorizzazioni del manifest. Le estensioni possono richiedere le seguenti categorie di autorizzazioni, specificate utilizzando le rispettive chiavi del manifest:
"permissions"- Contiene elementi di un elenco di stringhe note. Le modifiche potrebbero attivare un avviso.
"optional_permissions"- Concessa dall'utente in fase di runtime, anziché in fase di installazione.
"content_scripts.matches"- Contiene uno o più pattern di corrispondenza che consentono agli script dei contenuti di essere inseriti in uno o più host. Le modifiche potrebbero attivare un avviso.
"host_permissions"- Contiene uno o più pattern di corrispondenza che forniscono l'accesso a uno o più host. Le modifiche potrebbero attivare un avviso.
"optional_host_permissions"- Concessa dall'utente in fase di runtime, anziché in fase di installazione.
Le autorizzazioni contribuiscono a limitare i danni se la tua estensione viene compromessa da malware. Alcuni avvisi relativi alle autorizzazioni vengono mostrati agli utenti per il loro consenso prima dell'installazione o al runtime, come descritto in Autorizzazione con avvisi.
Valuta la possibilità di utilizzare le autorizzazioni facoltative ovunque la funzionalità della tua estensione lo consenta, per fornire agli utenti un controllo informato sull'accesso a risorse e dati.
Se un'API richiede un'autorizzazione, la relativa documentazione spiega come dichiararla. Per un esempio, consulta API Storage.
Manifest
Di seguito è riportato un esempio della sezione delle autorizzazioni di un file manifest:
manifest.json:
{
"name": "Permissions Extension",
...
"permissions": [
"activeTab",
"contextMenus",
"storage"
],
"optional_permissions": [
"topSites",
],
"host_permissions": [
"https://www.developer.chrome.com/*"
],
"optional_host_permissions":[
"https://*/*",
"http://*/*"
],
...
"manifest_version": 3
}
Autorizzazioni host
Le autorizzazioni host consentono alle estensioni di interagire con i pattern di corrispondenza dell'URL. Alcune API Chrome richiedono autorizzazioni host oltre alle proprie autorizzazioni API, che sono documentate in ogni pagina di riferimento. Ecco alcuni esempi:
- Effettua richieste
fetch()dal service worker dell'estensione e dalle pagine dell'estensione. - Leggi ed esegui query sulle proprietà delle schede sensibili (url, titolo e favIconUrl) utilizzando l'API
browser.tabs. - Inserisci uno script di contenuti a livello di programmazione.
- Monitora e controlla le richieste di rete con l'API
browser.webRequest. - Accedi ai cookie con l'API
browser.cookies. - Reindirizza e modifica le richieste e le intestazioni delle risposte utilizzando l'API
browser.declarativeNetRequest.
In alcuni casi speciali, le autorizzazioni host non sono richieste. tra cui:
- Utilizzo dell'API
chrome.tabsper accedere alle schede e modificarle, incluso l'accesso all'URL della scheda se disponi dell'autorizzazionetabs. - Interagire con il browser utilizzando l'API
chrome.debugger. - Consente l'inserimento di uno script di contenuti dichiarato nel manifest.
Autorizzazioni con avvisi
Quando un'estensione richiede più autorizzazioni e molte di queste mostrano avvisi durante l'installazione, l'utente vedrà un elenco di avvisi, come nel seguente esempio:

Gli utenti tendono a fidarsi di più di un'estensione con avvisi limitati o quando le autorizzazioni vengono spiegate. Valuta la possibilità di implementare autorizzazioni facoltative o un'API meno potente per evitare avvisi allarmanti. Per le best practice relative agli avvisi, consulta le linee guida per gli avvisi relativi alle autorizzazioni. Avvisi specifici sono elencati con le autorizzazioni a cui si applicano nell'elenco di riferimento Autorizzazioni.
L'aggiunta o la modifica dei pattern di corrispondenza nei campi "host_permissions" e "content_scripts.matches"
del file manifest attiverà anche un avviso. Per scoprire di più, vedi
Aggiornamento delle autorizzazioni.
Consenti accesso
Se la tua estensione deve essere eseguita su URL file:// o operare in modalità di navigazione in incognito, gli utenti devono concedere l'accesso all'estensione nella pagina dei dettagli. Puoi trovare le istruzioni per aprire la pagina dei dettagli in Gestisci le estensioni.
Consenti l'accesso agli URL dei file e alle pagine in incognito
- Fai clic con il tasto destro del mouse sull'icona dell'estensione in Chrome.
Scegli Gestisci estensione.
Menu delle estensioni Scorri verso il basso per attivare l'accesso agli URL dei file o alla modalità di navigazione in incognito.
Accesso abilitato agli URL dei file e alla modalità di navigazione in incognito.
Per rilevare se l'utente ha consentito l'accesso, puoi chiamare extension.isAllowedIncognitoAccess() o
extension.isAllowedFileSchemeAccess().