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 :

json
{
  "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 :

js
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

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

Le fichier json ressemblerait à ceci :

json
{
  "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é des navigateurs

BCD tables only load in the browser

Example extensions

Note :

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.