Como restringir identidades por domínio

O Gerenciador de recursos fornece uma restrição de domínio que pode ser usada nas políticas da organização para limitar o compartilhamento de recursos com base no domínio. Essa restrição limita o conjunto de identidades que podem ser usadas nas políticas do Cloud Identity and Access Management.

As políticas da organização podem usar essa restrição para limitar o compartilhamento de recursos a um conjunto específico de um ou mais domínios do G Suite, e as exceções podem ser concedidas por pasta ou por projeto. Depois que uma restrição de domínio for definida, essa limitação será aplicada somente às alterações futuras da política do Cloud IAM, não às anteriores. Assim, as identidades de outras organizações reterão o acesso se forem adicionadas à política da organização antes que a restrição seja aplicada.

A restrição de domínio é baseada na restrição de lista iam.allowedPolicyMemberDomains.

Quando essa restrição é definida em um domínio do G Suite, ela afeta todas as identidades que estão nesse domínio. Isso inclui as contas de usuários gerenciadas no console do G Suite, e não no Console do Google Cloud Platform.

Como definir a política da organização

A restrição de domínio é um tipo de restrição de lista. Os IDs de cliente do G Suite podem ser adicionados e removidos da lista allowed_values de uma restrição de domínio. Todos os domínios associados a essa conta do G Suite serão afetados pela política da organização.

Você precisa ter permissão para modificar as políticas da organização para definir essa restrição. Por exemplo, o papel resourcemanager.organizationAdmin tem permissão para definir essas restrições. Leia a página Como usar restrições para saber como gerenciar políticas no nível da organização.

Console

Para definir uma política da organização que inclua uma restrição de domínio, faça o seguinte:

  1. Acesse a página "Políticas da organização" no Console do Google Cloud Platform.
    Acessar a página "Políticas da organização"
  2. Clique em Selecionar.
  3. Selecione a organização para a qual você quer definir a política.
  4. Clique em Compartilhamento restrito de domínio.
  5. Clique no botão Editar.
  6. Em É aplicável a, selecione Personalizar.
  7. Em Valores da política, selecione Personalizado.
  8. Digite um código de cliente do G Suite na caixa de texto Valor da política e pressione Enter. É possível inserir vários códigos usando esse passo a passo.
  9. Clique em Salvar. Será exibida uma notificação confirmando que a política foi atualizada.

gcloud

As políticas podem ser definidas por meio da ferramenta de linha de comando gcloud. Para criar uma política que inclua a restrição de domínio, execute o seguinte comando:

gcloud alpha resource-manager org-policies allow \
    --organization 'ORGANIZATION_ID' \
    iam.allowedPolicyMemberDomains 'DOMAIN_ID_1' \
    'DOMAIN_ID_2'

Em que:

Para saber mais sobre o uso de restrições nas políticas da organização, consulte Como usar restrições.

Exemplo de política da organização

O snippet de código a seguir mostra uma política da organização que inclui a restrição de domínio:

resource: "organizations/842463781240"
policy {
  constraint: "constraints/iam.allowedPolicyMemberDomains"
  etag: "\a\005L\252\122\321\946\334"
  list_policy {
  allowed_values: "C03xgje4y"
  allowed_values: "C03g5e3bc"
  allowed_values: "C03t213bc"
  }
}

Os allowed_values são códigos de clientes do G Suite, como C03xgje4y. Somente as identidades que pertencem a um domínio do G Suite incluso na lista allowed_values serão permitidas nas políticas do Cloud IAM depois que essa política da organização for aplicada. Os grupos e usuários humanos do G Suite precisam fazer parte desse domínio, e as contas de serviço do Cloud IAM precisam ser filhos de um recurso da organização associado ao domínio do G Suite.

Por exemplo, se você criou uma política da organização apenas com o código do cliente do G Suite da sua empresa, somente os membros desse domínio poderiam ser adicionados à política do Cloud IAM.

Exemplo de mensagem de erro

Quando a restrição da organização de domínio é violada ao tentar adicionar um membro que não está incluído na lista allowed_values, a operação falhará e, em seguida, será exibida uma mensagem de erro.

Console

Captura de tela do console

gcloud

ERROR: (gcloud.projects.set-iam-policy) FAILED_PRECONDITION: One or
more users in the policy do not belong to a permitted customer.

Como recuperar um código do cliente do G Suite

O código do cliente do G Suite usado pela restrição de domínio pode ser recuperado de duas maneiras:

gcloud

É possível usar o comando gcloud organizations list para ver todas as organizações em que você tem a permissão resourcemanager.organizations.get:

gcloud alpha organizations list

Esse comando retornará DISPLAY_NAME, ID (código da organização) e DIRECTORY_CUSTOMER_ID. O código do cliente do G Suite é o DIRECTORY_CUSTOMER_ID.

API

A API Directory do G Suite pode ser usada para recuperar um código do cliente do G Suite.

  1. Obtenha um token de acesso do OAuth para o escopo https://www.googleapis.com/auth/admin.directory.customer.readonly.
  2. Execute o seguinte comando para consultar a API Directory do G Suite:

    curl -# -X GET "https://www.googleapis.com/admin/directory/v1/customers/customerKey" \
    -H "Authorization: Bearer $access_token" -H "Content-Type: application/json"
    

Esse comando retornará uma resposta JSON que inclui as informações do cliente. O código do cliente do G Suite é o id.

Como restringir subdomínios

A restrição de domínio funciona limitando o acesso a todos os domínios associados a um determinado ID de cliente do G Suite. Todas as contas do G Suite têm exatamente um domínio principal e zero ou mais domínios secundários. Todos os domínios associados ao ID de cliente do G Suite estarão sujeitos à restrição.

A aplicação da restrição de domínio a um recurso controla o domínio principal e todos os domínios secundários que podem acessar esse recurso e seus descendentes na hierarquia de recursos.

Para ver exemplos de combinações comuns de domínios e subdomínios do G Suite, consulte a tabela abaixo:

Domínio principal Subdomínio Restrição de domínio Permitido user@sub.domain.com?
domain.com nenhum Permitir: domain.com Não
domain.com sub.domain.com Permitir: domain.com Sim
domain.com sub.domain.com Permitir: sub.domain.com Sim
sub.domain.com domain.com Permitir: sub.domain.com Sim
sub.domain.com nenhum Permitir: sub.domain.com Sim

Para diferenciar o acesso à restrição de domínio entre dois domínios, cada domínio precisa estar associado a uma conta do G Suite diferente. Cada conta do G Suite está associada a um nó da organização e pode ter políticas próprias da organização aplicadas. Isso permite associar domain.com a uma conta do G Suite e sub.domain.com a outra para um controle de acesso mais granular. Para mais informações, consulte Como gerenciar múltiplas organizações.

Como solucionar problemas conhecidos

Conta de serviço de exportação do Cloud Billing

Ativar a exportação do faturamento para um intervalo com essa restrição ativada provavelmente causará uma falha. Não utilize essa restrição em intervalos usados para exportação de faturamento.

O endereço de e-mail da conta do serviço de exportação do Cloud Billing é: 509219875288-kscf0cheafmf4f6tp1auij5me8qakbin@developer.gserviceaccount.com

Cloud Composer

Para criar um novo ambiente, primeiro desabilite a restrição de domínio no projeto desejado. Depois de criar o ambiente, reative a restrição.

Cloud Functions

Para criar funções públicas, você precisa desativar a restrição de domínio no projeto pretendido.

Cloud Run

Para criar serviços públicos, você precisa desativar a restrição de domínio no projeto pretendido.

Como forçar o acesso à conta

Se você precisar forçar o acesso à conta de um projeto que viola as restrições do domínio, faça o seguinte:

  1. Remova a política da organização que contém a restrição de domínio.

  2. Permita que o projeto acesse a conta.

  3. Implemente a política da organização com a restrição de domínio novamente.

Como alternativa, é possível colocar um Grupo do Google na lista de permissões. Para isso, siga os passos a seguir:

  1. Crie um Grupo do Google no domínio permitido.

  2. Use o painel de administrador do G Suite para desativar a restrição de domínio para esse grupo.

  3. Adicione a conta de serviço ao grupo.

  4. Implemente a política da organização com a restrição de domínio novamente.

  5. Conceda acesso ao grupo do Google na política do Cloud IAM.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Resource Manager