Como usar restrições

Neste guia, veja como criar uma política da organização com uma restrição específica. As restrições usadas nos exemplos desta página não são restrições reais, mas amostras generalizadas para fins educacionais.

Para mais informações sobre restrições e os problemas que elas resolvem, consulte a lista de todas as restrições do serviço Política da organização.

Antes de começar

Funções exigidas

Para receber as permissões necessárias a fim de gerenciar as políticas da organização, peça ao administrador para conceder a você o papel do IAM de Administrador de políticas da organização (roles/orgpolicy.policyAdmin) na organização. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

Delegar a administração da política da organização

Para delegar a administração das políticas da organização a outro principal, adicione uma condição à vinculação de papel:

"bindings": [
  {
    "role": "roles/orgpolicy.policyAdmin",
    "members": [
      "PRINCIPAL_1",
      "PRINCIPAL_2"
    ],
    "condition": {
      "title": "TITLE",
      "description": "DESCRIPTION",
      "expression": "resource.matchTag('TAG_KEY', 'TAG_VALUE')"
    }
  }
]

Substitua:

  • PRINCIPAL_1,PRINCIPAL_2: uma lista de principais a quem você quer delegar a função de administrador da política da organização.

  • TITLE: o título da sua expressão condicional, por exemplo, "Administrador da política da organização para ambientes de desenvolvimento".

  • DESCRIPTION: uma descrição opcional para sua expressão.

  • TAG_KEY: o nome do namespace da chave da tag. Por exemplo, 123456789012/environment.

  • TAG_VALUE: o nome do valor da tag. A função só é concedida em recursos em que essa tag está anexada, por exemplo, development.

Para mais informações sobre como usar condições em políticas de permissão, consulte a Visão geral das condições do IAM.

Usar regras de lista em uma política da organização

É possível definir uma política da organização no recurso Organização que use regras de lista para negar acesso a um serviço específico. O processo a seguir descreve como definir uma política da organização usando a Google Cloud CLI. Para instruções sobre como visualizar e definir políticas da organização usando o console do Google Cloud , consulte Como criar e gerenciar políticas.

As políticas da organização que usam regras de lista não podem ter mais de 500 valores permitidos ou negados individuais e não podem ter mais de 32 KB. Se uma política da organização for criada ou atualizada para ter mais de 500 valores ou ter mais de 32 KB, ela não poderá ser salva, e a solicitação vai retornar um erro.

Configurar a aplicação no recurso da organização

Para configurar a aplicação em uma organização usando a CLI gcloud, siga estas etapas:

  1. Consiga a política atual no recurso da organização usando o comando describe: Este comando retorna a política aplicada diretamente a este recurso:

    gcloud org-policies describe \
      CONSTRAINT_NAME --organization=ORGANIZATION_ID
    

    Substitua:

    • ORGANIZATION_ID: um identificador exclusivo do recurso da organização. O ID da organização é formatado como números decimais e não pode ter zeros à esquerda.

    • CONSTRAINT_NAME: a restrição do serviço que você quer aplicar. Por exemplo, a restrição gcp.restrictNonCmekServices restringe quais serviços podem criar recursos sem chaves de criptografia gerenciadas pelo cliente (CMEK).

    Você também pode aplicar a política da organização a uma pasta ou um projeto com as sinalizações --folder ou --project e o ID da pasta e ID do projeto, respectivamente.

    A resposta retorna a política da organização atual, se houver uma. Exemplo:

    name: projects/841166443394/policies/gcp.resourceLocations
    spec:
      etag: BwW5P5cEOGs=
      inheritFromParent: true
      rules:
      - condition:
          expression: resource.matchTagId("tagKeys/1111", "tagValues/2222")
        values:
          allowedValues:
          - in:us-east1-locations
      - condition:
          expression: resource.matchTag("123/env", "prod")
        values:
          allowedValues:
          - in:us-west1-locations
      - values:
          deniedValues:
          - in:asia-south1-locations
      updateTime: '2021-01-19T12:00:51.095Z'
    

    Se uma política não for definida, isso retornará um erro NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Defina a política no projeto usando o comando set-policy. Isso substitui qualquer política anexada ao recurso.

    1. Crie um arquivo temporário /tmp/policy.yaml para armazenar a política:

      name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME
      spec:
        rules:
        - values:
            deniedValues:
            - VALUE_A
      
    2. Execute o comando set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  3. Veja a política efetiva atual usando describe --effective. Isso retorna a política da organização conforme é avaliada neste momento na hierarquia de recursos com herança incluída.

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --organization=ORGANIZATION_ID
    

    A saída do comando será:

    name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME
    spec:
      etag: BwVJi0OOESU=
      rules:
      - values:
          deniedValues:
          - VALUE_A
    

    Como essa política da organização foi definida no nível da organização, ela será herdada por todos os recursos filhos que permitem a herança.

As mudanças nas políticas da organização podem levar até 15 minutos para serem totalmente aplicadas.

Configurar a aplicação em uma subárvore de hierarquia

Restrições com regras de lista determinam que recursos devem ser permitidos ou negados a partir de valores explicitamente definidos. Algumas restrições também podem aceitar valores que usam o prefixo under:, que especifica uma subárvore com esse recurso na raiz. Usar o prefixo under: em um valor permitido ou negado faz com que a política da organização aja nesse recurso e em todos os seus filhos. Para informações sobre as restrições que permitem o uso do prefixo under:, consulte a página Restrições da política da organização.

Um valor que usa o prefixo under: é chamado de uma string de subárvore de hierarquia. Uma string de subárvore de hierarquia especifica o tipo de recurso ao qual se aplica. Por exemplo, usar uma string de subárvore de projects/PROJECT_ID ao definir a restrição constraints/compute.storageResourceUseRestrictions permitirá ou negará o uso do armazenamento do Compute Engine para PROJECT_ID e todos os respectivos filhos.

  1. Consiga a política atual no recurso da organização usando o comando describe:

    gcloud org-policies describe \
      CONSTRAINT_NAME \
      --organization=ORGANIZATION_ID
    

    Substitua:

    • ORGANIZATION_ID é um identificador exclusivo do recurso organização;

    • CONSTRAINT_NAME é a restrição para o serviço que você quer aplicar.

    Você também pode aplicar a política da organização a uma pasta ou um projeto com as sinalizações --folder ou --project e o ID da pasta e ID do projeto, respectivamente.

    Se uma política não for definida, isso retornará um erro NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Defina a política no projeto usando o comando set-policy. O prefixo under: define a restrição para negar o recurso nomeado e todos os seus recursos filho.

    1. Crie um arquivo temporário /tmp/policy.yaml para armazenar a política:

      name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME
      spec:
        rules:
        - values:
            deniedValues:
            - under:folders/VALUE_A
      
    2. Execute o comando set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      

    Em que:

    • under: é um prefixo que significa que o que vem a seguir é uma string de subárvore.

    • folders/VALUE_A é o ID da pasta do recurso raiz que você quer negar. Este recurso será negado, bem como todos os seus filhos na hierarquia de recursos.

    Você também pode aplicar o prefixo under: a organizações e projetos, como nos exemplos a seguir:

    • under:organizations/VALUE_X

    • under:projects/VALUE_Y

  3. Veja a política efetiva atual usando describe --effective.

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --organization=ORGANIZATION_ID
    

    A saída do comando será:

    name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - values:
          deniedValues:
          - under:folders/VALUE_A
    

    A política agora avalia para negar a pasta VALUE_A e todos os seus recursos filhos.

As mudanças nas políticas da organização podem levar até 15 minutos para serem totalmente aplicadas.

Mesclar a política da organização em um projeto

É possível definir uma política da organização em um recurso, que será mesclada a qualquer política herdada do recurso pai. Em seguida, essa política mesclada será avaliada para criar uma nova política vigente com base nas regras de herança.

  1. Consiga a política atual no recurso usando o comando describe:

    gcloud org-policies describe \
      CONSTRAINT_NAME \
      --project=PROJECT_ID
    

    Substitua:

    • PROJECT_ID: o identificador exclusivo do projeto.

    • CONSTRAINT_NAME: a restrição para o serviço que você quer aplicar.

    Se uma política não for definida, isso retornará um erro NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Exiba a política efetiva atual usando o comando describe --effective:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    A saída do comando incluirá um valor negado que é herdado do recurso Organização:

    name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - values:
          deniedValues:
          - VALUE_A
    
  3. Defina a política no projeto usando o comando set-policy.

    1. Crie um arquivo temporário /tmp/policy.yaml para armazenar a política:

      name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
      spec:
        inheritFromParent: true
        rules:
        - values:
            deniedValues:
            - VALUE_B
            - VALUE_C
      
    2. Execute o comando set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  4. Use o comando describe --effective novamente para exibir a política atualizada:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    A saída do comando incluirá o resultado efetivo da mesclagem da política do recurso e do pai:

    name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - values:
          deniedValues:
            - VALUE_A
            - VALUE_B
            - VALUE_C
    

As mudanças nas políticas da organização podem levar até 15 minutos para serem totalmente aplicadas.

Restaurar comportamento de restrição padrão

É possível usar o comando reset para redefinir a política e usar o comportamento padrão da restrição. Para ver uma lista de todas as restrições disponíveis e os valores padrão, consulte Restrições da política da organização.O exemplo a seguir presume que o comportamento de restrição padrão é permitir todos os valores.

  1. Encontre a política vigente no projeto para mostrar a política atual mesclada:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    Substitua PROJECT_ID pelo identificador exclusivo do seu projeto. A saída do comando será:

    name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - values:
          deniedValues:
          - VALUE_A
          - VALUE_B
          - VALUE_C
    
  2. Redefina a política da organização usando o comando reset.

    gcloud org-policies reset CONSTRAINT_NAME \
        --project=PROJECT_ID
    
  3. Encontre a política vigente para verificar o comportamento padrão:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    A saída do comando permitirá todos os valores:

    name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - allowAll: true
    

As mudanças nas políticas da organização podem levar até 15 minutos para serem totalmente aplicadas.

Excluir uma política da organização

Uma política da organização pode ser excluída de um recurso. Um recurso sem um conjunto de políticas da organização herdará qualquer política do respectivo recurso pai. Se você excluir a política da organização no recurso Organização, a política vigente será o comportamento padrão da restrição.

Nas etapas a seguir, descrevemos como excluir uma política de uma organização:

  1. Exclua a política no recurso da organização usando o comando delete:

    gcloud org-policies delete \
      CONSTRAINT_NAME \
      --organization=ORGANIZATION_ID
    

    Substitua ORGANIZATION_ID pelo identificador exclusivo do recurso da organização. A saída do comando será:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME].
    {}
    
  2. Encontre a política vigente na organização para verificar se ela não é aplicada.

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --organization=ORGANIZATION_ID
    

    A saída do comando será:

    name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - allowAll: true
    

Nas etapas a seguir, descrevemos como excluir uma política da organização em um projeto:

  1. Exclua a política em um projeto usando o comando delete:

    gcloud org-policies delete \
      CONSTRAINT_NAME \
      --project=PROJECT_ID
    

    Em que PROJECT_ID é o identificador exclusivo do seu projeto. A saída do comando será:

    Deleted policy
    [projects/PROJECT_ID/policies/CONSTRAINT_NAME].
    {}
    
  2. Encontre a política vigente no projeto para verificar se ela não é aplicada.

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    A saída do comando será:

    name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - allowAll: true
    

As mudanças nas políticas da organização podem levar até 15 minutos para serem totalmente aplicadas.

Usar regras booleanas na política da organização

Configurar a aplicação no recurso da organização

O processo a seguir descreve como definir uma política da organização com regras booleanas usando a Google Cloud CLI. Para ver instruções sobre como visualizar e definir políticas da organização usando o console do Google Cloud , consulte Como criar e gerenciar políticas.

  1. Consiga a política atual no recurso da organização usando o comando describe:

    gcloud org-policies describe \
      CONSTRAINT_NAME \
      --organization=ORGANIZATION_ID
    

    Substitua ORGANIZATION_ID pelo identificador exclusivo do recurso da organização. Você também pode aplicar a política da organização a uma pasta ou um projeto com as sinalizações --folder ou --project e o ID da pasta e ID do projeto, respectivamente.

    Se uma política não for definida, isso retornará um erro NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Defina a política no projeto usando o comando set-policy.

    1. Crie um arquivo temporário /tmp/policy.yaml para armazenar a política:

      name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME
      spec:
        rules:
        - enforce: true
      
    2. Execute o comando set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  3. Veja a política efetiva atual usando describe --effective:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --organization=ORGANIZATION_ID
    

    A saída do comando será:

    name: organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT
    spec:
      rules:
      - enforce: true
    

As mudanças nas políticas da organização podem levar até 15 minutos para serem totalmente aplicadas.

Modificar a política da organização de um projeto

Para substituir a política da organização de um projeto, defina uma política que desative a aplicação da restrição a todos os recursos na hierarquia abaixo do projeto.

  1. Encontre a política atual no recurso para mostrar que está vazia.

    gcloud org-policies describe \
      CONSTRAINT_NAME \
      --project=PROJECT_ID
    

    Em que PROJECT_ID é o identificador exclusivo do seu projeto.

    Se uma política não for definida, isso retornará um erro NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Encontre a política vigente do projeto, que confirma que a restrição está sendo aplicada nesse projeto.

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    A saída do comando será:

    name: projects/PROJECT_ID/policies/BOOLEAN_CONSTRAINT
    spec:
      rules:
      - enforce: true
    
  3. Defina a política no projeto usando o comando set-policy.

    1. Crie um arquivo temporário /tmp/policy.yaml para armazenar a política:

      name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
      spec:
        rules:
        - enforce: false
      
    2. Execute o comando set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  4. Encontre a política vigente para mostrar que ela não é mais aplicada no projeto.

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    A saída do comando será:

    name: organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT
    spec:
      rules:
      - enforce: false
    

As mudanças nas políticas da organização podem levar até 15 minutos para serem totalmente aplicadas.

Excluir uma política da organização

Uma política da organização pode ser excluída de um recurso. Um recurso sem um conjunto de políticas da organização herdará qualquer política do respectivo recurso pai. Se você excluir a política da organização no recurso Organização, a política vigente será o comportamento padrão das restrições.

As etapas a seguir descrevem como excluir uma política da organização em uma organização e em um projeto:

  1. Exclua a política do recurso da organização usando o comando delete:

    gcloud org-policies delete \
      CONSTRAINT_NAME \
      --organization=ORGANIZATION_ID
    

    Substitua ORGANIZATION_ID por um identificador exclusivo do recurso organização. A saída do comando será:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME].
    {}
    
  2. Encontre a política vigente na organização para verificar se ela não é aplicada.

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --organization=ORGANIZATION_ID
    

    Se uma política não for definida, isso retornará um erro NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  3. Exclua a política da organização do projeto usando o comando delete:

    gcloud org-policies delete \
      CONSTRAINT_NAME \
      --project=PROJECT_ID
    

    A saída do comando será:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME].
    {}
    
  4. Encontre a política vigente no projeto para verificar se ela não é aplicada.

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    Substitua PROJECT_ID pelo identificador exclusivo do seu projeto.

    Se uma política não for definida, isso retornará um erro NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    

As mudanças nas políticas da organização podem levar até 15 minutos para serem totalmente aplicadas.

Como usar restrições gerenciadas em uma política da organização

As restrições gerenciadas são criadas na plataforma de política personalizada da organização. Eles podem usar Simulador de política para o serviço de políticas da organização e fazer um teste a seco das políticas da organização para implantar mudanças de política com mais segurança.

Ver e identificar restrições gerenciadas

Para ver as restrições gerenciadas disponíveis para sua organização, faça o seguinte:

Console

  1. No console Google Cloud , acesse a página Políticas da organização.

    Acessar as políticas da organização

  2. No seletor de projetos, selecione o projeto, a pasta ou a organização em que você quer visualizar as políticas da organização. A página Políticas da organização que aparece mostra uma lista de restrições de políticas da organização disponíveis para esse recurso.

  3. É possível filtrar ou ordenar a lista de políticas da organização por tipo de restrição para encontrar restrições gerenciadas. Selecione na lista a restrição gerenciada para ver os detalhes. Na página Detalhes da política que aparece, você pode conferir a origem dessa política da organização, a avaliação da política efetiva no recurso, a configuração atual da política da organização no recurso, detalhes sobre a restrição e os parâmetros padrão das restrições que os usam.

gcloud

Para listar as restrições gerenciadas e personalizadas aplicadas nas políticas da organização em uma organização, use o comando org-policies list-custom-constraints.

gcloud org-policies list-custom-constraints \
  --organization=ORGANIZATION_ID

Substitua ORGANIZATION_ID pelo ID da organização.

Para conferir detalhes sobre uma restrição gerenciada específica de um recurso, use o comando org-policies describe-custom-constraint.

gcloud org-policies describe-custom-constraint CONSTRAINT_NAME \
    --organization=ORGANIZATION_ID

Substitua:

  • CONSTRAINT_NAME: o nome da restrição gerenciada sobre a qual você quer mais detalhes. Por exemplo, iam.managed.disableServiceAccountKeyUpload.

  • ORGANIZATION_ID: o ID da organização.

REST

Para listar as restrições gerenciadas e personalizadas definidas em políticas da organização em uma organização, use o método organizations.customConstraints.list.

  GET https://orgpolicy.googleapis.com/v2/{parent=organizations/ORGANIZATION_ID}/customConstraints

Substitua ORGANIZATION_ID pelo ID da organização.

Como criar e atualizar restrições gerenciadas

As políticas da organização são definidas pela configuração da restrição. Elas podem ser definidas em um recurso, herdadas de um recurso pai ou redefinidas para o comportamento padrão gerenciado pelo Google.

Para criar ou atualizar uma política da organização com base em uma restrição gerenciada, faça o seguinte:

Console

  1. No console Google Cloud , acesse a página Políticas da organização.

Acessar as políticas da organização

  1. No seletor de projetos, selecione o projeto, a pasta ou a organização em que você quer editar a política da organização. A página Políticas da organização que aparece mostra uma lista filtrável das restrições de políticas da organização disponíveis para esse recurso.

  2. Selecione na lista a restrição gerenciada para a qual você quer atualizar a política da organização.

  3. Para atualizar a política da organização nesse recurso, clique em Gerenciar política.

  4. Na página Editar política, selecione Substituir a política do editor principal.

  5. Selecione Adicionar uma regra.

  6. Em Aplicação, selecione se a aplicação dessa política da organização precisa ser ativada ou desativada.

  7. Para tornar a política da organização condicional em uma tag, clique em Adicionar condição. Se você adicionar uma regra condicional a uma política da organização, inclua pelo menos uma regra não condicional. Caso contrário, não será possível salvar a política. Para mais detalhes, consulte Como definir uma política da organização com tags.

  8. Se essa restrição for compatível com parâmetros, eles vão aparecer em Parâmetros com os valores configurados. Se os parâmetros não tiverem sido configurados, os valores padrão gerenciados pelo Google vão aparecer.

    Para mudar um parâmetro, selecione Editar.

    1. Em Valores, selecione Padrão para redefinir essa restrição e usar e mostrar os valores padrão gerenciados pelo Google.

    Selecione Definido pelo usuário para configurar o parâmetro.

    1. Para parâmetros que aceitam uma lista de valores, insira um valor para permitir ou negar no campo. Selecione Adicionar um valor para adicionar mais campos.

    A expressão Common Expression Language (CEL) usada para validar os valores dos parâmetros é descrita em Expressão de valores válidos. Todos os valores definidos pelo usuário precisam atender a essa expressão.

    1. Para parâmetros booleanos, determine se o parâmetro deve ser aplicado ou não selecionando Verdadeiro ou Falso.

    2. Clique em Salvar.

  9. Se quiser visualizar o impacto da mudança na política da organização antes da aplicação, clique em Testar alterações. Para mais informações sobre como testar mudanças nas políticas da organização, consulte Testar mudanças nas políticas da organização com o Simulador de política.

  10. Para aplicar a política da organização no modo de teste, clique em Definir política de teste. Para mais informações, consulte Criar uma política da organização no modo de simulação.

  11. Depois de verificar se a política da organização no modo de simulação funciona como pretendido, clique em Definir política para definir a política ativa.

gcloud

  1. Crie um arquivo YAML para definir a política da organização. Se essa restrição não for compatível com parâmetros, omita o bloco parameters em rules.

    name: RESOURCE_TYPE/RESOURCE_ID/policies/CONSTRAINT_NAME
    spec:
    rules:
        - enforce: ENFORCEMENT_STATE
          parameters:
            LIST_PARAMETER:
               - LIST_VALUE_1
               - LIST_VALUE_2
            BOOLEAN_PARAMETER: BOOLEAN_VALUE
    
    dryRunSpec:
      rules:
      - enforce: ENFORCEMENT_STATE
        parameters:
          LIST_PARAMETER:
             - LIST_VALUE_1
             - LIST_VALUE_2
          BOOLEAN_PARAMETER: BOOLEAN_VALUE
    

    Substitua:

    • RESOURCE_TYPE por organizations, folders ou projects.

    • RESOURCE_ID com o ID da organização, da pasta, do ID do projeto ou o número do projeto, dependendo do tipo de recurso especificado em RESOURCE_TYPE.

    • CONSTRAINT_NAME com o nome da restrição que você quer definir.

    • ENFORCEMENT_STATE com true para aplicar essa política da organização quando definida ou false para desativá-la quando definida.

    • LIST_PARAMETER com o nome do parâmetro de lista a ser configurado. Consulte a descrição da restrição para ver uma lista de parâmetros disponíveis.

    • LIST_VALUE_1, LIST_VALUE_2 e outros valores de lista com uma lista de valores a serem permitidos ou negados, com base na configuração desse parâmetro. Consulte a descrição da restrição para detalhes sobre valores aceitáveis.

    • BOOLEAN_PARAMETER com o nome do parâmetro booleano a ser configurado. Consulte a descrição da restrição para ver uma lista de parâmetros disponíveis.

    • BOOLEAN_VALUE com True ou False.

    Para tornar a política da organização condicional em uma tag, adicione um bloco condition ao rules. Se você adicionar uma regra condicional a uma política da organização, precisará incluir pelo menos uma regra não condicional. Caso contrário, a não será possível salvar a política. Para mais detalhes, consulte Como definir uma política da organização com tags.

  2. Execute o comando org-policies set-policy com a flag dryRunSpec para definir a política da organização no modo de simulação:

     gcloud org-policies set-policy POLICY_PATH \
       --update-mask=dryRunSpec
    

    Substitua POLICY_PATH pelo caminho completo do arquivo YAML da política da organização.

    Para mais informações sobre políticas da organização de simulação, consulte Criar uma política da organização no modo de simulação.

  3. Use o comando policy-intelligence simulate orgpolicy para visualizar o impacto da mudança na política da organização antes que ela seja aplicada:

    gcloud policy-intelligence simulate orgpolicy \
      --organization=ORGANIZATION_ID \
      --policies=POLICY_PATH
    

    Substitua:

    • ORGANIZATION_ID pelo ID da organização, como 1234567890123. Não é possível simular mudanças em várias organizações.

    • POLICY_PATH com o caminho completo do arquivo YAML da política da organização.

    Para mais informações sobre como testar mudanças na política da organização, consulte Testar mudanças na política da organização com o Simulador de política.

  4. Depois de verificar se a política da organização no modo de simulação funciona como pretendido, defina a política ativa com o comando org-policies set-policy e a flag spec:

    gcloud org-policies set-policy POLICY_PATH \
      --update-mask=spec
    

    Substitua POLICY_PATH pelo caminho completo do arquivo YAML da política da organização.

REST

Para definir a política da organização, use o método organizations.policies.create.

POST https://orgpolicy.googleapis.com/v2/{parent=organizations/ORGANIZATION_ID}/policies

O corpo JSON da solicitação contém a definição de uma política da organização. Se essa restrição não for compatível com parâmetros, omita o bloco parameters em rules.

{
  "name": "RESOURCE_TYPE/RESOURCE_ID/policies/CONSTRAINT_NAME",
  "spec": {
    "rules": [
      {
        "enforce": ["ENFORCEMENT_STATE"],
        "parameters": {
          "LIST_PARAMETER": [
            "LIST_VALUE_1",
            "LIST_VALUE_2"
          ],
          BOOLEAN_PARAMETER: BOOLEAN_VALUE
        }
      }
    ]
  }
  "dryRunSpec": {
    "rules": [
      {
        "enforce": ["ENFORCEMENT_STATE"],
        "parameters": {
          "LIST_PARAMETER": [
            "LIST_VALUE_1",
            "LIST_VALUE_2"
          ],
          BOOLEAN_PARAMETER: BOOLEAN_VALUE
        }
      }
    ]
  }
}

Substitua:

  • RESOURCE_TYPE por organizations, folders ou projects.

  • RESOURCE_ID com o ID da organização, da pasta, do ID do projeto ou o número do projeto, dependendo do tipo de recurso especificado em RESOURCE_TYPE.

  • CONSTRAINT_NAME com o nome da restrição que você quer definir.

  • ENFORCEMENT_STATE com true para aplicar essa política da organização quando definida ou false para desativá-la quando definida.

  • LIST_PARAMETER com o nome do parâmetro de lista a ser configurado. Consulte a descrição da restrição para ver uma lista de parâmetros disponíveis.

  • LIST_VALUE_1, LIST_VALUE_2 e outros valores de lista com uma lista de valores a serem permitidos ou negados, com base na configuração desse parâmetro. Consulte a descrição da restrição para detalhes sobre valores aceitáveis.

  • BOOLEAN_PARAMETER com o nome do parâmetro booleano a ser configurado. Consulte a descrição da restrição para ver uma lista de parâmetros disponíveis.

  • BOOLEAN_VALUE com True ou False.

Para tornar a política da organização condicional em uma tag, adicione um bloco condition ao rules. Se você adicionar uma regra condicional a uma política da organização, precisará incluir pelo menos uma regra não condicional. Caso contrário, a não será possível salvar a política. Para mais detalhes, consulte Como definir uma política da organização com tags.

Para mais informações sobre políticas da organização de simulação, consulte Criar uma política da organização no modo de simulação.

As mudanças nas políticas da organização podem levar até 15 minutos para serem totalmente aplicadas.