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 de Schema Service representa un parámetro de configuración que permite que aparezca un botón para salir 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 de servicio de esquema 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 permiso similar se agrupan en el mismo espacio de nombres. Por ejemplo, todos los esquemas de políticas 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 usuario
chrome.users.apps.LEAF_NAME key="app_id" Servicios > Administración de Chrome > Configuración > Administrar configuración de usuario > Administrar la configuración de aplicaciones
chrome.users.appsconfig.LEAF_NAME   Servicios > Administración de Chrome > Configuración > Administrar configuración de usuario > Administrar la configuración de aplicaciones
chrome.devices.LEAF_NAME   Servicios > Administración de Chrome > Configuración > Administrar la configuración de dispositivos ChromeOS
chrome.devices.managedguest.LEAF_NAME   Servicios > Administración de Chrome > Configuración > Administrar la configuración de dispositivos ChromeOS
chrome.devices.managedguest.apps.LEAF_NAME key="app_id" Servicios > Administración de Chrome > Configuración > Administrar la configuración de dispositivos ChromeOS
chrome.devices.kiosk.LEAF_NAME   Servicios > Administración de Chrome > Configuración > Administrar la configuración de dispositivos ChromeOS
chrome.devices.kiosk.apps.LEAF_NAME key="app_id" Servicios > Administración de Chrome > Configuración > Administrar la configuración de dispositivos ChromeOS
chrome.devices.kiosk.appsconfig.LEAF_NAME   Servicios > Administración de Chrome > Configuración > Administrar la configuración de 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 que se puedan ver o modificar. Por ejemplo:

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

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 apps del usuario, las aplicaciones de kiosco, las aplicaciones de sesiones de invitado administradas y las políticas de configuración de aplicaciones de kiosco. Las políticas de apps requieren una app_id.

Un app_id se forma combinando el tipo y el identificador de la app. Por ejemplo:

  • chrome:mkaakpdehdafacodkgkpghoibnmamcme representa la app de Chrome "Dibujos de Google".
  • android:com.google.android.calendar representa la app para Android del "Calendario de Google".
  • web:https://canvas.apps.chrome representa la aplicación web de "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íticas

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:

  • En el campo policyApiLifecycleStage, se 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.
  • deprecatedInFavorOf solo se puede configurar si policyApiLifecycleStage está en 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 obsoletosInFavorOf. Muestra los espacios de nombres completamente calificados de las políticas anteriores 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 utilizarlo.
API_PREVIEW La política aún no funciona. Esta etapa se puede transferir a API_CURRENT o API_DEVELOPMENT.
API_DEVELOPMENT La política aún no está finalizada y es posible que se incluyan cambios rotundos. Esta etapa se puede transferir a API_CURRENT o API_DEPRECATED.
API_CURRENT La política se encuentra en formato oficial, pero es posible que se realicen cambios no rotundos. Esta etapa se puede transferir 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 de esquema de políticas

Algunas políticas tienen notices asociados y acknowledgement_required configurado en true para ciertos valores de ciertos campos de políticas. 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 los dispositivos o usuarios que utilicen estas plataformas. En la siguiente tabla, se enumeran todas las plataformas compatibles.

Plataforma compatible

Plataforma Descripción
PLATFORM_UNSPECIFIED Plataforma no especificada. Reservado, no utilizarlo.
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