Esquemas de políticas

As políticas do Chrome são representadas como esquemas de políticas pela API Schema Service. Cada esquema de política tem um nome exclusivo para identificação, uma definição dos campos de configuração e os tipos deles e uma descrição legível das configurações em inglês.

Por exemplo, veja abaixo como a API Schema Service representa uma configuração que permite que um botão de saída apareça na bandeja do sistema do Chrome. Uma representação simplificada dessa configuração seria bool showLogoutButtonInTray. Clique em "Mostrar um exemplo" abaixo para saber como a API Schema Service representa essa configuração.

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.

Políticas de escopo semelhante são agrupadas no mesmo namespace. Por exemplo, todos os esquemas de política do usuário têm o prefixo chrome.users., e todos os esquemas de política da impressora têm o prefixo 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 configurações do usuário
chrome.users.apps.LEAF_NAME key="app_id" Serviços > Gerenciamento do Google Chrome > Configurações > Gerenciar as 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 as configurações do usuário > Gerenciar as configurações do aplicativo
chrome.devices.LEAF_NAME   Serviços > Gerenciamento do Google Chrome > Configurações > Gerenciar configurações do dispositivo ChromeOS
chrome.devices.managedguest.LEAF_NAME   Serviços > Gerenciamento do Google Chrome > Configurações > Gerenciar configurações do dispositivo ChromeOS
chrome.devices.managedguest.apps.LEAF_NAME key="app_id" Serviços > Gerenciamento do Google Chrome > Configurações > Gerenciar configurações do dispositivo ChromeOS
chrome.devices.kiosk.LEAF_NAME   Serviços > Gerenciamento do Google Chrome > Configurações > Gerenciar configurações do dispositivo ChromeOS
chrome.devices.kiosk.apps.LEAF_NAME key="app_id" Serviços > Gerenciamento do Google Chrome > Configurações > Gerenciar configurações do dispositivo ChromeOS
chrome.devices.kiosk.appsconfig.LEAF_NAME key="app_id" Serviços > Gerenciamento do Google Chrome > Configurações > Gerenciar configurações do dispositivo 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 precisam de mais contexto para que sejam visualizadas ou modificadas. Exemplo:

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

Esses esquemas de política contêm uma seção additionalTargetKeyNames que descreve as chaves e os valores a serem transmitidos 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 do app

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

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

  • chrome:mkaakpdehdafacodkgkpghoibnmamcme representa o app "Desenhos Google" do Chrome.
  • android:com.google.android.calendar representa o app para Android "Google Agenda".
  • web:https://canvas.apps.chrome representa o app da Web "Canvas".

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 atribuir vários valores a esses campos. Para ver mais detalhes, consulte os exemplos de código (link em inglês).

Status do esquema de política

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

  • O campo policyApiLifecycleStage mostra qual dos estágios na tabela a seguir 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 suporte para a política, se uma for definida.
  • O deprecatedInFavorOf só poderá ser definido se policyApiLifecycleStage for API_DEPRECATED. Ela mostra os namespaces totalmente qualificados das novas políticas que tiveram o uso suspenso.
  • O campo scheduledToDeprecatePolicies é correspondente a descontinuadoInFavorOf. Ela mostra os namespaces totalmente qualificados das políticas antigas que serão descontinuadas devido à introdução dessa política.

Estágios do ciclo de vida

Etapa 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 talvez sejam feitas alterações interruptivas. Este estágio pode ser transferido para API_CURRENT ou API_DEPRECATED.
API_CURRENT A política está em um formato oficial, mas alterações não interruptivas podem ser introduzidas. Este estágio pode ser transferido para API_DEPRECATED.
API_DEPRECATED Esta política foi descontinuada e pode ser removida no futuro. Os administradores precisam 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 sobre esquemas de políticas

Algumas políticas têm notices associado a elas e têm acknowledgement_required definido como true para determinados valores de campos de política específicos. Para essas políticas, é necessário definir um campo de confirmação especial como true antes de definir o valor.

Para mais detalhes, consulte Exemplos de código.

Plataformas compatíveis

supportedPlatforms é uma lista que indica que a política será aplicada apenas a dispositivos ou usuários dessas plataformas. Todas as plataformas compatíveis estão listadas 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