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 configuration et de leurs types, ainsi qu'une description lisible des paramètres en anglais.

Dans l'exemple ci-dessous, l'API Schema Service représente un paramètre permettant d'afficher un bouton de déconnexion dans la barre d'état système de Chrome. Une représentation simplifiée de ce paramètre serait 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'identifiant 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 portée 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 requise pour le rôle d'administrateur
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   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 du schéma de stratégie

Certaines règles nécessitent des contextes supplémentaires pour pouvoir être consultées ou modifiées. Exemple :

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

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

Pour en savoir plus, consultez la page 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 espaces de noms ci-dessus sont destinés aux règles relatives aux applications, telles que les règles relatives aux applications utilisateur, aux applications kiosque, aux applications de sessions Invité gérées et aux 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 associés au libellé LABEL_REPEATED représentent des champs à plusieurs valeurs, comme 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 dispose d'un objet policyApiLifecycle pour représenter son état actuel. Cet objet contient les champs suivants avec des détails sur l'état de la règle:

  • Le champ policyApiLifecycleStage indique l'étape du tableau suivant qui décrit le mieux l'état actuel de la règle.
  • Le champ description donne plus d'informations sur l'état actuel de cette règle.
  • Le champ endSupport indique la date de prise en charge finale de la stratégie, le cas échéant.
  • 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 abandonnée.
  • Le champ scheduledToDeprecatePolicies correspond à obsolèteInFavorOf. Il indique le ou les espaces de noms complets des anciennes règles qui seront abandonnées 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 à API_CURRENT ou API_DEVELOPMENT.
API_DEVELOPMENT Le règlement n'est pas encore finalisé. Il se peut donc que des modifications destructives soient apportées. Cette étape peut être transférée à API_CURRENT ou API_DEPRECATED.
API_CURRENT Le règlement est un format officiel, mais des modifications non destructives peuvent être introduites. Cette étape peut être transférée à 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 des règles

Certaines règles sont associées à des notices, et acknowledgement_required est défini sur true pour les valeurs de certains champs de règle. 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