Esquemas de políticas

As políticas do Chrome são representadas como esquemas de política pela API Schema Service. Cada esquema de política tem um nome exclusivo para identificá-lo, uma definição de campos e seus tipos, além de uma descrição legível das configurações no inglês.

Por exemplo, abaixo está como a API Schema Service representa uma configuração que permite que um botão "Sair" apareça na bandeja do sistema do Chrome. Um modelo representação dessa configuração seria bool showLogoutButtonInTray. Clique em "Mostre um exemplo" abaixo para ver como a API Schema Service representa isso do ambiente.

Mostrar um exemplo

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

Nomes de esquemas de políticas

O name de um esquema é o identificador exclusivo com o seguinte formato: {namespace}.{leafName}.

No exemplo acima, o nome completo do esquema é chrome.users.ShowLogoutButton. O namespace é chrome.users. e o nome da folha é ShowLogoutButton.

As políticas de escopo semelhante são agrupadas no mesmo namespace. Por exemplo, todas os esquemas de políticas do usuário são prefixados com um namespace chrome.users. e todos os esquemas de políticas de impressora são prefixados com um namespace chrome.printers..

Namespaces

Namespace Chave Permissão necessária da função de administrador
chrome.users.LEAF_NAME   Serviços > Gerenciamento do Google Chrome > Configurações > Gerenciar as configurações do usuário
chrome.users.apps.LEAF_NAME key="app_id" Serviços > Gerenciamento do Google Chrome > Configurações > Gerenciar configurações do usuário > Gerenciar as configurações do aplicativo
chrome.users.appsconfig.LEAF_NAME   Serviços > Gerenciamento do Google Chrome > Configurações > Gerenciar configurações do usuário > Gerenciar as configurações do aplicativo
chrome.devices.LEAF_NAME   Serviços > Gerenciamento do Google Chrome > Configurações > Gerenciar as configurações de dispositivos ChromeOS
chrome.devices.managedguest.LEAF_NAME   Serviços > Gerenciamento do Google Chrome > Configurações > Gerenciar as configurações de dispositivos ChromeOS
chrome.devices.managedguest.apps.LEAF_NAME key="app_id" Serviços > Gerenciamento do Google Chrome > Configurações > Gerenciar as configurações de dispositivos ChromeOS
chrome.devices.kiosk.LEAF_NAME   Serviços > Gerenciamento do Google Chrome > Configurações > Gerenciar as configurações de dispositivos ChromeOS
chrome.devices.kiosk.apps.LEAF_NAME key="app_id" Serviços > Gerenciamento do Google Chrome > Configurações > Gerenciar as configurações de dispositivos ChromeOS
chrome.devices.kiosk.appsconfig.LEAF_NAME   Serviços > Gerenciamento do Google Chrome > Configurações > Gerenciar as configurações de dispositivos ChromeOS
chrome.printers.LEAF_NAME key="printer_id" Serviços > Gerenciamento do Google Chrome > Configurações > Gerenciar impressoras
chrome.printservers.LEAF_NAME key="print_server_id" Serviços > Gerenciamento do Google Chrome > Configurações > Gerenciar impressoras
chrome.networks.globalsettings.LEAF_NAME   Serviços > Configurações do dispositivo compartilhado
chrome.networks.wifi.LEAF_NAME key="network_id" Serviços > Configurações do dispositivo compartilhado
chrome.networks.ethernet.LEAF_NAME key="network_id" Serviços > Configurações do dispositivo compartilhado
chrome.networks.vpn.LEAF_NAME key="network_id" Serviços > Configurações do dispositivo compartilhado
chrome.networks.certificates.LEAF_NAME key="network_id" Serviços > Configurações do dispositivo compartilhado

Chaves do esquema de política

Algumas políticas exigem contexto adicional para serem visualizadas ou modificadas. Exemplo:

  • Para modificar a política de um aplicativo, é preciso especificar qual aplicativo preenchendo key="app_id".
  • Para modificar a política para as configurações de impressora em uma unidade organizacional, você precisa: especifique qual impressora preenchendo key="printer_id".

Esses esquemas de políticas contêm uma seção additionalTargetKeyNames que descreve as chaves e os valores que serão passados nas solicitações de API.

Para mais detalhes, acesse Exemplos de código.

Mostrar um exemplo

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

Alguns dos namespaces acima são destinados à política de aplicativos, como aplicativos de usuário, aplicativos de quiosque, Políticas de apps de sessão de visitante gerenciada e de configuração de aplicativos de quiosque. As políticas de apps exigem um app_id.

Um app_id é formado pela combinação do tipo e do identificador do app. Exemplo:

  • chrome:mkaakpdehdafacodkgkpghoibnmamcme representa o "Desenhos Google". App Chrome
  • android:com.google.android.calendar representa o "Google Agenda". App Android
  • web:https://canvas.apps.chrome representa a tela. App da Web

Campos com vários valores

Os campos com o rótulo LABEL_REPEATED representam campos com vários valores, como listas ou matrizes. É possível fornecer diversos valores a esses campos. Para mais detalhes, consulte a Exemplos de código.

Status do esquema de política

Cada política tem um objeto policyApiLifecycle para representar o status atual. Este objeto contém os seguintes campos com detalhes sobre o tipo Status:

  • O campo policyApiLifecycleStage mostra quais das seguintes fases tabela descreve melhor o status atual da política.
  • O campo description fornece mais detalhes sobre o status atual dessa política.
  • O campo endSupport mostra a data final de apoio da política, se: é definida.
  • O deprecatedInFavorOf só poderá ser definido se policyApiLifecycleStage for API_DEPRECATED. Ela mostra os namespaces totalmente qualificados das novas políticas. em favor da qual a política atual foi descontinuada.
  • O campo scheduledToDeprecatePolicies corresponde a descontinuadoInFavorOf. Ele mostra os namespaces totalmente qualificados dos políticas que serão descontinuadas devido à introdução desta política.

Estágios do ciclo de vida

Fase Descrição
API_UNSPECIFIED O status atual da política é desconhecido. Reservado, não use.
API_PREVIEW A política ainda não está funcionando. Este estágio pode ser transferido para API_CURRENT ou API_DEVELOPMENT.
API_DEVELOPMENT A política ainda não foi finalizada e alterações interruptivas podem ser introduzidas. Este estágio pode ser transferido para API_CURRENT ou API_DEPRECATED.
API_CURRENT A política está em um formato oficial, mas mudanças não interruptivas podem ser introduzidas. Este estágio pode ser transferido para API_DEPRECATED.
API_DEPRECATED Esta política foi descontinuada e poderá ser removida no futuro. Os administradores devem parar de usar esta política.

Mostrar um exemplo

{
  "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 da política

Algumas políticas têm notices associadas que têm acknowledgement_required definido como true para certos valores de determinados campos de política. Para essas políticas, é necessário definir um campo de confirmação especial como true antes de definir o .

Para mais detalhes, consulte Exemplos de código.

Plataformas compatíveis

supportedPlatforms é uma lista que indica que a política só será aplicada para dispositivos ou usuários nessas plataformas. Todas as plataformas compatíveis estão listadas em na tabela a seguir.

Plataforma compatível

Plataforma Descrição
PLATFORM_UNSPECIFIED Plataforma não especificada. Reservado, não use.
CHROME_OS ChromeOS
CHROME_BROWSER Navegador Chrome para macOS/Windows/Linux
CHROME_BROWSER_FOR_ANDROID Navegador Chrome para Android
CHROME_BROWSER_FOR_IOS Navegador Chrome para iOS

Próximas etapas