Pour utiliser la plupart des API d'extension et des fonctionnalités, vous devez déclarer l'intention de votre extension dans les champs d'autorisation du manifeste. Les extensions peuvent demander les catégories d'autorisations suivantes, spécifiées à l'aide des clés de fichier manifeste correspondantes :
"permissions"- Contient des éléments d'une liste de chaînes connues. Les modifications peuvent déclencher un avertissement.
"optional_permissions"- Accordé par l'utilisateur au moment de l'exécution, et non au moment de l'installation.
"content_scripts.matches"- : contient un ou plusieurs modèles de correspondance qui permettent aux scripts de contenu de s'injecter dans un ou plusieurs hôtes. Les modifications peuvent déclencher un avertissement.
"host_permissions"- Contient un ou plusieurs modèles de correspondance qui donnent accès à un ou plusieurs hôtes. Les modifications peuvent déclencher un avertissement.
"optional_host_permissions"- Accordé par l'utilisateur au moment de l'exécution, et non au moment de l'installation.
Les autorisations permettent de limiter les dommages si votre extension est compromise par un logiciel malveillant. Certains avertissements concernant les autorisations sont affichés aux utilisateurs pour obtenir leur consentement avant l'installation ou lors de l'exécution, comme indiqué dans Autorisations avec avertissements.
Envisagez d'utiliser des autorisations facultatives chaque fois que la fonctionnalité de votre extension le permet, afin de donner aux utilisateurs un contrôle éclairé sur l'accès aux ressources et aux données.
Si une API nécessite une autorisation, sa documentation explique comment la déclarer. Pour obtenir un exemple, consultez API Storage.
Fichier manifeste
Voici un exemple de la section des autorisations d'un fichier manifeste :
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
}
Autorisations de l'organisateur
Les autorisations d'hôte permettent aux extensions d'interagir avec les formats de correspondance des URL. Certaines API Chrome nécessitent des autorisations d'hôte en plus de leurs propres autorisations d'API, qui sont documentées sur chaque page de référence. Voici quelques exemples :
- Effectuez des requêtes
fetch()à partir du service worker et des pages d'extension. - Lire et interroger les propriétés des onglets sensibles (url, title et favIconUrl) à l'aide de l'API
chrome.tabs. - Injectez un script de contenu de manière programmatique.
- Surveillez et contrôlez les requêtes réseau avec l'API
chrome.webRequest. - Accédez aux cookies avec l'API
chrome.cookies. - Redirigez et modifiez les en-têtes de requête et de réponse à l'aide de l'API
chrome.declarativeNetRequest.
Autorisations avec avertissements
Lorsqu'une extension demande plusieurs autorisations, dont beaucoup affichent des avertissements lors de l'installation, l'utilisateur voit une liste d'avertissements, comme dans l'exemple suivant :

Les utilisateurs sont plus susceptibles de faire confiance à une extension avec des avertissements limités ou lorsque les autorisations leur sont expliquées. Envisagez d'implémenter des autorisations facultatives ou une API moins puissante pour éviter les avertissements alarmants. Pour connaître les bonnes pratiques concernant les avertissements, consultez les Consignes relatives aux avertissements d'autorisation. Des avertissements spécifiques sont listés avec les autorisations auxquelles ils s'appliquent dans la liste de référence des autorisations.
L'ajout ou la modification de modèles de correspondance dans les champs "host_permissions" et "content_scripts.matches" du fichier manifeste déclenchera également un avertissement. Pour en savoir plus, consultez Mettre à jour les autorisations.
Autorisez l'accès
Si votre extension doit s'exécuter sur des URL file:// ou fonctionner en mode navigation privée, les utilisateurs doivent lui accorder l'accès sur sa page d'informations. Pour savoir comment ouvrir la page d'informations, consultez Gérer vos extensions.
Autoriser l'accès aux URL de fichier et aux pages en mode navigation privée
- Effectuez un clic droit sur l'icône de l'extension dans Chrome.
Sélectionnez Gérer l'extension.
Menu des extensions Faites défiler la page vers le bas pour activer l'accès aux URL de fichier ou au mode navigation privée.
L'accès aux URL de fichiers et au mode navigation privée est activé.
Pour détecter si l'utilisateur a autorisé l'accès, vous pouvez appeler extension.isAllowedIncognitoAccess() ou extension.isAllowedFileSchemeAccess().