Princípios do IAM

No Identity and Access Management (IAM), você controla o acesso para principais. Um principal representa uma ou mais identidades autenticadas no Google Cloud.

Usar principais nas políticas

Para usar principais nas suas políticas, faça o seguinte:

  1. Configure identidades que o Google Cloud possa reconhecer. Configurar identidades é o processo de criar identidades que o Google Cloud pode reconhecer. É possível configurar identidades para usuários e cargas de trabalho.

    Para saber como configurar identidades, consulte:

  2. Determine o identificador principal que você vai usar. O identificador principal é como você se refere a uma principal nas suas políticas. Esse identificador pode se referir a uma única identidade ou a um grupo delas.

    O formato usado para o identificador principal depende do seguinte:

    • O tipo de principal
    • O tipo de política em que você quer incluir o principal

    Para conferir o formato do identificador principal de cada tipo de participante em cada tipo de política, consulte Identificadores principais.

    Depois de saber o formato do identificador, você pode determinar o identificador exclusivo do principal com base nos atributos dele, como o endereço de e-mail.

  3. Inclua o identificador do principal na política. Adicione o principal à política, seguindo o formato dela.

    Para saber mais sobre os diferentes tipos de políticas no IAM, consulte Tipos de políticas.

Suporte para tipos de principais

Cada tipo de política do IAM é compatível com um subconjunto dos tipos de principais que o IAM aceita. Para conferir os tipos de principais aceitos para cada tipo de política, consulte Identificadores de principais.

Tipos principais

A tabela a seguir descreve brevemente os diferentes tipos de principais compatíveis com o IAM. Para uma descrição detalhada e exemplos de como um tipo de principal pode aparecer quando usado em uma política, clique no nome do tipo de principal na tabela.

Tipo principal Descrição Principal único ou conjunto principal Gerenciado pelo Google ou federado Suporte a tipos de políticas
Contas do Google Contas de usuário que representam uma pessoa que interage com as APIs e os serviços do Google. Principal único Gerenciada pelo Google

Os seguintes tipos de políticas são compatíveis com as Contas do Google:

  • Permitir
  • Negar

Os seguintes tipos de políticas não são compatíveis com as Contas do Google:

  • Limite de acesso principal
Contas de serviço Uma conta usada por uma carga de trabalho de máquina em vez de uma pessoa. Principal único Gerenciada pelo Google

Os seguintes tipos de políticas são compatíveis com contas de serviço:

  • Permitir
  • Negar

Os seguintes tipos de política não são compatíveis com contas de serviço:

  • Limite de acesso principal
Grupos do Google Uma coleção nomeada de usuários humanos ou de máquina com Contas do Google.

Conjunto de principais que pode conter o seguinte:

  • Contas do Google
  • Contas de serviço
Gerenciada pelo Google

Os seguintes tipos de políticas são compatíveis com os Grupos do Google:

  • Permitir
  • Negar

Os seguintes tipos de políticas não são compatíveis com os Grupos do Google:

  • Limite de acesso principal
Domínios Uma conta do Google Workspace ou um domínio do Cloud Identity que representa um grupo virtual. O grupo pode conter usuários humanos e contas de serviço.

Conjunto de principais que pode conter os seguintes tipos:

  • Contas do Google
  • Contas de serviço
Gerenciada pelo Google

Os seguintes tipos de políticas aceitam domínios:

  • Permitir
  • Negar
  • Limite de acesso principal
allAuthenticatedUsers Um identificador especial que representa todas as contas de serviço e usuários humanos na Internet que se autenticaram com uma Conta do Google.

Conjunto de principais que pode conter os seguintes tipos:

  • Contas do Google
  • Contas de serviço
  • Identidades da força de trabalho
  • Identidades de carga de trabalho
Gerenciada pelo Google

Os seguintes tipos de políticas são compatíveis com allAuthenticatedUsers para alguns recursos:

  • Permitir

Os seguintes tipos de política não são compatíveis com allAuthenticatedUsers:

  • Negar
  • Limite de acesso principal
allUsers Um identificador especial que representa qualquer pessoa na Internet, autenticada ou não.

Conjunto de principais que pode conter os seguintes tipos:

  • Contas do Google
  • Contas de serviço
  • Identidades da força de trabalho
  • Identidades de carga de trabalho
Ambos

Os seguintes tipos de política são compatíveis com allUsers:

  • Permitir (para alguns recursos)
  • Negar

Os seguintes tipos de política não são compatíveis com allUsers:

  • Limite de acesso principal
Uma única identidade em um pool de identidades de colaboradores Um usuário humano com uma identidade gerenciada por um IdP externo e federada usando a federação de identidade de colaboradores. Principal único Federada

Os seguintes tipos de política são compatíveis com uma única identidade em um pool de identidades de força de trabalho:

  • Permitir
  • Negar
  • Limite de acesso principal
Um conjunto de principais em um pool de identidades de colaboradores Um conjunto de usuários humanos com identidades gerenciadas por um IdP externo e federadas usando a federação de identidade de colaboradores. Conjunto de principais que contém identidades de colaboradores. Federada

Os seguintes tipos de políticas são compatíveis com um conjunto de principais em um pool de identidade de colaboradores:

  • Permitir
  • Negar
  • Limite de acesso principal
Um único principal em um pool de identidades da carga de trabalho Uma carga de trabalho (ou usuário da máquina) com uma identidade gerenciada por um IdP externo e federada usando a federação de identidade da carga de trabalho. Principal único Federada

Os seguintes tipos de política aceitam um único principal em um pool de identidades de carga de trabalho:

  • Permitir
  • Negar
  • Limite de acesso principal
Um conjunto de principais em um pool de identidades da carga de trabalho Um conjunto de cargas de trabalho (ou usuários de máquinas) com identidades gerenciadas por um IdP externo e federadas usando a federação de identidade da carga de trabalho. Conjunto de principais que contém identidades de carga de trabalho Federada

Os seguintes tipos de políticas são compatíveis com um conjunto de principais em um pool de identidades de carga de trabalho:

  • Permitir
  • Negar
  • Limite de acesso principal
Um conjunto de pods do Google Kubernetes Engine Uma carga de trabalho (ou usuário da máquina) executada e federada pelo GKE. Conjunto de principais que pode conter uma ou mais identidades federadas de carga de trabalho Federada

Os seguintes tipos de políticas são compatíveis com pods do GKE:

  • Permitir

Os seguintes tipos de políticas não são compatíveis com pods do GKE:

  • Negar
  • Limite de acesso principal
Conjuntos principais do Resource Manager Um conjunto de usuários humanos ou de máquinas associados a recursos do Google Cloud , como projetos, pastas e organizações.

Conjunto de principais que pode conter os seguintes tipos:

  • Contas do Google
  • Contas de serviço
  • Identidades da força de trabalho
  • Identidades de carga de trabalho
Ambos

Os seguintes tipos de políticas são compatíveis com conjuntos principais do Resource Manager:

  • Limite de acesso principal

Os seguintes tipos de políticas não são compatíveis com conjuntos principais do Resource Manager:

  • Permitir
  • Negar

As seções a seguir descrevem esses tipos principais em mais detalhes.

Contas do Google

Uma Conta do Google representa um desenvolvedor, um administrador ou qualquer outra pessoa que interaja com Google Cloud usando uma conta criada com o Google. Qualquer endereço de e-mail associado a uma Conta do Google, também chamada de conta de usuário gerenciada, pode ser usado como um principal. Isso inclui endereços de e-mail gmail.com e com outros domínios.

Os exemplos a seguir mostram como identificar uma Conta do Google em diferentes tipos de políticas:

  • Políticas de permissão: user:alex@example.com
  • Políticas de negação: principal://goog/subject/alex@example.com

Para saber mais sobre os formatos de identificadores principais, consulte Identificadores principais.

Nas políticas de permissão e bloqueio, os aliases de e-mail associados a uma Conta do Google ou a uma conta de usuário gerenciada são substituídos automaticamente pelo endereço de e-mail principal. Isso significa que a política mostra o endereço de e-mail principal do usuário quando você concede acesso a um alias de e-mail.

Para mais informações sobre como configurar Contas do Google, consulte Contas do Cloud Identity ou do Google Workspace.

Contas de serviço

Uma conta de serviço é uma conta para uma carga de trabalho de aplicativo ou computação em vez de um usuário final individual. Ao executar um código hospedado no Google Cloud, especifique uma conta de serviço para usar como a identidade do aplicativo. Para representar os diferentes componentes lógicos do aplicativo, crie quantas contas de serviço forem necessárias.

Os exemplos a seguir mostram como identificar uma conta de serviço em diferentes tipos de políticas:

  • Políticas de permissão: serviceAccount:my-service-account@my-project.iam.gserviceaccount.com
  • Políticas de negação: principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com

Para saber mais sobre os formatos de identificadores principais, consulte Identificadores principais.

Para mais informações sobre contas de serviço, consulte Visão geral das contas de serviço.

Grupos do Google

Um Grupo do Google é uma coleção nomeada de Contas do Google. Cada Grupo do Google tem um endereço de e-mail exclusivo associado a ele. Para encontrar o endereço de e-mail associado a um Grupo do Google, clique em Sobre na página inicial de qualquer grupo. Consulte a página inicial dos Grupos do Google para mais informações.

Os grupos do Google são um modo prático de aplicar controles de acesso a uma coleção de principais. É possível conceder e alterar controles de acesso para um grupo inteiro de uma só vez, em vez de conceder ou alterar controles de acesso para cada entidade individualmente. Também é possível adicionar ou remover principais de um Grupo do Google em vez de atualizar uma política de permissão para adicionar ou remover principais.

Os grupos do Google não têm credenciais de login, e não é possível usá-los a fim de estabelecer uma identidade para fazer uma solicitação de acesso a um recurso.

Os exemplos a seguir mostram como identificar um grupo do Google em diferentes tipos de políticas:

  • Políticas de permissão: group:my-group@example.com
  • Políticas de negação: principalSet://goog/group/my-group@example.com

Para saber mais sobre os formatos de identificadores principais, consulte Identificadores principais.

Para saber mais sobre como usar grupos para controle de acesso, consulte Práticas recomendadas para usar os Grupos do Google.

Domínios

Os domínios podem existir como contas do Google Workspace ou domínios do Cloud Identity. Eles são fundamentalmente iguais porque representam um grupo virtual de todas as Contas do Google que contêm. A única diferença é que os usuários de domínio do Cloud Identity não têm acesso aos aplicativos e recursos do Google Workspace.

As contas do Google Workspace e os domínios do Cloud Identity são associados ao nome de domínio da Internet da sua organização, como example.com.

Quando você cria uma Conta do Google para um novo usuário, como username@example.com, ela é adicionada ao grupo virtual da sua conta do Google Workspace ou domínio do Cloud Identity.

Assim como nos Grupos do Google, os domínios não podem ser usados para estabelecer identidade, mas ativam o gerenciamento conveniente de permissões.

Os exemplos a seguir mostram como identificar um domínio em diferentes tipos de políticas:

  • Políticas de permissão: domain:example.com
  • Políticas de negação: principalSet://goog/cloudIdentityCustomerId/C01Abc35
  • Políticas de limite de acesso de principal: //iam.googleapis.com/locations/global/workspace/C01Abc35

Para saber mais sobre os formatos de identificadores principais, consulte Identificadores principais.

Para mais informações sobre o Cloud Identity, consulte Sobre o Cloud Identity.

Nas políticas de permissão e bloqueio, os domínios secundários são substituídos automaticamente pelo domínio principal. Isso significa que a política mostra o domínio principal quando você concede acesso a um domínio secundário.

allAuthenticatedUsers

O valor allAuthenticatedUsers é um identificador especial que representa todas as contas de serviço e todos os usuários na Internet que se autenticaram com uma Conta do Google. Esse identificador inclui contas que não estão conectadas a uma conta do Google Workspace ou do Cloud Identity, como contas pessoais do Gmail. Os usuários que não forem autenticados, como os visitantes anônimos, não serão incluídos.

Esse tipo principal não inclui identidades federadas, que são gerenciadas por provedores de identidade externos (IdPs). Se você usar a federação de identidade de colaboradores ou a federação de identidade da carga de trabalho, não use allAuthenticatedUsers. Use uma das seguintes opções:

Alguns tipos de recursos não são compatíveis com esse tipo principal.

allUsers

O valor allUsers é um identificador especial que representa qualquer pessoa que esteja na Internet, incluindo usuários autenticados e não autenticados.

Alguns tipos de recursos não são compatíveis com esse tipo principal.

Os exemplos a seguir mostram como o identificador allUsers pode aparecer em diferentes tipos de políticas:

  • Políticas de permissão em tipos de recursos compatíveis: allUsers
  • Políticas de negação: principalSet://goog/public:all

Para saber mais sobre os formatos de identificadores principais, consulte Identificadores principais.

As identidades federadas em um pool de Identidades de colaboradores

Um pool de identidades de colaboradores é um conjunto de identidades de usuário gerenciado por um IdP externo e federado usando a federação de identidade de colaboradores. É possível fazer referência a principais nesses pools das seguintes maneiras:

  • Uma única identidade em um pool de identidades de força de trabalho
  • Todas as identidades de colaboradores em um grupo especificado
  • Todas as identidades com um valor de atributo específico
  • Todas as identidades em um pool de Identidades de força de trabalho:

Os exemplos a seguir mostram como identificar pools de identidade da força de trabalho federada em diferentes tipos de políticas:

  • Um único principal em políticas de permissão: principal://iam.googleapis.com/locations/global/workforcePools/altostrat-contractors/subject/raha@altostrat.com
  • Um conjunto de principais em políticas de negação: principalSet://iam.googleapis.com/locations/global/workforcePools/altostrat-contractors/group/administrators-group@altostrat.com
  • Políticas de limite de acesso de principal: //iam.googleapis.com/locations/global/workforcePools/example-workforce-pool

Para saber mais sobre os formatos de identificadores principais, consulte Identificadores principais.

Identidades federadas em um pool de Identidade da carga de trabalho.

Um pool de identidade da carga de trabalho é um conjunto de identidades da carga de trabalho gerenciado por um IdP externo e federado usando a federação de identidade da carga de trabalho. É possível fazer referência a principais nesses pools das seguintes maneiras:

  • Uma única identidade em um pool de Identidade da carga de trabalho
  • Todas as identidades de carga de trabalho em um grupo especificado
  • Todas as identidades de carga de trabalho com um valor de atributo específico
  • Todas as identidades em um pool de Identidades de carga de trabalho:

Os exemplos a seguir mostram como identificar pools de identidade de carga de trabalho federada em diferentes tipos de políticas:

  • Um único principal em políticas de permissão: principal://iam.googleapis.com/projects/123456789012/locations/global/workloadIdentityPools/altostrat-contractors/subject/raha@altostrat.com
  • Um grupo de principais em políticas de negação: principalSet://iam.googleapis.com/projects/123456789012/locations/global/workloadIdentityPools/altostrat-contractors/group/administrators-group@altostrat.com
  • Políticas de limite de acesso de principal: //iam.googleapis.com/projects/123456789012/locations/global/workloadIdentityPools/example-workload-pool

Para saber mais sobre os formatos de identificadores principais, consulte Identificadores principais.

Pods do GKE

As cargas de trabalho executadas no GKE usam a federação de identidade da carga de trabalho para GKE para acessar os serviços do Google Cloud . Para mais informações sobre identificadores principais para pods do GKE, consulte Referenciar recursos do Kubernetes em políticas do IAM.

O exemplo a seguir mostra como identificar todos os pods do GKE em um cluster específico em uma política de permissão:

principalSet://iam.googleapis.com/projects/123456789012/locations/global/workloadIdentityPools/123456789012.svc.id.goog/kubernetes.cluster/https://container.googleapis.com/v1/projects/123456789012/locations/global/clusters/example-gke-cluster

Para saber mais sobre os formatos de identificadores principais, consulte Identificadores principais.

Conjuntos principais do Resource Manager

Cada recurso do Resource Manager (projetos, pastas e organizações) está associado a um conjunto de principais. Ao criar vinculações de políticas de limite de acesso de principal, é possível usar o conjunto de principais de um recurso do Resource Manager para referenciar todos os principais associados a esse recurso.

Os conjuntos de principais para recursos do Resource Manager contêm os seguintes principais:

  • Conjunto de principais do projeto: todas as contas de serviço e pools de identidades da carga de trabalho no projeto especificado.
  • Conjunto de principais da pasta: todas as contas de serviço e todos os pools de identidades de carga de trabalho em qualquer projeto na pasta especificada.
  • Conjunto principal da organização: contém as seguintes identidades:

    • Todas as identidades em todos os domínios associados ao seu ID de cliente do Google Workspace
    • Todos os pools de identidades de força de trabalho na sua organização
    • Todas as contas de serviço e pools de identidades de carga de trabalho em qualquer projeto da organização

O exemplo a seguir mostra como identificar o conjunto de principais de um projeto em uma política de limite de acesso de principal para o conjunto de principais de um projeto:

//cloudresourcemanager.googleapis.com/projects/example-project

Para saber mais sobre os formatos de identificadores principais, consulte Identificadores principais.

A seguir