storage.managed

Un objet storage.StorageArea qui représente la zone de stockage gérée. Les éléments de stockage géré sont définis par l'administrateur du domaine ou d'autres applications natives installées sur l'ordinateur de l'utilisateur et sont en lecture seule pour l'extension. Essayer de modifier cette zone de stockage entraîne une erreur.

Provisionnement du stockage géré

La procédure de provisionnement du stockage géré est différente selon les navigateurs. Firefox a sa propre méthode mais (à partir de Firefox 67) peut aussi utiliser la fonction Storage.managed de Chrome qui supporte un fichier .json. ((Voir Stockage Chrome géré ci-dessous.)

manifestes natives

Pour Firefox, vous devez créer un fichier manifest JSON dans un format spécifique, dans un emplacement spécifique. Pour plus de détails sur la syntaxe et l'emplacement du manifeste, voir manifests natifs.

Voici un exemple de manifest :

{
  "name": "favourite-color-examples@mozilla.org",
  "description": "ignored",
  "type": "storage",
  "data":
  {
    "color": "management thinks it should be blue!"
  }
}

Compte tenu de ce manifeste, l'extension "favourite-color-examples@mozilla.org" pourrait accéder aux données en utilisant un code comme celui-ci :

var storageItem = browser.storage.managed.get('color');
storageItem.then((res) => {
  console.log(`Managed colur is: ${res.color}`);
});

Gestion de stockage dans Chrome

Firefox et Chrome supportent tous deux l'utilisation d'un manifeste pour les zones de stockage.

La zone de stockage gérée est configurée à l'aide d'un schéma JSON, qui est strictement validé par Chrome et Firefox 67 ou supérieur. Stockez le schéma dans un fichier.json et pointez-le depuis la propriété "managed_schema" de la clé de manifeste "storage" de l'extension web. Le fichier json déclare les stratégies d'entreprise supportées par l'extension.

Les stratégies définissent les options qui ont été configurées par un administrateur système au lieu de l'utilisateur. La gestion du stockage permet de préconfigurer une extension pour tous les utilisateurs d'une organisation.

C'est à l'extension d'appliquer les stratégies configurées par l'administrateur. L'extension peut lire les stratégies à l'aide de l'API storage.managed.

manifest.json

{
  "name": "chrome-storage-managed-examples@mozilla.org",
  "storage": {
      "managed_schema": "schema.json"
  },
}

Le fichier json ressemblerait à ceci :

{
  "type": "object",
  // "properties" maps an optional key of this object to its schema. At the
  // top-level object, these keys are the policy names supported.
  "properties": {
    // "title" and "description" are optional and are used to show a
    // user-friendly name and documentation to the administrator.
    "bookmarks": {
      "id": "DevTeamBookmarks",
      "title": "Dev Team bookmarks.",
      "description": "A set of bookmarks particularly useful to the dev team.",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
        "title": { "type": "string" },
        "url": { "type": "string" },
        "children": { "$ref": "ListOfBookmarks" }
      }
    }
  }
}

Pour plus d'informations, voir l'article de Chrome pour les zones de stockage Manifeste pour les zones de stockage.

Compatibilité du navigateur

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxOperaFirefox pour Android
managedChrome Support complet OuiEdge Aucun support NonFirefox Support complet 57
Notes
Support complet 57
Notes
Notes Platform-specific storage backends, such as Windows registry keys, are not supported.
Notes Enforcement of extension-provided storage schemas is not supported.
Notes The onChanged event is not supported.
Opera Aucun support NonFirefox Android Aucun support Non

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Voir les notes d'implémentation.
Voir les notes d'implémentation.

Example extensions

Remerciements :

Cette API est basée sur l'API Chromium chrome.storage. Cette documentation est dérivée de storage.json dans le code de Chromium.