Esquemas de políticas

La API de Schema Service representa las políticas de Chrome como esquemas de políticas. Cada esquema de política tiene un nombre único para identificarlo, una definición de los campos de configuración y sus tipos, y una descripción legible de la configuración en inglés.

Por ejemplo, a continuación se muestra cómo la API del servicio de Schema representa una configuración que permite que aparezca un botón de salida en la bandeja del sistema de Chrome. Una representación simplificada de esta configuración sería bool showLogoutButtonInTray. Haz clic en “Mostrar un ejemplo” a continuación para ver cómo la API del servicio de Schema representa esta configuración.

Mostrar un ejemplo

{
  "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
}
  

Nombres de esquemas de políticas

El name de un esquema es su identificador único, con el siguiente formato: {namespace}.{leafName}.

En el ejemplo anterior, el nombre completo del esquema es chrome.users.ShowLogoutButton. El espacio de nombres es chrome.users. y el nombre de la hoja es ShowLogoutButton.

Las políticas de alcance similar se agrupan en el mismo espacio de nombres. Por ejemplo, todos los esquemas de política del usuario tienen el prefijo de un espacio de nombres chrome.users. y todos los esquemas de política de la impresora tienen el prefijo de un espacio de nombres chrome.printers..

Espacios de nombres

Espacio de nombres Clave Permiso de rol de administrador requerido
chrome.users.LEAF_NAME   Servicios > Administración de Chrome > Configuración > Administrar la configuración de los usuarios
chrome.users.apps.LEAF_NAME key="app_id" Servicios > Administración de Chrome > Configuración > Administrar la configuración de los usuarios > Administrar la configuración de aplicaciones
chrome.users.appsconfig.LEAF_NAME   Servicios > Administración de Chrome > Configuración > Administrar la configuración de los usuarios > Administrar la configuración de aplicaciones
chrome.devices.LEAF_NAME   Servicios > Administración de Chrome > Configuración > Administrar la configuración de los dispositivos ChromeOS
chrome.devices.managedguest.LEAF_NAME   Servicios > Administración de Chrome > Configuración > Administrar la configuración de los dispositivos ChromeOS
chrome.devices.managedguest.apps.LEAF_NAME key="app_id" Servicios > Administración de Chrome > Configuración > Administrar la configuración de los dispositivos ChromeOS
chrome.devices.kiosk.LEAF_NAME   Servicios > Administración de Chrome > Configuración > Administrar la configuración de los dispositivos ChromeOS
chrome.devices.kiosk.apps.LEAF_NAME key="app_id" Servicios > Administración de Chrome > Configuración > Administrar la configuración de los dispositivos ChromeOS
chrome.devices.kiosk.appsconfig.LEAF_NAME key="app_id" Servicios > Administración de Chrome > Configuración > Administrar la configuración de los dispositivos ChromeOS
chrome.printers.LEAF_NAME key="printer_id" Servicios > Administración de Chrome > Configuración > Administrar impresoras
chrome.printservers.LEAF_NAME key="print_server_id" Servicios > Administración de Chrome > Configuración > Administrar impresoras
chrome.networks.globalsettings.LEAF_NAME   Servicios > Configuración del dispositivo compartido
chrome.networks.wifi.LEAF_NAME key="network_id" Servicios > Configuración del dispositivo compartido
chrome.networks.ethernet.LEAF_NAME key="network_id" Servicios > Configuración del dispositivo compartido
chrome.networks.vpn.LEAF_NAME key="network_id" Servicios > Configuración del dispositivo compartido
chrome.networks.certificates.LEAF_NAME key="network_id" Servicios > Configuración del dispositivo compartido

Claves de esquema de políticas

Algunas políticas requieren contexto adicional para poder consultarse o modificarse. Por ejemplo:

  • Para modificar la política de una aplicación, debes especificar qué aplicación propagando key="app_id".
  • Si quieres modificar la política de configuración de las impresoras en una unidad organizativa, debes especificar qué impresora propagando key="printer_id".

Estos esquemas de políticas contienen una sección additionalTargetKeyNames en la que se describen las claves y los valores que se pasarán en las solicitudes a la API.

Para obtener más detalles, consulta Muestras de código.

Mostrar un ejemplo

{
  "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"
}
  

Políticas de apps

Algunos de los espacios de nombres anteriores son para la política de apps, como las políticas de apps de usuario, apps de kiosco, apps de sesión de invitado administrada y políticas de configuración de apps de kiosco. Las políticas de apps requieren una app_id.

Una app_id se forma cuando se combinan el tipo de app y el identificador de la app. Por ejemplo:

  • chrome:mkaakpdehdafacodkgkpghoibnmamcme, que representa la app de Chrome "Dibujos de Google"
  • android:com.google.android.calendar representa la aplicación "Calendario de Google" para Android.
  • web:https://canvas.apps.chrome representa la aplicación web "Canvas".

Campos de valores múltiples

Los campos con la etiqueta LABEL_REPEATED representan campos de varios valores, como listas o arrays. Puedes asignar varios valores a estos campos. Para obtener más detalles, consulta las Muestras de código.

Estado del esquema de política

Cada política tiene un objeto policyApiLifecycle que representa su estado actual. Este objeto contiene los siguientes campos con detalles sobre el estado de la política:

  • El campo policyApiLifecycleStage muestra cuál de las etapas de la siguiente tabla describe mejor el estado actual de la política.
  • El campo description proporciona más detalles sobre el estado actual de esta política.
  • El campo endSupport muestra la fecha final de compatibilidad de la política, si se definió una.
  • La deprecatedInFavorOf solo se puede establecer si policyApiLifecycleStage es API_DEPRECATED. Muestra los espacios de nombres completamente calificados de las políticas nuevas que la política actual dejó de estar disponible.
  • El campo scheduledToDeprecatePolicies corresponde a expiryInFavorOf. Muestra los espacios de nombres completamente calificados de las políticas antiguas que dejarán de estar disponibles debido a la introducción de esta política.

Etapas del ciclo de vida

Etapa Descripción
API_UNSPECIFIED Se desconoce el estado actual de la política. Reservado, no usar.
API_PREVIEW La política aún no funciona. Esta etapa se puede transferir a API_CURRENT o API_DEVELOPMENT.
API_DEVELOPMENT Aún no se finalizó la política y es posible que se introduzcan cambios rotundos. Esta etapa se puede transferir a API_CURRENT o API_DEPRECATED.
API_CURRENT La política tiene un formato oficial, pero es posible que se realicen cambios no rotundos. Esta etapa puede transferirse a API_DEPRECATED.
API_DEPRECATED Esta política dejó de estar disponible y es posible que se quite en el futuro. Los administradores deben dejar de usar esta política.

Mostrar un ejemplo

{
  "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"
  }
}
  

Avisos del esquema de políticas

Algunas políticas tienen un notices asociado que tiene el acknowledgement_required configurado como true para ciertos valores de ciertos campos de la política. Para estas políticas, debes establecer un campo de confirmación especial en true antes de poder establecer el valor.

Para obtener más detalles, consulta Muestras de código.

Plataformas compatibles

supportedPlatforms es una lista que indica que la política solo se aplicará a dispositivos o usuarios de estas plataformas. Todas las plataformas compatibles se enumeran en la siguiente tabla.

Plataforma compatible

Plataforma Descripción
PLATFORM_UNSPECIFIED Plataforma no especificada. Reservado, no usar.
CHROME_OS ChromeOS
CHROME_BROWSER Navegador Chrome para macOS, Windows y Linux
CHROME_BROWSER_FOR_ANDROID Navegador Chrome para Android
CHROME_BROWSER_FOR_IOS Navegador Chrome para iOS

Próximos pasos