No Identity and Access Management (IAM), você controla o acesso para principais. Um principal representa uma ou mais identidades autenticadas no Cloud de Confiance.
Usar principais nas políticas
Para usar principais nas suas políticas, faça o seguinte:
Configure identidades que o Cloud de Confiance possa reconhecer. Configurar identidades é o processo de criar identidades que o Cloud de Confiance pode reconhecer. É possível configurar identidades para usuários e cargas de trabalho.
Para saber como configurar identidades, consulte:
- Para saber como configurar identidades para usuários, consulte Identidades para usuários.
- Para saber como configurar identidades para cargas de trabalho, consulte Identidades para cargas de trabalho.
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 de identidades.
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.
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 compatíveis com 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 de principais | Gerenciado pelo Google ou federado | Suporte a tipos de políticas |
|---|---|---|---|---|
| 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:
|
| Um conjunto de contas de serviço | Todas as contas de serviço em um projeto, pasta ou organização. | Conjunto de principais que contém contas de serviço. | Gerenciada pelo Google |
Os seguintes tipos de políticas são compatíveis com um conjunto de contas de serviço:
|
| Um conjunto de agentes de serviço | Todas as contas serviço gerenciado pelo Google (agentes de serviço) associadas a um projeto, uma pasta ou uma organização. | Conjunto de principais que contém agentes de serviço. | Gerenciada pelo Google |
Os seguintes tipos de políticas são compatíveis com um conjunto de agentes de serviço:
Os seguintes tipos de políticas não aceitam um conjunto de agentes de serviço:
|
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:
|
Gerenciada pelo Google |
Os seguintes tipos de políticas são compatíveis com
Os seguintes tipos de política não aceitam
|
allUsers |
Um identificador especial que representa qualquer pessoa na Internet, autenticada ou não. |
Conjunto de principais que pode conter os seguintes tipos:
|
Ambos |
Os seguintes tipos de políticas são compatíveis com
|
| 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:
|
| 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:
|
| 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:
|
| 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 aceitam um conjunto de principais em um pool de identidades de carga de trabalho:
|
| 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:
Os seguintes tipos de políticas não são compatíveis com pods do GKE:
|
As seções a seguir descrevem esses tipos principais em mais detalhes.
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. As contas de serviço podem ser divididas em contas de serviço gerenciadas pelo usuário e contas de serviço gerenciado pelo Google, chamadas de agentes de serviço:
Ao executar um código hospedado no Cloud de Confiance, especifique uma conta de serviço para usar como a identidade do aplicativo. Crie quantas contas de serviço gerenciado pelo usuário forem necessárias para representar os diferentes componentes lógicos do aplicativo.
Alguns serviços Cloud de Confiance precisam acessar seus recursos para agir em seu nome. O Google cria e gerencia agentes de serviço para atender a essa necessidade.
É possível fazer referência a contas de serviço e agentes de serviço das seguintes maneiras:
- Uma única conta de serviço
- Todas as contas de serviço em um projeto
- Todos os agentes de serviço associados a um projeto.
- Todas as contas de serviço em todos os projetos de uma pasta
- Todos os agentes de serviço associados a uma pasta e seus descendentes
- Todas as contas de serviço em todos os projetos de uma organização
- Todos os agentes de serviço associados a uma organização e seus descendentes
Os exemplos a seguir mostram como identificar uma conta de serviço individual em diferentes tipos de políticas:
- Uma conta de serviço em políticas de permissão:
serviceAccount:my-service-account@my-project.s3ns.iam.gserviceaccount.com - Uma conta de serviço em políticas de negação:
principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@my-project.s3ns.iam.gserviceaccount.com
Os exemplos a seguir mostram como identificar todas as contas de serviço de um projeto, pasta ou organização em diferentes tipos de políticas:
- Todas as contas de serviço de um projeto em políticas de permissão:
principalSet://cloudresourcemanager.googleapis.com/projects/123456789012/type/ServiceAccount - Todos os agentes de serviço associados a uma pasta em políticas de negação:
principalSet://cloudresourcemanager.googleapis.com/folders/123456789012/type/ServiceAgent
Para saber mais sobre os formatos de identificadores principais, consulte Identificadores principais.
Para mais informações sobre contas de serviço, consulte as seguintes páginas:
allAuthenticatedUsers
O valor allAuthenticatedUsers é um identificador especial que representa todas
as contas de serviço.
Esse tipo principal não inclui identidades federadas, que são gerenciadas por provedores de identidade externos (IdPs). Para incluir identidades federadas, use uma das seguintes opções:
- Para incluir usuários de todos os IdPs, use
allUsers. - Para incluir usuários de IdPs externos específicos, use o identificador para todas as identidades em um pool de identidades da força de trabalho ou todas as identidades em um pool de identidades da carga de trabalho.
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 da força de trabalho
- Todas as identidades da força de trabalho em um grupo especificado
- Todas as identidades da força de trabalho com um valor de atributo específico
- Todas as identidades em um pool de identidade da 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:
- Uma única identidade em políticas de permissão:
principal://iam.googleapis.com/locations/global/workforcePools/altostrat-contractors/subject/raha@altostrat.com - Um grupo de identidades em políticas de negação:
principalSet://iam.googleapis.com/locations/global/workforcePools/altostrat-contractors/group/administrators-group@altostrat.com
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 da carga de trabalho em um grupo especificado
- Todas as identidades da carga de trabalho com um valor de atributo específico
- Todas as identidades em um pool de Identidade da carga de trabalho
Os exemplos a seguir mostram como identificar pools de identidades de carga de trabalho federadas em diferentes tipos de políticas:
- Uma única identidade em políticas de permissão:
principal://iam.googleapis.com/projects/123456789012/locations/global/workloadIdentityPools/altostrat-contractors/subject/raha@altostrat.com - Um grupo de identidades em políticas de negação:
principalSet://iam.googleapis.com/projects/123456789012/locations/global/workloadIdentityPools/altostrat-contractors/group/administrators-group@altostrat.com
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 Cloud de Confiance . 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.s3ns.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.
A seguir
- Saiba mais sobre os tipos de políticas compatíveis com o IAM
- Conceder um papel a um principal em um projeto, pasta ou organização do Resource Manager