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 identificação, uma definição dos campos de configuração e os tipos deles e uma descrição das configurações em inglês.

Por exemplo, confira abaixo como a API Schema Service representa uma configuração que permite que um botão "Sair" 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.

As políticas de escopo semelhante são agrupadas no mesmo namespace. Por exemplo, todos os esquemas de política do usuário são prefixados com um namespace chrome.users. e todos os esquemas de política de impressora têm o prefixo 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 Chrome > Configurações > Gerenciar configurações do usuário
chrome.users.apps.LEAF_NAME key="app_id" Serviços > Gerenciamento do Chrome > Configurações > Gerenciar configurações do usuário > Gerenciar configurações do aplicativo
chrome.users.appsconfig.LEAF_NAME   Serviços > Gerenciamento do Chrome > Configurações > Gerenciar configurações do usuário > Gerenciar configurações do aplicativo
chrome.devices.LEAF_NAME   Serviços > Gerenciamento do Chrome > Configurações > Gerenciar as configurações do dispositivo ChromeOS
chrome.devices.managedguest.LEAF_NAME   Serviços > Gerenciamento do Chrome > Configurações > Gerenciar as configurações do dispositivo ChromeOS
chrome.devices.managedguest.apps.LEAF_NAME key="app_id" Serviços > Gerenciamento do Chrome > Configurações > Gerenciar as configurações do dispositivo ChromeOS
chrome.devices.kiosk.LEAF_NAME   Serviços > Gerenciamento do Chrome > Configurações > Gerenciar as configurações do dispositivo ChromeOS
chrome.devices.kiosk.apps.LEAF_NAME key="app_id" Serviços > Gerenciamento do Chrome > Configurações > Gerenciar as configurações do dispositivo ChromeOS
chrome.devices.kiosk.appsconfig.LEAF_NAME   Serviços > Gerenciamento do Chrome > Configurações > Gerenciar as configurações do dispositivo ChromeOS
chrome.printers.LEAF_NAME key="printer_id" Serviços > Gerenciamento do Chrome > Configurações > Gerenciar impressoras
chrome.printservers.LEAF_NAME key="print_server_id" Serviços > Gerenciamento do 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, especifique o aplicativo preenchendo key="app_id".
  • Para modificar a política das configurações da impressora em uma unidade organizacional, você precisa especificar qual impressora preencha 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 de apps

Alguns dos namespaces acima são para política de apps, como apps do usuário, aplicativos de quiosque, apps de sessão de visitante gerenciada e políticas 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 aplicativo "Desenhos Google" do Chrome
  • android:com.google.android.calendar representa o app 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 de vários valores, como listas ou matrizes. É possível fornecer diversos valores a esses campos. Para mais detalhes, consulte os Exemplos de código.

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 melhor descreve 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 da política, se houver uma definida.
  • O deprecatedInFavorOf só poderá ser definido se policyApiLifecycleStage for API_DEPRECATED. Ela mostra os namespaces totalmente qualificados das novas políticas que foram substituídas pela política atual.
  • O campo scheduledToDeprecatePolicies corresponde 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 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 associados com 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 valor.

Para mais detalhes, consulte Exemplos de código.

Plataformas compatíveis

supportedPlatforms é uma lista que indica que a política só será aplicada a dispositivos ou usuários nessas 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