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 |