Déclarer des autorisations

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 :

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 :

Avertissements concernant les autorisations d'extension lors de l'installation

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

  1. Effectuez un clic droit sur l'icône de l'extension dans Chrome.
  2. Sélectionnez Gérer l'extension.

    Menu contextuel de l'extension
    Menu des extensions
  3. Faites défiler la page vers le bas pour activer l'accès aux URL de fichier ou au mode navigation privée.

    Autoriser les URL de fichier et le mode navigation privée sur la page d'informations de l'extension
    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().