Déclarer des autorisations

Pour utiliser la plupart des API et fonctionnalités d'extension, vous devez déclarer l'intent de votre extension dans les champs d'autorisation du fichier manifeste. Les extensions peuvent demander les catégories d'autorisations suivantes, spécifiées à l'aide de leurs clés de fichier manifeste respectives:

"permissions"
Contient les éléments d'une liste de chaînes connues. Les modifications peuvent déclencher un avertissement.
"optional_permissions"
Accordée par l'utilisateur au moment de l'exécution, et non au moment de l'installation.
"content_scripts.matches"
Contient un ou plusieurs formats de correspondance qui permettent à des scripts de contenu d'être injectés dans un ou plusieurs hôtes. Les modifications peuvent déclencher un avertissement.
"host_permissions"
Contient un ou plusieurs formats de correspondance qui donnent accès à un ou plusieurs hôtes. Les modifications peuvent déclencher un avertissement.
"optional_host_permissions"
Accordée 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 d'autorisation sont présentés aux utilisateurs avec leur consentement avant l'installation ou au moment de l'exécution, comme indiqué dans la section Autorisation avec avertissements.

Pensez à utiliser des autorisations facultatives lorsque la fonctionnalité de votre extension le permet, afin de permettre aux utilisateurs de contrôler 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 la page API Storage.

Manifest

Voici un exemple de section sur les 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 d'hôte

Les autorisations d'hôte permettent aux extensions d'interagir avec les formats correspondants de l'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 et qu'un grand nombre d'entre elles affichent des avertissements lors de l'installation, l'utilisateur voit une liste d'avertissements, comme dans l'exemple suivant:

Avertissements concernant l'autorisation de l'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 Consignes concernant les avertissements concernant les autorisations. Les avertissements spécifiques sont répertoriés avec les autorisations auxquelles ils s'appliquent dans la liste de référence Autorisations.

L'ajout ou la modification de modèles de correspondance dans les champs "host_permissions" et "content_scripts.matches" du fichier manifeste déclenche également un avertissement. Pour en savoir plus, consultez la section 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 autoriser l'extension à accéder à 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 de 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 "Extension"
  3. Faites défiler la page vers le bas pour activer l'accès aux URL de fichiers ou le mode navigation privée.

    Autoriser les URL de fichiers et le mode navigation privée sur la page d'informations de l'extension
    Accès aux URL de fichier et au mode navigation privée activé.

Pour détecter si l'utilisateur a autorisé l'accès, vous pouvez appeler extension.isAllowedIncognitoAccess() ou extension.isAllowedFileSchemeAccess().