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 |