Usar restrições

Este guia explica como criar uma política de organização com uma restrição específica. As restrições usadas nos exemplos nesta página não são restrições reais, mas sim exemplos generalizados para fins educativos.

Para mais informações sobre as restrições e os problemas que resolvem, reveja a lista de todas as restrições do serviço de políticas da organização.

Antes de começar

Funções necessárias

Para receber as autorizações de que precisa para gerir políticas de organização, peça ao seu administrador que lhe conceda a função de IAM de administrador de políticas de organização (roles/orgpolicy.policyAdmin) na organização. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

Delegue a administração das políticas da organização

Para delegar a administração das políticas da organização a outro principal, adicione uma condição à associação de funções:

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

Substitua o seguinte:

  • PRINCIPAL_1,PRINCIPAL_2: uma lista de diretores aos quais 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 a sua expressão.

  • TAG_KEY: O nome com espaço de nomes da chave de etiqueta, por exemplo, 123456789012/environment.

  • TAG_VALUE: o nome do valor da etiqueta. A função só é concedida em recursos aos quais esta etiqueta está anexada, por exemplo, development.

Para mais informações sobre a utilização de condições em políticas de autorização, consulte a Vista geral das condições do IAM.

Use regras de listas numa política da organização

Pode definir uma política da organização no recurso da organização que usa regras de lista para negar o acesso a um serviço específico. O processo seguinte descreve como definir uma política de organização através da CLI do Google Cloud. Para ver instruções sobre como ver e definir políticas de organização através da consola Google Cloud , consulte o artigo Criar e gerir políticas.

As políticas da organização que usam regras de listas não podem ter mais de 500 valores permitidos ou recusados individuais e não podem ter mais de 32 KB. Se uma política de organização for criada ou atualizada para ter mais de 500 valores ou ter um tamanho superior a 32 KB, não pode ser guardada com êxito e o pedido devolve um erro.

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

Para configurar a aplicação numa organização através da CLI gcloud, siga estes passos:

  1. Obtenha a política atual no recurso da organização através do comando describe. Este comando devolve a política aplicada diretamente a este recurso:

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

    Substitua o seguinte:

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

    • CONSTRAINT_NAME: a restrição para o serviço que quer aplicar. Por exemplo, a restrição gcp.restrictNonCmekServices restringe os serviços que podem criar recursos sem chaves de encriptação geridas pelo cliente (CMEK).

    Também pode aplicar a política de organização a uma pasta ou a um projeto com as flags --folder ou --project e o ID da pasta e o ID do projeto, respetivamente.

    A resposta devolve a política da organização atual, se existir. Por 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 não for definida uma política, é devolvido um erro NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Defina a política na organização através do comando set-policy. Esta ação substitui qualquer política anexada ao recurso.

    1. Crie um ficheiro 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. Consulte a política atualmente em vigor através de describe --effective. Esta função devolve a política da organização tal como é avaliada neste ponto da hierarquia de recursos com a herança incluída.

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

    O resultado do comando é:

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

    Uma vez que esta política de organização foi definida ao nível da organização, vai ser herdada por todos os recursos secundários que permitam a herança.

As alterações às políticas da organização podem demorar até 15 minutos a serem totalmente aplicadas.

Configure a aplicação contra uma subárvore da hierarquia

As restrições com regras de listas usam valores definidos explicitamente para determinar que recursos devem ser permitidos ou recusados. Algumas restrições também podem aceitar valores que usam o prefixo under:, que especifica uma subárvore com esse recurso como raiz. A utilização do prefixo under: num valor permitido ou recusado faz com que a política de organização atue nesse recurso e em todos os respetivos elementos secundários. Para obter informações sobre as restrições que permitem a utilização do prefixo under:, consulte a página Restrições da política de organização.

Um valor que usa o prefixo under: é denominado 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 quando definir a restrição constraints/compute.storageResourceUseRestrictions permite ou nega a utilização do armazenamento do Compute Engine para PROJECT_ID e todos os respetivos filhos.

  1. Obtenha a política atual no recurso da organização através do comando describe:

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

    Substitua o seguinte:

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

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

    Também pode aplicar a política de organização a uma pasta ou a um projeto com as flags --folder ou --project e o ID da pasta e o ID do projeto, respetivamente.

    Se não for definida uma política, é devolvido um erro NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Defina a política no projeto através do comando set-policy. O prefixo under: define a restrição para recusar o recurso com nome e todos os respetivos recursos secundários.

    1. Crie um ficheiro 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
      

    Onde:

    • under: é um prefixo que indica que o que se segue é uma string de subárvore.

    • folders/VALUE_A é o ID da pasta do recurso raiz que quer recusar. Este recurso e todos os respetivos elementos subordinados na hierarquia de recursos vão ser recusados.

    Também pode aplicar o prefixo under: a organizações e projetos, como nos seguintes exemplos:

    • under:organizations/VALUE_X

    • under:projects/VALUE_Y

  3. Consulte a política atualmente em vigor através de describe --effective.

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

    O resultado do comando é:

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

    A política passa a ser avaliada como recusando a pasta VALUE_A e todos os respetivos recursos subordinados.

As alterações às políticas da organização podem demorar até 15 minutos a serem totalmente aplicadas.

Mesclar a política da organização num projeto

Pode definir uma política da organização num recurso, que será unida a qualquer política herdada do respetivo recurso principal. Esta política unida será, então, avaliada para criar uma nova política eficaz com base nas regras de herança.

  1. Obtenha a política atual no recurso através do comando describe:

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

    Substitua o seguinte:

    • PROJECT_ID: o identificador exclusivo do seu projeto.

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

    Se não for definida uma política, é devolvido um erro NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Apresente a política atualmente em vigor através do comando describe --effective:

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

    O resultado do comando vai incluir um valor recusado que herda do recurso da organização:

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

    1. Crie um ficheiro 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 novamente o comando describe --effective para apresentar a política atualizada:

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

    A saída do comando inclui o resultado efetivo da união da política do recurso e da política principal:

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

As alterações às políticas da organização podem demorar até 15 minutos a serem totalmente aplicadas.

Restaurar comportamento de restrição predefinido

Pode usar o comando reset para repor a política de modo a usar o comportamento predefinido da restrição. Para ver uma lista de todas as restrições disponíveis e os respetivos valores predefinidos, consulte Restrições da política da organização.O exemplo seguinte pressupõe que o comportamento predefinido das restrições é permitir todos os valores.

  1. Obtenha a política em vigor no projeto para mostrar a política unida atual:

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

    Substitua PROJECT_ID pelo identificador exclusivo do seu projeto. O resultado do comando é:

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

    gcloud org-policies reset CONSTRAINT_NAME \
        --project=PROJECT_ID
    
  3. Obtenha a política em vigor para verificar o comportamento predefinido:

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

    O resultado do comando permite todos os valores:

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

As alterações às políticas da organização podem demorar até 15 minutos a serem totalmente aplicadas.

Elimine uma política de organização

Pode eliminar uma política de organização de um recurso. Um recurso sem uma política de organização definida herda qualquer política do respetivo recurso principal. Se eliminar a política da organização no recurso da organização, a política em vigor será o comportamento predefinido da restrição.

Os passos seguintes descrevem como eliminar uma política da organização numa organização.

  1. Elimine a política no recurso da organização através do comando delete:

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

    Substitua ORGANIZATION_ID pelo identificador exclusivo do recurso da organização. O resultado do comando é:

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

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

    O resultado do comando é:

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

Os passos seguintes descrevem como eliminar uma política de organização num projeto:

  1. Elimine a política num projeto através do comando delete:

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

    Onde PROJECT_ID é o identificador exclusivo do seu projeto. O resultado do comando é:

    Deleted policy
    [projects/PROJECT_ID/policies/CONSTRAINT_NAME].
    {}
    
  2. Obtenha a política em vigor no projeto para verificar se não está a ser aplicada:

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

    O resultado do comando é:

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

As alterações às políticas da organização podem demorar até 15 minutos a serem totalmente aplicadas.

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

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

O processo seguinte descreve como definir uma política de organização com regras booleanas através da CLI Google Cloud. Para ver instruções sobre como ver e definir políticas de organização através da Google Cloud consola, consulte o artigo Criar e gerir políticas.

  1. Obtenha a política atual no recurso da organização através do comando describe:

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

    Substitua ORGANIZATION_ID pelo identificador exclusivo do recurso da organização. Também pode aplicar a política de organização a uma pasta ou a um projeto com os flags --folder ou --project e o ID da pasta e o ID do projeto, respetivamente.

    Se não for definida uma política, é devolvido um erro NOT_FOUND:

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

    1. Crie um ficheiro 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. Consulte a política atualmente em vigor através de describe --effective:

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

    O resultado do comando é:

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

As alterações às políticas da organização podem demorar até 15 minutos a serem totalmente aplicadas.

Substitua a política da organização para 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. Obtenha a política atual no recurso para mostrar que está vazia.

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

    Onde PROJECT_ID é o identificador exclusivo do seu projeto.

    Se não for definida uma política, é devolvido um erro NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Obtenha a política em vigor no projeto, que confirma que a restrição está a ser aplicada neste projeto.

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

    O resultado do comando é:

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

    1. Crie um ficheiro 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. Obtenha a política em vigor para mostrar que já não é aplicada no projeto.

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

    O resultado do comando é:

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

As alterações às políticas da organização podem demorar até 15 minutos a serem totalmente aplicadas.

Elimine uma política de organização

Pode eliminar uma política de organização de um recurso. Um recurso sem uma política de organização definida herda qualquer política do respetivo recurso principal. Se eliminar a política da organização no recurso da organização, a política em vigor será o comportamento predefinido das restrições.

Os passos seguintes descrevem como eliminar uma política de organização numa organização e num projeto.

  1. Elimine a política do recurso da organização através do comando delete:

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

    Substitua ORGANIZATION_ID por um identificador exclusivo do recurso da organização. O resultado do comando é:

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

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

    Se não for definida uma política, é devolvido um erro NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  3. Elimine a política de organização do projeto através do comando delete:

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

    O resultado do comando é:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME].
    {}
    
  4. Obtenha a política em vigor no projeto para verificar se não está a ser aplicada:

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

    Substitua PROJECT_ID pelo identificador exclusivo do seu projeto.

    Se não for definida uma política, é devolvido um erro NOT_FOUND:

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

As alterações às políticas da organização podem demorar até 15 minutos a serem totalmente aplicadas.

Usar restrições geridas numa política da organização

As restrições geridas são criadas na plataforma de políticas da organização personalizadas. Podem usar o simulador de políticas para o serviço de políticas da organização e executar políticas da organização para implementar alterações de políticas de forma mais segura.

Veja e identifique restrições geridas

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

Consola

  1. Na Google Cloud consola, aceda à página Políticas de organização.

    Aceda às políticas da organização

  2. No seletor de projetos, selecione o projeto, a pasta ou a organização para os quais quer ver as políticas de organização. A página Políticas da organização apresentada mostra uma lista de restrições de políticas da organização disponíveis para este recurso.

  3. Pode filtrar ou ordenar a lista de políticas de organização por tipo de restrição para encontrar restrições geridas. Selecione a restrição gerida cujos detalhes quer ver na lista. Na página Detalhes da política apresentada, pode ver a origem desta política de organização, a avaliação da política em vigor neste recurso, a configuração atual da política de organização neste recurso, detalhes sobre a restrição e os parâmetros predefinidos das restrições que os usam.

gcloud

Para listar as restrições geridas e personalizadas aplicadas nas políticas da organização numa 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 sua organização.

Para obter detalhes sobre uma restrição gerida específica para um recurso, use o comando org-policies describe-custom-constraint.

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

Substitua o seguinte:

  • CONSTRAINT_NAME: o nome da restrição gerida sobre a qual quer obter detalhes. Por exemplo, iam.managed.disableServiceAccountKeyUpload.

  • ORGANIZATION_ID: o ID da sua organização.

REST

Para listar as restrições geridas e personalizadas definidas nas políticas da organização numa 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 sua organização.

Criar e atualizar restrições geridas

As políticas de organização são definidas pela configuração da restrição. Podem ser definidas num recurso, herdadas de um recurso principal ou repostas para o comportamento predefinido gerido pela Google.

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

Consola

  1. Na Google Cloud consola, aceda à página Políticas de organização.

Aceda às políticas da organização

  1. No seletor de projetos, selecione o projeto, a pasta ou a organização para os quais quer editar a política de organização. A página Políticas da organização apresentada mostra uma lista filtrável de restrições da política da organização que estão disponíveis para este recurso.

  2. Selecione a restrição gerida para a qual quer atualizar a política de organização na lista.

  3. Para atualizar a política da organização para este recurso, clique em Gerir política.

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

  5. Selecione Adicionar uma regra.

  6. Em Aplicação, selecione se a aplicação desta política da organização deve estar ativada ou desativada.

  7. Opcionalmente, para tornar a política da organização condicional a uma etiqueta, clique em Adicionar condição. Se adicionar uma regra condicional a uma política da organização, tem de adicionar, pelo menos, uma regra incondicional ou não é possível guardar a política. Para mais detalhes, consulte o artigo Definir uma política da organização com etiquetas.

  8. Se esta restrição suportar parâmetros, estes são apresentados em Parâmetros com os valores configurados. Se os parâmetros não tiverem sido configurados, são apresentados os valores predefinidos geridos pela Google.

    Para alterar um parâmetro, selecione Editar.

    1. Em Valores, selecione Predefinição para repor esta restrição de modo a usar e apresentar os valores predefinidos geridos pela Google.

    Selecione Definido pelo utilizador para configurar o parâmetro.

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

    A expressão do Idioma de expressão comum (IEC) usada para validar os valores dos parâmetros é descrita em Expressão de valores válidos. Todos os valores definidos pelo utilizador têm de satisfazer 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 Guardar.

  9. Opcionalmente, para pré-visualizar o impacto da alteração da política da organização antes de ser aplicada, clique em Testar alterações. Para mais informações sobre como testar alterações à política de organização, consulte o artigo Teste alterações à política de organização com o simulador de políticas.

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

  11. Depois de verificar se a política da organização no modo de teste funciona como pretendido, defina a política ativa clicando em Definir política.

gcloud

  1. Crie um ficheiro YAML para definir a política da organização. Se esta restrição não suportar 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 o seguinte:

    • RESOURCE_TYPE com organizations, folders ou projects.

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

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

    • ENFORCEMENT_STATE com true para aplicar esta política de organização quando definida ou false para a desativar quando definida.

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

    • LIST_VALUE_1, LIST_VALUE_2 e outros valores de lista com uma lista de valores a permitir ou recusar, com base na configuração deste parâmetro. Consulte a descrição da restrição para ver detalhes sobre os valores aceitáveis.

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

    • BOOLEAN_VALUE com True ou False.

    Opcionalmente, para tornar a política da organização condicional a uma etiqueta, adicione um bloco condition ao rules. Se adicionar uma regra condicional a uma política da organização, tem de adicionar, pelo menos, uma regra incondicional. Caso contrário, não é possível guardar a política. Para mais detalhes, consulte o artigo Definir uma política da organização com etiquetas.

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

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

    Substitua POLICY_PATH pelo caminho completo para o ficheiro YAML da política da organização.

    Para mais informações acerca das políticas de organização de teste, consulte o artigo Crie uma política de organização no modo de teste.

  3. Use o comando policy-intelligence simulate orgpolicy para pré-visualizar o impacto da alteração da política da organização antes de ser aplicada:

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

    Substitua o seguinte:

    • ORGANIZATION_ID com o ID da sua organização, como 1234567890123. A simulação de alterações em várias organizações não é suportada.

    • POLICY_PATH com o caminho completo para o ficheiro YAML da política da organização.

    Para mais informações sobre como testar alterações à política da organização, consulte o artigo Teste alterações à política da organização com o simulador de políticas.

  4. Depois de verificar que a política de organização no modo de teste funciona como previsto, 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 para o ficheiro 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 do pedido contém a definição de uma política de organização. Se esta restrição não suportar parâmetros, omita o bloco parameters abaixo de 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 o seguinte:

  • RESOURCE_TYPE com organizations, folders ou projects.

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

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

  • ENFORCEMENT_STATE com true para aplicar esta política de organização quando definida ou false para a desativar quando definida.

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

  • LIST_VALUE_1, LIST_VALUE_2 e outros valores de lista com uma lista de valores a permitir ou recusar, com base na configuração deste parâmetro. Consulte a descrição da restrição para ver detalhes sobre os valores aceitáveis.

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

  • BOOLEAN_VALUE com True ou False.

Opcionalmente, para tornar a política da organização condicional a uma etiqueta, adicione um bloco condition ao rules. Se adicionar uma regra condicional a uma política da organização, tem de adicionar, pelo menos, uma regra incondicional. Caso contrário, não é possível guardar a política. Para mais detalhes, consulte o artigo Definir uma política da organização com etiquetas.

Para mais informações acerca das políticas de organização de teste, consulte o artigo Crie uma política de organização no modo de teste.

As alterações às políticas da organização podem demorar até 15 minutos a serem totalmente aplicadas.