Schémas de stratégie

Les règles Chrome sont représentées par des schémas de règles par l'API Schema Service. Chaque schéma de règle possède un nom unique permettant de l'identifier, une définition des champs de paramètres et de leur type, ainsi qu'une description lisible des paramètres en anglais.

Vous trouverez ci-dessous un exemple de paramètre permettant à l'API Schema Service de s'afficher dans la barre d'état système de Chrome. Voici une représentation simplifiée de ce paramètre : bool showLogoutButtonInTray. Cliquez sur "Afficher un exemple" ci-dessous pour découvrir comment l'API Schema Service représente ce paramètre.

Afficher un exemple

{
  "name": "customers/C0202nabg/policySchemas/chrome.users.ShowLogoutButton",
  "policyDescription": "Show logout button in tray.", // description of the policy
  "definition": { // definition of the settings (fields names and types)
    "messageType": [
      {
        "name": "ShowLogoutButton",
        "field": [
          {
            "name": "showLogoutButtonInTray", // the setting showLogoutButtonInTray
            "number": 1,
            "label": "LABEL_OPTIONAL",
            "type": "TYPE_BOOL" // the setting showLogoutButtonInTray is of type boolean
          }
        ]
      }
    ]
  },
  "fieldDescriptions": [ // human readable descriptions of the settings and their values
    {
      "field": "showLogoutButtonInTray",
      "knownValueDescriptions": [
        {
          "value": "true",
          "description": "Show logout button in tray." // description for showLogoutButtonInTray=true
        },
        {
          "value": "false",
          "description": "Do not show logout button in tray." // description for showLogoutButtonInTray=false
        }
      ]
    }
  ],
  "schemaName": "chrome.users.ShowLogoutButton" //  unique name to identify the policy
}
  

Noms des schémas de stratégie

L'élément name d'un schéma est son identifiant unique, au format suivant : {namespace}.{leafName}.

Dans l'exemple ci-dessus, le nom de schéma complet est chrome.users.ShowLogoutButton. L'espace de noms est chrome.users. et le nom de la feuille est ShowLogoutButton.

Les règles de champ d'application similaire sont regroupées sous le même espace de noms. Par exemple, tous les schémas de règles utilisateur sont précédés d'un espace de noms chrome.users. et tous les schémas de règles d'imprimante sont précédés d'un espace de noms chrome.printers..

Espaces de noms

Espace de noms Clé Autorisation de rôle d'administrateur requise
chrome.users.LEAF_NAME   Services > Gestion de Chrome > Paramètres > Gérer les paramètres utilisateur
chrome.users.apps.LEAF_NAME key="app_id" Services > Gestion de Chrome > Paramètres > Gérer les paramètres utilisateur > Gérer les paramètres des applications
chrome.users.appsconfig.LEAF_NAME   Services > Gestion de Chrome > Paramètres > Gérer les paramètres utilisateur > Gérer les paramètres des applications
chrome.devices.LEAF_NAME   Services > Gestion de Chrome > Paramètres > Gérer les paramètres des appareils ChromeOS
chrome.devices.managedguest.LEAF_NAME   Services > Gestion de Chrome > Paramètres > Gérer les paramètres des appareils ChromeOS
chrome.devices.managedguest.apps.LEAF_NAME key="app_id" Services > Gestion de Chrome > Paramètres > Gérer les paramètres des appareils ChromeOS
chrome.devices.kiosk.LEAF_NAME   Services > Gestion de Chrome > Paramètres > Gérer les paramètres des appareils ChromeOS
chrome.devices.kiosk.apps.LEAF_NAME key="app_id" Services > Gestion de Chrome > Paramètres > Gérer les paramètres des appareils ChromeOS
chrome.devices.kiosk.appsconfig.LEAF_NAME key="app_id" Services > Gestion de Chrome > Paramètres > Gérer les paramètres des appareils ChromeOS
chrome.printers.LEAF_NAME key="printer_id" Services > Gestion de Chrome > Paramètres > Gérer les imprimantes
chrome.printservers.LEAF_NAME key="print_server_id" Services > Gestion de Chrome > Paramètres > Gérer les imprimantes
chrome.networks.globalsettings.LEAF_NAME   Services > Paramètres des appareils partagés
chrome.networks.wifi.LEAF_NAME key="network_id" Services > Paramètres des appareils partagés
chrome.networks.ethernet.LEAF_NAME key="network_id" Services > Paramètres des appareils partagés
chrome.networks.vpn.LEAF_NAME key="network_id" Services > Paramètres des appareils partagés
chrome.networks.certificates.LEAF_NAME key="network_id" Services > Paramètres des appareils partagés

Clés de schéma de stratégie

Certaines règles nécessitent davantage de contexte pour être affichées ou modifiées. Exemple :

  • Pour modifier la stratégie d'une application, vous devez la spécifier en indiquant key="app_id".
  • Pour modifier la règle des paramètres des imprimantes dans une unité organisationnelle, vous devez spécifier l'imprimante en indiquant key="printer_id".

Ces schémas de règle contiennent une section additionalTargetKeyNames qui décrit les clés et les valeurs à transmettre dans vos requêtes API.

Pour en savoir plus, consultez Exemples de code.

Afficher un exemple

{
  "name": "customers/C0202nabg/policySchemas/chrome.printers.AllowForUsers",
  "policyDescription": "Allows a printer for users in a given organization.",
  "additionalTargetKeyNames": [
    {
      "key": "printer_id",
      "keyDescription": "Id of printer as visible in Admin SDK printers API."
    }
  ],
  "definition": {
    "messageType": [
      {
        "name": "AllowForUsers",
        "field": [
          {
            "name": "allowForUsers",
            "number": 1,
            "label": "LABEL_OPTIONAL",
            "type": "TYPE_BOOL"
          }
        ]
      }
    ]
  },
  "fieldDescriptions": [
    {
      "field": "allowForUsers",
      "description": "Controls whether a printer is allowed for users in a given organization."
    }
  ],
  "schemaName": "chrome.printers.AllowForUsers"
}
  

Règles relatives aux applications

Certains des espaces de noms ci-dessus sont destinés aux règles relatives aux applications, telles que les applications utilisateur, les applications kiosque, les applications de session Invité gérée et les règles de configuration des applications kiosque. Les règles d'application nécessitent un app_id.

Un app_id est formé en combinant le type et l'identifiant d'application. Exemple :

  • chrome:mkaakpdehdafacodkgkpghoibnmamcme représente l'application Chrome "Google Drawings".
  • android:com.google.android.calendar représente l'application Android "Google Agenda".
  • web:https://canvas.apps.chrome représente l'application Web "Canvas".

Champs à valeurs multiples

Les champs portant le libellé LABEL_REPEATED représentent des champs à valeurs multiples, tels que des listes ou des tableaux. Vous pouvez attribuer plusieurs valeurs à ces champs. Pour en savoir plus, consultez les exemples de code.

État du schéma de stratégie

Chaque règle possède un objet policyApiLifecycle pour représenter son état actuel. Cet objet contient les champs suivants avec des détails sur l'état de la stratégie:

  • Le champ policyApiLifecycleStage indique laquelle des étapes du tableau suivant décrit le mieux l'état actuel de la règle.
  • Le champ description fournit plus de détails sur l'état actuel de cette règle.
  • Le champ endSupport indique la date finale de vérification de la stratégie, le cas échéant.
  • Le deprecatedInFavorOf ne peut être défini que si policyApiLifecycleStage est défini sur API_DEPRECATED. Elle indique le ou les espaces de noms complets des nouvelles règles pour lesquelles la règle actuelle est obsolète.
  • Le champ scheduledToDeprecatePolicies correspond à "DeprecatedInFavorOf". Elle indique le ou les espaces de noms complets des anciennes règles qui seront obsolètes en raison de l'introduction de cette règle.

Étapes du cycle de vie

Étape Description
API_UNSPECIFIED L'état actuel de la règle est inconnu. Réservé, ne pas utiliser.
API_PREVIEW La règle ne fonctionne pas encore. Cette étape peut être transférée vers API_CURRENT ou API_DEVELOPMENT.
API_DEVELOPMENT Le règlement n'est pas encore finalisé, et des modifications destructives peuvent y être apportées. Cette étape peut être transférée vers API_CURRENT ou API_DEPRECATED.
API_CURRENT Le règlement est dans un format officiel, mais des modifications non destructives peuvent être introduites. Cette étape peut être transférée vers API_DEPRECATED.
API_DEPRECATED Cette règle est obsolète et pourra être supprimée à l'avenir. Les administrateurs doivent cesser d'utiliser cette règle.

Afficher un exemple

{
  "name": "customers/C0202nabg/policySchemas/chrome.users.OutdatedPolicy",
  "policyDescription": "Just for demo, this is an outdated policy.",
  "definition": {
    "messageType": [
      {
        "name": "OutdatedPolicy",
        "field": [
          {
            "name": "outdatedField",
            "number": 1,
            "label": "LABEL_OPTIONAL",
            "type": "TYPE_BOOL"
          }
        ]
      }
    ]
  },
  "fieldDescriptions": [
    {
      "field": "outdatedField",
      "description": "This is an outdated field"
    }
  ],
  "schemaName": "chrome.users.OutdatedPolicy",
  "policyApiLifecycle": { // policy's current lifecycle status
    "policyApiLifecycleStage": "API_DEPRECATED",
    "description": "This policy is deprecated. Please stop using it",
    "endSupport": {
      "year": 2021,
      "month": 2,
      "day": 29
    }
    "deprecatedInFavorOf": "chrome.users.NewPolicy"
  }
}

{
  "name": "customers/C0202nabg/policySchemas/chrome.users.NewPolicy",
  "policyDescription": "Just for demo, this is a new policy.",
  "definition": {
    "messageType": [
      {
        "name": "NewPolicy",
        "field": [
          {
            "name": "newField",
            "number": 1,
            "label": "LABEL_OPTIONAL",
            "type": "TYPE_BOOL"
          }
        ]
      }
    ]
  },
  "fieldDescriptions": [
    {
      "field": "newField",
      "description": "This is an new field"
    }
  ],
  "schemaName": "chrome.users.NewPolicy",
  "policyApiLifecycle": { // policy's current lifecycle status
    "policyApiLifecycleStage": "API_CURRENT,
    "scheduledToDeprecatePolicies": "chrome.users.OutdatedPolicy"
  }
}
  

Avis concernant le schéma de stratégie

Certaines règles sont associées à des notices dont la valeur acknowledgement_required est définie sur true pour les valeurs de certains champs de règles. Pour ces règles, vous devez définir un champ d'accusé de réception spécial sur true avant de pouvoir définir la valeur.

Pour en savoir plus, consultez Exemples de code.

Plates-formes compatibles

supportedPlatforms est une liste qui indique que la règle ne s'applique qu'aux appareils ou aux utilisateurs de ces plates-formes. Toutes les plates-formes compatibles sont listées dans le tableau suivant.

Plate-forme compatible

Plate-forme Description
PLATFORM_UNSPECIFIED Plate-forme non spécifiée. Réservé, ne pas utiliser.
CHROME_OS ChromeOS
CHROME_BROWSER Navigateur Chrome pour macOS/Windows/Linux
CHROME_BROWSER_FOR_ANDROID Navigateur Chrome pour Android
CHROME_BROWSER_FOR_IOS Navigateur Chrome pour iOS

Étapes suivantes