Como usar restrições

Neste guia, veja como criar uma política da organização com restrição específica. As restrições usadas nos exemplos desta página não serã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 como conceder papéis, consulte Gerenciar acesso.

Esse papel predefinido contém as permissões necessárias para gerenciar as políticas da organização. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As permissões a seguir são necessárias para gerenciar as políticas da organização:

  • orgpolicy.constraints.list
  • orgpolicy.policies.create
  • orgpolicy.policies.delete
  • orgpolicy.policies.list
  • orgpolicy.policies.update
  • orgpolicy.policy.get
  • orgpolicy.policy.set

Talvez você também consiga receber essas permissões com papéis personalizados ou outros papéis predefinidos.

Como usar restrições de lista com uma política da organização

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

É possível definir uma política da organização no recurso Organização que use uma restrição 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 restrições de lista não podem ter mais de 500 valores individuais permitidos ou negados 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 tiver mais de 32 KB, ela não será salva e a solicitação retornará um erro.

API v2

  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 \
      LIST_CONSTRAINT --organization=ORGANIZATION_ID
    

    Em que:

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

    • LIST_CONSTRAINT é a restrição de lista 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.

    A resposta retornará 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 substituirá qualquer política atualmente anexada ao recurso.

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

      name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT
      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 \
      LIST_CONSTRAINT --effective \
      --organization=ORGANIZATION_ID
    

    A saída do comando será:

    name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT
    spec:
      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.

API v1

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

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --organization ORGANIZATION_ID
    

    Em que:

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

    • LIST_CONSTRAINT é a restrição de lista 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.

    Como não há uma política definida, é retornada uma política incompleta, como no exemplo a seguir:

    constraint: "constraints/LIST_CONSTRAINT"
    etag: BwVJi0OOESU=
    
  2. Use o comando deny para adicionar o valor negado para o serviço ao qual você quer restringir o acesso.

    gcloud resource-manager org-policies deny \
      LIST_CONSTRAINT VALUE_A \
      --organization ORGANIZATION_ID
    

    A saída do comando será:

    constraint: constraints/LIST_CONSTRAINT
    etag: BwVJi0OOESU=
    listPolicy:
      deniedValues:
        - VALUE_A
    updateTime: CURRENT_TIME
    
  3. Veja a política efetiva atual usando describe --effective.

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --organization ORGANIZATION_ID
    

    A saída do comando será:

    constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      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 alterações 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 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 mais 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 quando se define a restrição constraints/compute.storageResourceUseRestrictions, permitirá ou negará o uso do armazenamento do Compute Engine para PROJECT_ID e todos os respectivos filhos.

API v2

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

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

    Em que:

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

    • LIST_CONSTRAINT é a restrição de lista 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/LIST_CONSTRAINT
      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 \
      LIST_CONSTRAINT --effective \
      --organization=ORGANIZATION_ID
    

    A saída do comando será:

    name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT
    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.

API v1

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

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --organization ORGANIZATION_ID
    

    Em que:

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

    • LIST_CONSTRAINT é a restrição de lista 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.

    Como não há uma política definida, é retornada uma política incompleta, como no exemplo a seguir:

    constraint: "constraints/LIST_CONSTRAINT"
    etag: BwVJi0OOESU=
    
  2. Use o comando deny para adicionar o valor negado para o serviço ao qual você quer restringir o acesso. O prefixo under: define a restrição para negar o recurso nomeado e todos os seus recursos filho.

    gcloud resource-manager org-policies deny \
      LIST_CONSTRAINT under:folders/VALUE_A \
      --organization ORGANIZATION_ID
    

    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.

    • VALUE_B e VALUE_C são projetos que existem na hierarquia com VALUE_A como pai deles.

    A saída do comando deny será:

    constraint: constraints/LIST_CONSTRAINT
    etag: BwVJi0OOESU=
    listPolicy:
      deniedValues:
        - under:folders/VALUE_A
    updateTime: CURRENT_TIME
    

    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 resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --organization ORGANIZATION_ID
    

    A saída do comando será:

    constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      deniedValues:
        - under:folders/VALUE_A
    

    A política agora avalia para negar a pasta VALUE_A e todos os seus recursos filhos, nesse caso VALUE_B e VALUE_C.

As alterações 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 se mesclará 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.

API v2

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

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

    Em que:

    • PROJECT_ID é o identificador exclusivo do seu projeto.

    • LIST_CONSTRAINT é a restrição de lista 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 \
      LIST_CONSTRAINT --effective \
      --project=PROJECT_ID
    

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

    name: projects/PROJECT_ID/policies/LIST_CONSTRAINT
    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/LIST_CONSTRAINT
      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 \
      LIST_CONSTRAINT --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/LIST_CONSTRAINT
    spec:
      rules:
        - values:
            deniedValues:
              - VALUE_A
              - VALUE_B
              - VALUE_C
    

API v1

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

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --project PROJECT_ID
    

    Em que:

    • PROJECT_ID é o identificador exclusivo do seu projeto.

    • LIST_CONSTRAINT é a restrição de lista para o serviço que você quer aplicar.

    Como não há uma política definida, é retornada uma política incompleta, como no exemplo a seguir:

    constraint: "constraints/LIST_CONSTRAINT"
    etag: BwVJi0OOESU=
    
  2. Exiba a política efetiva atual usando o comando describe --effective:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --project PROJECT_ID
    

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

    constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      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:

      constraint: constraints/LIST_CONSTRAINT
      listPolicy:
        deniedValues:
          - VALUE_B
          - VALUE_C
        inheritFromParent: true
      
    2. Execute o comando set-policy:

      gcloud resource-manager org-policies set-policy \
        --project PROJECT_ID /tmp/policy.yaml
      
    3. A saída do comando será:

      constraint: constraints/LIST_CONSTRAINT
      etag: BwVLO2timxY=
      listPolicy:
        deniedValues:
          - VALUE_B
          - VALUE_C
        inheritFromParent: true
      
  4. Use o comando describe --effective novamente para exibir a política atualizada:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --project PROJECT_ID
    

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

    constraint: constraints/LIST_CONSTRAINT
      listPolicy:
        deniedValues:
          - VALUE_A
          - VALUE_B
          - VALUE_C
    

As alterações 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.

API v2

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

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

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

    name: projects/PROJECT_ID/policies/LIST_CONSTRAINT
    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 LIST_CONSTRAINT \
        --project=PROJECT_ID
    
  3. Encontre a política vigente para verificar o comportamento padrão:

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

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

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

API v1

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

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --project PROJECT_ID
    

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

    constraint: constraints/LIST_CONSTRAINT
      listPolicy:
        deniedValues:
          - VALUE_A
          - VALUE_B
          - VALUE_C
    
  2. Defina a política no projeto usando o comando set-policy.

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

      restoreDefault: {}
      constraint: constraints/LIST_CONSTRAINT
      
    2. Execute o comando set-policy:

      gcloud resource-manager org-policies set-policy \
        --project PROJECT_ID /tmp/restore-policy.yaml
      
    3. A saída do comando será:

      constraint: constraints/LIST_CONSTRAINT
      etag: BwVJi9D3VLY=
      restoreDefault: {}
      
  3. Encontre a política vigente para verificar o comportamento padrão:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --project PROJECT_ID
    

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

    Constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      allValues: ALLOW
    

As alterações 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:

API v2

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

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

    Em que ORGANIZATION_ID é o identificador exclusivo do recurso organização. A saída do comando será:

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

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

    A saída do comando será:

    name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT
    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 \
      LIST_CONSTRAINT --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/LIST_CONSTRAINT].
    {}
    
  2. Encontre a política vigente no projeto para verificar se ela não é aplicada.

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

    A saída do comando será:

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

API v1

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

    gcloud resource-manager org-policies delete \
      LIST_CONSTRAINT --organization ORGANIZATION_ID
    

    Em que ORGANIZATION_ID é o identificador exclusivo do recurso organização. A saída do comando será:

    Deleted [<Empty>].
    
  2. Encontre a política vigente na organização para verificar se ela não é aplicada.

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --organization ORGANIZATION_ID
    

    A saída do comando será:

    constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      allValues: ALLOW
    

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 resource-manager org-policies delete \
      LIST_CONSTRAINT --project PROJECT_ID
    

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

    Deleted [<Empty>].
    
  2. Encontre a política vigente no projeto para verificar se ela não é aplicada.

    gcloud resource-manager org-policies describe \
      --effective \
      LIST_CONSTRAINT --project PROJECT_ID
    

    A saída do comando será:

    constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      allValues: ALLOW
    

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

Como usar restrições booleanas na política da organização

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

Uma política da organização pode ser definida no recurso organização, para aplicar uma restrição booleana. 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.

API v2

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

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

    Em que ORGANIZATION_ID é o identificador exclusivo do recurso 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/BOOLEAN_CONSTRAINT
      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 \
      BOOLEAN_CONSTRAINT --effective \
      --organization=ORGANIZATION_ID
    

    A saída do comando será:

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

API v1

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

    gcloud resource-manager org-policies describe \
      BOOLEAN_CONSTRAINT --organization ORGANIZATION_ID
    

    Em que ORGANIZATION_ID é o identificador exclusivo do recurso 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.

    Como não há uma política definida, é retornada uma política incompleta, como no exemplo a seguir:

    booleanPolicy: {}
    constraint: "constraints/BOOLEAN_CONSTRAINT"
    
  2. Defina a política a ser aplicada na organização usando o comando enable-enforce:

    gcloud resource-manager org-policies enable-enforce \
      BOOLEAN_CONSTRAINT --organization ORGANIZATION_ID
    

    A saída do comando será:

    booleanPolicy:
      enforced: true
    constraint: constraints/BOOLEAN_CONSTRAINT
    etag: BwVJitxdiwY=
    
  3. Veja a política efetiva atual usando describe --effective:

    gcloud resource-manager org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --organization ORGANIZATION_ID
    

    A saída do comando será:

    booleanPolicy:
      enforced: true
    constraint: constraints/BOOLEAN_CONSTRAINT
    

As alterações 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 desativa a aplicação da restrição booleana a todos os recursos na hierarquia abaixo do projeto.

API v2

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

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

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

    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 \
      BOOLEAN_CONSTRAINT --effective \
      --project=PROJECT_ID
    

    A saída do comando será:

    name: projects/PROJECT_ID/policies/BOOLEAN_POLICY
    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/BOOLEAN_CONSTRAINT
      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 \
      --effective \
      BOOLEAN_CONSTRAINT --project=PROJECT_ID
    

    A saída do comando será:

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

API v1

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

    gcloud resource-manager org-policies describe \
      BOOLEAN_CONSTRAINT --project PROJECT_ID
    

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

    booleanPolicy: {}
    constraint: "constraints/BOOLEAN_CONSTRAINT"
    
  2. Encontre a política vigente do projeto, que confirma que a restrição está sendo aplicada nesse projeto.

    gcloud resource-manager org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --project PROJECT_ID
    

    A saída do comando será:

    booleanPolicy:
      enforced: true
    constraint: constraints/BOOLEAN_CONSTRAINT
    
  3. Defina a política no projeto para não aplicar a restrição, usando o comando disable-enforce:

    gcloud resource-manager org-policies disable-enforce \
      BOOLEAN_CONSTRAINT --project PROJECT_ID
    

    A saída do comando será:

    booleanPolicy: {}
    constraint: constraints/BOOLEAN_CONSTRAINT
    etag: BwVJivdnXvM=
    
  4. Encontre a política vigente para mostrar que ela não é mais aplicada no projeto.

    gcloud resource-manager org-policies describe \
      --effective \
      BOOLEAN_CONSTRAINT --project PROJECT_ID
    

    A saída do comando será:

    booleanPolicy: {}
    constraint: constraints/BOOLEAN_CONSTRAINT
    

As alterações 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:

API v2

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

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

    Em que ORGANIZATION_ID é um identificador exclusivo do recurso organização. A saída do comando será:

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

    gcloud org-policies describe \
      --effective \
      BOOLEAN_CONSTRAINT --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 \
      BOOLEAN_CONSTRAINT --project=PROJECT_ID
    

    A saída do comando será:

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

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

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

    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.
    

API v1

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

    gcloud resource-manager org-policies delete \
      BOOLEAN_CONSTRAINT --organization ORGANIZATION_ID
    

    Em que ORGANIZATION_ID é um identificador exclusivo do recurso organização. A saída do comando será:

    Deleted [<Empty>].
    
  2. Encontre a política vigente na organização para verificar se ela não é aplicada.

    gcloud resource-manager org-policies describe \
      --effective \
      BOOLEAN_CONSTRAINT --organization ORGANIZATION_ID
    

    A saída do comando será:

    booleanPolicy: {}
    constraint: constraints/BOOLEAN_CONSTRAINT
    
  3. Exclua a política da organização do projeto usando o comando delete:

    gcloud resource-manager org-policies delete \
      BOOLEAN_CONSTRAINT --project PROJECT_ID
    

    A saída do comando será:

    Deleted [<Empty>].
    
  4. Encontre a política vigente no projeto para verificar se ela não é aplicada.

    gcloud resource-manager org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --project PROJECT_ID
    

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

    booleanPolicy: {}
    constraint: constraints/BOOLEAN_CONSTRAINT
    

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