Dichiara le autorizzazioni

Per utilizzare la maggior parte delle API di estensione 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 manifest:

"permissions"
Contiene elementi di un elenco di stringhe note. Le modifiche possono attivare un avviso.
"optional_permissions"
Concesso dall'utente durante il runtime, anziché al momento dell'installazione.
"content_scripts.matches"
Contiene uno o più pattern di corrispondenza che consentono l'inserimento degli script di contenuti in uno o più host. Le modifiche possono attivare un avviso.
"host_permissions"
Contiene uno o più pattern di corrispondenza che consentono l'accesso a uno o più host. Le modifiche possono attivare un avviso.
"optional_host_permissions"
Concesso dall'utente durante il runtime, anziché al momento dell'installazione.

Le autorizzazioni consentono di limitare i danni se l'estensione viene compromessa da malware. Alcuni avvisi di autorizzazione vengono mostrati agli utenti per richiedere il loro consenso prima dell'installazione o in fase di runtime, come descritto in Autorizzazione con avvisi.

Valuta la possibilità di utilizzare le autorizzazioni facoltative ovunque lo consenta la funzionalità della tua estensione, per fornire agli utenti un controllo informato sull'accesso alle risorse e ai dati.

Se un'API richiede un'autorizzazione, la relativa documentazione spiega come dichiararla. Per un esempio, consulta la sezione API Storage.

Manifest

Di seguito è riportato un esempio della sezione relativa alle 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 corrispondenti dell'URL. Alcune API di Chrome richiedono autorizzazioni per l'host oltre alle proprie autorizzazioni API, documentate in ogni pagina di riferimento. Ecco alcuni esempi:

Autorizzazioni con avvisi

Quando un'estensione richiede più autorizzazioni e molti di questi mostrano avvisi al momento dell'installazione, l'utente vedrà un elenco di avvisi, come nell'esempio seguente:

Avvisi relativi alle autorizzazioni delle estensioni al momento dell'installazione

Gli utenti sono più propensi a considerare attendibile un'estensione con avvisi limitati o quando vengono spiegate le autorizzazioni. Valuta la possibilità di implementare le autorizzazioni facoltative o un'API meno potente per evitare di allarmi avvisi. Per le best practice relative agli avvisi, consulta le linee guida per gli avvisi di autorizzazione. Sono elencati avvisi specifici con le autorizzazioni a cui si applicano nell'elenco di riferimento Autorizzazioni.

Anche l'aggiunta o la modifica di pattern di corrispondenza nei campi "host_permissions" e "content_scripts.matches" del file manifest attiverà un avviso. Per scoprire di più, consulta Aggiornare le autorizzazioni.

Consenti accesso

Se l'estensione deve essere eseguita sugli URL di file:// o operare in modalità di navigazione in incognito, gli utenti devono concedere l'accesso all'estensione nella relativa pagina dei dettagli. Puoi trovare le istruzioni per aprire la pagina dei dettagli nella sezione Gestire le estensioni.

Consenti l'accesso agli URL dei file e alle pagine di navigazione in incognito

  1. Fai clic con il tasto destro del mouse sull'icona dell'estensione in Chrome.
  2. Scegli Gestisci estensione.

    Menu contestuale dell'estensione
    Menu Estensione
  3. Scorri verso il basso per attivare l'accesso agli URL dei file o alla modalità di navigazione in incognito.

    Consenti gli URL dei file e la modalità di navigazione in incognito nella pagina dei dettagli dell'estensione
    Accesso attivato per gli URL dei file e in modalità di navigazione in incognito.

Per rilevare se l'utente ha consentito l'accesso, puoi chiamare extension.isAllowedIncognitoAccess() o extension.isAllowedFileSchemeAccess().