Nesta página, explicamos como gerenciar os pools de identidade da carga de trabalho atuais e os provedores de identidade.
É possível gerenciar pools e provedores usando o Console do Google Cloud, a Google Cloud CLI ou a API REST.
Antes de começar
Crie um pool de identidade da carga de trabalho. Consulte uma das seguintes páginas para descobrir como:
- Acessar recursos da AWS
- Acessar recursos do Microsoft Azure
- Como acessar recursos de um provedor de identidade OIDC
- Acessar recursos de um provedor de identidade SAML 2.0
Funções exigidas
Para as permissões necessárias para gerenciar pools e provedores de identidade de carga de trabalho, peça ao administrador que conceda a você os seguintes papéis do IAM no projeto:
-
Para visualizar pools e provedores:
leitor do pool de Identidade da carga de trabalho do IAM (
roles/iam.workloadIdentityPoolViewer
) -
Para visualizar, criar, atualizar e excluir pools e provedores:
administrador de pool de Identidade da carga de trabalho do IAM (
roles/iam.workloadIdentityPoolAdmin
)
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Esses papéis predefinidos contêm as permissões necessárias para gerenciar pools e provedores de identidade da carga de trabalho. Para ver 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 os provedores e os pools de identidades da carga de trabalho:
-
Para visualizar pools e provedores de identidade de carga de trabalho:
-
iam.googleapis.com/workloadIdentityPoolProviders.get
-
iam.googleapis.com/workloadIdentityPoolProviders.list
-
iam.googleapis.com/workloadIdentityPools.get
-
iam.googleapis.com/workloadIdentityPools.list
-
-
-
Para criar, atualizar e excluir pools e provedores:
-
iam.googleapis.com/workloadIdentityPoolProviders.create
-
iam.googleapis.com/workloadIdentityPoolProviders.delete
-
iam.googleapis.com/workloadIdentityPoolProviders.undelete
-
iam.googleapis.com/workloadIdentityPoolProviders.update
-
iam.googleapis.com/workloadIdentityPools.create
-
iam.googleapis.com/workloadIdentityPools.delete
-
iam.googleapis.com/workloadIdentityPools.undelete
-
iam.googleapis.com/workloadIdentityPools.update
-
-
Essas permissões também podem ser concedidas com papéis personalizados ou outros papéis predefinidos.
Gerenciar pools de identidade da carga de trabalho
Nesta seção, mostramos como gerenciar pools de identidade da carga de trabalho.
Criar pools
Para criar pools de identidade da carga de trabalho em um projeto, faça o seguinte:
Console
No Console do Google Cloud, acesse a página Pools de Identidades da carga de trabalho.
gcloud
Execute o comando
gcloud iam workload-identity-pools create
.
REST
Listar pools
Para listar todos os pools de identidades de carga de trabalho em um projeto, faça o seguinte:
Console
No Console do Google Cloud, acesse a página Pools de Identidades da carga de trabalho.
gcloud
Execute o comando
gcloud iam workload-identity-pools list
.
REST
Acessar piscina
Para ver detalhes de um pool de identidades de carga de trabalho específico, faça o seguinte:
Console
No Console do Google Cloud, acesse a página Pools de Identidades da carga de trabalho.
Encontre o pool de identidade da carga de trabalho que você quer visualizar e clique no ícone
Editar. O Console do Google Cloud mostra detalhes sobre o pool de identidades da carga de trabalho.
gcloud
Execute o comando
gcloud iam workload-identity-pools describe
.
REST
Atualizar um pool
É possível ativar ou desativar um pool de identidades de carga de trabalho. Também é possível alterar o nome de exibição ou a descrição.
Para atualizar um pool de identidades da carga de trabalho existente, faça o seguinte:
Console
No Console do Google Cloud, acesse a página Pools de Identidades da carga de trabalho.
Encontre o pool de identidade da carga de trabalho que você quer editar e clique no ícone
Editar.Para desativar ou ativar o pool de identidades da carga de trabalho, clique no botão de alternância Status e em Desativar ou Ativar.
Para editar o nome de exibição, clique em
Editar ao lado dele. Atualize o nome e clique em Salvar.Para editar a descrição, use a CLI gcloud ou a API REST.
gcloud
Execute o comando
gcloud iam workload-identity-pools update
.
REST
Excluir um pool
Ao excluir um pool de identidades de carga de trabalho, você também exclui os provedores de pools de identidades da carga de trabalho. Como resultado, as identidades no pool perdem o acesso aos recursos do Google Cloud.
É possível cancelar a exclusão de um pool até 30 dias após a exclusão. Depois desse período, a exclusão é permanente. Até que um pool seja excluído de modo permanente, você não poderá reutilizar o nome dele ao criar um novo pool de identidades de carga de trabalho.
Para excluir um pool de identidades da carga de trabalho e os provedores de identidade, faça o seguinte:
Console
No Console do Google Cloud, acesse a página Pools de Identidades da carga de trabalho.
Encontre o pool de identidade da carga de trabalho que você quer excluir e clique no ícone
Editar.Clique em
Excluir pool e em Excluir. O pool de identidades da carga de trabalho e os provedores de identidade dele são excluídos.
gcloud
Execute o comando
gcloud iam workload-identity-pools delete
.
REST
Cancelar exclusão de um pool
É possível recuperar um pool de identidades de carga de trabalho excluído até 30 dias após a exclusão.
Para cancelar a exclusão de um pool, faça o seguinte:
Console
No Console do Google Cloud, acesse a página Pools de Identidades da carga de trabalho.
Clique no botão de ativação Mostrar pools e provedores excluídos
Encontre o pool de identidades de carga de trabalho que você quer cancelar a exclusão e clique no ícone
Restaurar.Clique em Restaurar. O pool e os respectivos provedores são restaurados.
gcloud
Execute o comando
gcloud iam workload-identity-pools undelete
.
REST
Gerenciar provedores de pools de identidade da carga de trabalho
Nesta seção, mostramos como gerenciar provedores de pool de identidade da carga de trabalho.
Criar um provedor
Para criar um provedor de pools de identidade da carga de trabalho em um pool de identidades de carga de trabalho atual, faça o seguinte:
Console
No Console do Google Cloud, acesse a página Pools de Identidades da carga de trabalho.
Encontre o pool de identidades de carga de trabalho a que você quer adicionar um provedor e clique no ícone
Editar.Clique em
Adicionar provedor.Selecione o tipo de provedor a ser criado:
- AWS: um provedor de identidade da Amazon Web Services (AWS).
- OpenID Connect (OIDC): um provedor de identidade compatível com OIDC. Essa opção inclui o Microsoft Azure.
Insira um nome para o provedor.
O Console do Google Cloud usa o nome para criar um ID de provedor. Para alterar o ID do provedor, clique em Editar. Não será possível alterar o ID depois.
Preencha os campos restantes para seu provedor:
- AWS: insira o ID da conta do AWS.
- OIDC: insira o URL do emissor. Para o Azure, o URL do emissor usa o formato
https://sts.windows.net/AZURE_TENANT_ID
. Para outros provedores, consulte a documentação deles.
Quando terminar, clique em Continuar.
Para configurar o mapeamento de atributos, clique em Editar mapeamento. O mapeamento de atributos permite usar informações sobre identidades externas para conceder acesso a um subconjunto dessas identidades.
AWS: este passo é opcional; use o mapeamento padrão.
Para detalhes, consulte Configurações do provedor de identidade para a AWS.
OIDC: recomendamos mapear
google.subject
paraassertion.sub
. Outros mapeamentos são opcionais.Para detalhes, consulte Configurações do provedor de identidade para o Azure ou Configurações do provedor de identidade para o OIDC.
Opcional: para fornecer uma condição de atributo, que especifica as identidades que podem se autenticar, clique em Adicionar condição e digite uma expressão válida Linguagem de expressão comum (CEL, na sigla em inglês). Veja mais detalhes em Condições de atributo.
Clique em Save. O provedor do pool de Identidade da carga de trabalho é criado.
gcloud
Execute o
comando gcloud iam workload-identity-pools providers create-aws
para criar um provedor da AWS.
Execute o
comando gcloud iam workload-identity-pools providers create-oidc
para criar um provedor OIDC. Essa opção inclui o Microsoft Azure.
REST
Chame projects.locations.workloadIdentityPools.providers.create()
.
Listar provedores
Para listar os provedores do pool de identidades de carga de trabalho em um projeto, faça o seguinte:
Console
No Console do Google Cloud, acesse a página Pools de Identidades da carga de trabalho.
Para visualizar os provedores de um pool de identidades de carga de trabalho, clique no ícone
Expandir nó do pool.
gcloud
Execute o
comando
gcloud iam workload-identity-pools providers list
.
REST
Chame projects.locations.workloadIdentityPools.providers.list()
.
Acessar um provedor
Para ver detalhes de um provedor de pools de identidade de carga de trabalho específico, faça o seguinte:
Console
No Console do Google Cloud, acesse a página Pools de Identidades da carga de trabalho.
Encontre o pool de identidades da carga de trabalho que contém o provedor e clique no ícone
Expandir nó do pool.Encontre o provedor de pool de identidades de carga de trabalho que você quer visualizar e clique no ícone
Editar. O Console do Google Cloud mostra informações detalhadas sobre o provedor.
gcloud
Execute o
comando
gcloud iam workload-identity-pools providers describe
.
REST
Chame projects.locations.workloadIdentityPools.providers.get()
.
Atualizar um provedor
É possível ativar ou desativar um provedor de pool de identidades de carga de trabalho. Também é possível atualizar as informações da conta e o mapeamento de atributos, além do nome de exibição e descrição.
Para atualizar um provedor de pools de identidade da carga de trabalho atual, faça o seguinte:
Console
No Console do Google Cloud, acesse a página Pools de Identidades da carga de trabalho.
Encontre o pool de identidade de carga de trabalho que contém o provedor e clique no ícone
Expandir nó no pool.Encontre o provedor de pool de Identidade da carga de trabalho que você quer editar e clique no ícone
Editar.Edite as informações do provedor e clique em Salvar.
gcloud
Execute o
comando gcloud iam workload-identity-pools providers update-aws
para atualizar um provedor da AWS.
Execute o
comando gcloud iam workload-identity-pools providers update-oidc
para atualizar um provedor OIDC. Essa opção inclui o Microsoft Azure.
REST
Chame projects.locations.workloadIdentityPools.providers.patch()
.
Excluir um provedor
Quando você exclui um provedor de pool de identidades de carga de trabalho, as identidades do provedor perdem o acesso aos recursos do Google Cloud.
É possível cancelar a exclusão de um provedor até 30 dias após a exclusão. Depois desse período, a exclusão é permanente. Até que um provedor seja excluído de modo permanente, você não poderá reutilizar o nome dele ao criar um novo provedor.
Para excluir um provedor de pool de Identidade da carga de trabalho, faça o seguinte:
Console
No Console do Google Cloud, acesse a página Pools de Identidades da carga de trabalho.
Encontre o pool de identidade de carga de trabalho que contém o provedor e clique no ícone
Editar.No painel Provedores, encontre o provedor que você quer excluir e clique no ícone
Excluir.Clique em Excluir para excluir o provedor.
gcloud
Execute o
comando
gcloud iam workload-identity-pools providers delete
.
REST
Chame projects.locations.workloadIdentityPools.providers.delete()
.
Cancelar a exclusão de um provedor
É possível recuperar um provedor de pools de identidades de carga de trabalho excluído até 30 dias após a exclusão. Para cancelar a exclusão de um provedor:
Console
No Console do Google Cloud, acesse a página Pools de Identidades da carga de trabalho.
Clique no botão Mostrar provedores e pools excluídos.
Encontre o pool de identidades da carga de trabalho que contém o provedor e clique no ícone
Expandir nó do pool.Encontre o provedor para o qual você quer cancelar a exclusão e clique no ícone
Restaurar.Clique em Restaurar. O provedor é restaurado.
gcloud
Execute o
comando
gcloud iam workload-identity-pools providers undelete
.
REST
Chame projects.locations.workloadIdentityPools.providers.undelete()
.
Gerenciar restrições da federação de identidade da carga de trabalho
Você pode usar restrições da política da organização para restringir como os recursos em sua organização do Google Cloud podem ser usados.
Nesta seção, descrevemos as restrições recomendadas quando você usa a federação de identidade de carga de trabalho.
Restringir a configuração do provedor de identidade
Como administrador da organização, você precisa decidir com quais provedores de identidade sua organização poderá federar.
Para gerenciar quais provedores de identidade são permitidos, ative a restrição de lista constraints/iam.workloadIdentityPoolProviders
na política da organização. Essa restrição especifica os URIs do emissor dos provedores permitidos. Use o
Console do Google Cloud ou a
Google Cloud CLI para ativar essa restrição.
Para permitir somente a federação da AWS, crie uma única restrição com o URI
https://sts.amazonaws.com
. O exemplo a seguir mostra como criar essa
restrição usando a CLI gcloud:
gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \ https://sts.amazonaws.com --organization=ORGANIZATION_NUMBER
Também é possível especificar quais IDs de conta da AWS têm acesso aos seus recursos do Google Cloud. Para especificar os IDs da conta, use a restrição de lista constraints/iam.workloadIdentityPoolAwsAccounts
:
gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolAwsAccounts \ ACCOUNT_ID --organization=ORGANIZATION_NUMBER
Para permitir a federação de apenas um provedor OIDC, crie uma restrição única com
o issuer_uri
do provedor permitido. O exemplo a seguir só permite a
federação de um locatário Azure específico:
gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \ https://sts.windows.net/AZURE_TENANT_ID --organization=ORGANIZATION_NUMBER
A federação de um provedor de identidade SAML é um caso especial, porque as chaves públicas usadas para validar a declaração são fornecidas no momento da configuração, em vez de buscadas diretamente no provedor de identidade. Portanto, é recomendável que um usuário mal-intencionado tente fazer upload de um documento de metadados SAML com o código de entidade do provedor de identidade da sua organização, mas uma chave pública a que ele tem acesso à chave privada. A restrição da federação pelo ID da entidade nesse cenário oferece apenas uma ilusão de segurança. Por esse motivo, recomendamos que você permita apenas a criação de um pool de Identidade da carga de trabalho que permita a federação SAML em um projeto do Google Cloud gerenciado pela sua organização. É possível conceder identidades externas nesse acesso de pool de Identidade da carga de trabalho a recursos em toda a organização.
Para permitir a federação de provedores de identidade SAML, crie uma restrição
que permita a palavra-chave especial KEY_UPLOAD
.
gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \ KEY_UPLOAD --organization=ORGANIZATION_NUMBER
Repita esses comandos para permitir a federação de outros provedores.
Para bloquear a federação de todos os provedores:
Crie um arquivo YAML contendo o seguinte:
constraint: constraints/iam.workloadIdentityPoolProviders listPolicy: allValues: DENY
Transmita o arquivo para o comando
gcloud resource-manager org-policies set-policy
:gcloud resource-manager org-policies set-policy FILE_NAME.yaml \ --organization=ORGANIZATION_NUMBER
Restringir a criação de chave de conta de serviço
A federação de identidade de carga de trabalho permite acessar recursos do Google Cloud de fora do Google Cloud sem usar uma chave de conta de serviço. Se você nunca usa chaves de conta de serviço para se autenticar, é possível reduzir o risco desativando a criação de chaves.
Para desativar a criação de chaves de conta de serviço, aplique a restrição booleana iam.disableServiceAccountKeyCreation
na política da organização. Também é possível aplicar a restrição booleana iam.disableServiceAccountKeyUpload
, que desativa o upload de chaves públicas para contas de serviço.
Use o Console do Google Cloud ou a CLI gcloud para ativar essas restrições. Por exemplo, os seguintes comandos da CLI gcloud ativam as duas restrições:
gcloud resource-manager org-policies enable-enforce \ constraints/iam.disableServiceAccountKeyCreation \ --organization=ORGANIZATION_NUMBER gcloud resource-manager org-policies enable-enforce \ constraints/iam.disableServiceAccountKeyUpload \ --organization=ORGANIZATION_NUMBER
Monitorar a federação de identidade da carga de trabalho
É possível usar as métricas do Cloud Monitoring para monitorar eventos de autenticação dos pools e provedores de identidades da carga de trabalho. Para uma lista de métricas disponíveis, consulte Métricas do IAM.
A seguir
Saiba mais sobre a federação de identidade da carga de trabalho.