Este guia descreve como executar operações comuns com a federação de identidade da força de trabalho. Para configurar a federação de identidade da força de trabalho, consulte os seguintes guias:
- Configurar a federação de identidade da força de trabalho com o Azure AD e fazer login dos usuários
- Configurar a federação de identidade da força de trabalho com o Okta e fazer login de usuários
- Configurar a federação de identidade da força de trabalho em um IdP compatível com OIDC ou SAML
Antes de começar
Você precisa ter uma organização do Google Cloud configurada.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Gerenciar pools
Esta seção mostra como gerenciar pools de federação de identidade da força de trabalho.
Criar um pool
Para criar um pool de forças de trabalho, execute o seguinte comando:
Console
Para criar o pool de identidades da força de trabalho, faça o seguinte:
No console do Google Cloud, acesse a página Pools de identidade da força de trabalho:
Clique em Criar pool e faça o seguinte:
Em Nome, insira o nome do pool. O ID do pool é derivado automaticamente do nome à medida que você digita.
Opcional: para atualizar o código, clique em Editar.
Opcional: em Descrição, insira uma descrição do pool.
A duração da sessão é definida por padrão. Para inserir uma duração personalizada da sessão, clique em Editar. A duração da sessão, que determina por quanto tempo os tokens de acesso do Google Cloud, as sessões de login do console (federado) e o login da CLI gcloud deste pool de forças de trabalho são válidas. A duração precisa ser maior que 15 minutos (900s) e menor que 12 horas (43200s). Se a duração da sessão não for definida, o padrão será de uma hora (3.600 segundos).
Para criar o pool no estado ativado, verifique se a opção Pool ativado está ativada.
Para criar o pool de identidades da força de trabalho, clique em Próxima.
gcloud
Para criar o pool de identidade da força de trabalho, execute o seguinte comando:
gcloud iam workforce-pools create WORKFORCE_POOL_ID \
--organization=ORGANIZATION_ID \
--description="DESCRIPTION" \
--session-duration=SESSION_DURATION \
--location=global
Substitua:
WORKFORCE_POOL_ID
: um ID que você quer representar no seu pool de forças de trabalho do Google Cloud. Para informações sobre como formatar o ID, consulte a seção Parâmetros de consulta na documentação da API.ORGANIZATION_ID
: o ID numérico da organização do Google Cloud.DESCRIPTION
: uma descrição do pool de identidade da força de trabalhoSESSION_DURATION
: a duração da sessão, que determina por quanto tempo os tokens de acesso do Google Cloud, as sessões de login do console (federado) e o login da CLI gcloud deste pool de forças de trabalho são válidas. A duração precisa ser maior que 15 minutos (900s) e menor que 12 horas (43200s). Se a duração da sessão não for definida, o padrão será de uma hora (3.600 segundos).
Descrever um pool
Console
Para descrever um pool de força de trabalho específico usando o console do Google Cloud, faça o seguinte:
Acesse a página Pools de identidade da força de trabalho:
Em Pools de força de trabalho, selecione o pool
gcloud
Para descrever um pool de força de trabalho específico usando a CLI gcloud, execute o seguinte comando:
gcloud iam workforce-pools describe WORKFORCE_POOL_ID \
--location=global
Substitua WORKFORCE_POOL_ID
pelo ID do pool de forças de trabalho que você escolheu quando criou o pool.
Listar pools
Console
Para listar pools de força de trabalho usando o console do Google Cloud, faça o seguinte:
Acesse a página Pools de identidade da força de trabalho:
Na tabela, acesse a lista de pools.
gcloud
Para listar os pools de forças de trabalho na organização, execute o seguinte comando:
gcloud iam workforce-pools list \
--organization=ORGANIZATION_ID \
--location=global
SubstituaORGANIZATION_ID pelo ID da organização.
Atualizar um pool
Console
Para atualizar um pool de força de trabalho específico usando o console do Google Cloud, faça o seguinte:
Acesse a página Pools de identidade da força de trabalho:
Na tabela, selecione o pool.
Atualize os parâmetros do pool.
Clique em Salvar pool.
gcloud
Para atualizar um pool de forças de trabalho específicas, execute o seguinte comando:
gcloud iam workforce-pools update WORKFORCE_POOL_ID \
--description=DESCRIPTION \
--location=global
Substitua:
WORKFORCE_POOL_ID
: o ID do pool da força de trabalhoDESCRIPTION
: a descrição do pool
Excluir um pool
Console
Para excluir um pool de força de trabalho específico usando o console do Google Cloud, faça o seguinte:
Acesse a página Pools de identidade da força de trabalho:
Em Pools de força de trabalho, clique em
Excluir no pool que você quer excluir.Siga as instruções adicionais.
gcloud
Para excluir um pool de identidades da força de trabalho, execute o seguinte comando:
gcloud iam workforce-pools delete WORKFORCE_POOL_ID \
--location=global
Substitua WORKFORCE_POOL_ID
pelo ID do pool de forças de trabalho.
Cancelar exclusão de um pool
É possível cancelar a exclusão de um pool de identidades de força de trabalho que foi excluído nos últimos 30 dias.
Para cancelar a exclusão de um pool, execute o seguinte comando:
gcloud iam workforce-pools undelete WORKFORCE_POOL_ID \
--location=global
Substitua WORKFORCE_POOL_ID
pelo ID do pool de forças de trabalho.
Configurar um provedor no pool de forças de trabalho
Nesta seção, explicamos como usar os comandos gcloud
para configurar os provedores de pool de identidades de colaboradores:
Criar um provedor do OIDC
Nesta seção, descrevemos como criar um provedor de pool de identidades de colaboradores para um IdP do OIDC.
Console
Fluxo de códigos
No console do Google Cloud, acesse a página Pools de identidade da força de trabalho:
Na tabela Pools de identidade da força de trabalho, selecione o pool em que você quer criar o provedor.
Na tabela Provedores, clique em Adicionar provedor.
Em Selecionar um protocolo, selecione Open ID Connect (OIDC).
Em Criar um provedor de pool, faça o seguinte:
- Em Nome, digite um nome para o provedor.
- Em Emissor (URL), insira o URI do emissor. O URI do emissor do OIDC precisa estar em um formato de URI válido e começar com
https
. por exemplo,https://example.com/oidc
. - Digite o ID do cliente, o ID do cliente OIDC registrado
no seu IdP OIDC. o ID precisa corresponder à declaração
aud
do JWT emitido pelo IdP. - Para criar um provedor ativado, verifique se Provedor ativado está ativado.
- Clique em Continuar.
Em Tipo de resposta, faça o seguinte. O tipo de resposta é usado apenas para um fluxo de Logon único baseado na Web.
- Em Tipo de resposta, selecione Código.
- Em Chave secreta do cliente, digite a chave secreta do cliente no IdP.
Em Comportamento das reivindicações de declaração, selecione uma das seguintes opções:
- Token de ID e informações do usuário
- Somente o token de ID
Clique em Continuar.
Em Configurar provedor, é possível configurar um mapeamento e uma condição de atributo. Para criar um mapeamento de atributo, faça o seguinte. É possível fornecer o nome do campo do IdP ou uma expressão formatada em CEL que retorne uma string.
- Obrigatório: no OIDC 1, digite o assunto do IdP. por exemplo,
assertion.sub
. Opcional: para adicionar outros mapeamentos de atributos, faça o seguinte:
- Clique em Adicionar mapeamento.
- No Google n, em que n é um número, insira uma das chaves compatíveis com o Google Cloud. de dois minutos.
- No campo OIDC n correspondente, insira o nome do campo específico do IdP a ser mapeado, no formato CEL.
Para criar uma condição de atributo, faça o seguinte:
- Clique em Adicionar condição.
- Em Condições do atributo, insira uma condição no formato CEL. Por exemplo,
assertion.role == 'gcp-users'
. Este exemplo de condição garante que apenas os usuários com o papelgcp-users
possam fazer login usando este provedor.
- Obrigatório: no OIDC 1, digite o assunto do IdP. por exemplo,
Para criar o provedor, clique em Enviar.
Fluxo implícito
No console do Google Cloud, acesse a página Pools de identidade da força de trabalho:
Na tabela Pools de identidade da força de trabalho, selecione o pool em que você quer criar o provedor.
Na tabela Provedores, clique em Adicionar provedor.
Em Selecionar um protocolo, selecione Open ID Connect (OIDC).
Em Criar um provedor de pool, faça o seguinte:
- Em Nome, digite um nome para o provedor.
- Em Emissor (URL), insira o URI do emissor. O URI do emissor do OIDC precisa estar em um formato de URI válido e começar com
https
. por exemplo,https://example.com/oidc
. - Digite o ID do cliente, o ID do cliente OIDC registrado
no seu IdP OIDC. o ID precisa corresponder à declaração
aud
do JWT emitido pelo IdP. - Para criar um provedor ativado, verifique se Provedor ativado está ativado.
- Clique em Continuar.
Em Tipo de resposta, faça o seguinte. O tipo de resposta é usado apenas para um fluxo de Logon único baseado na Web.
- Em Tipo de resposta, selecione Token de ID.
- Clique em Continuar.
Em Configurar provedor, é possível configurar um mapeamento e uma condição de atributo. Para criar um mapeamento de atributo, faça o seguinte. É possível fornecer o nome do campo do IdP ou uma expressão formatada em CEL que retorne uma string.
Obrigatório: no OIDC 1, digite o assunto do IdP. por exemplo,
assertion.sub
.Opcional: para adicionar outros mapeamentos de atributos, faça o seguinte:
- Clique em Adicionar mapeamento.
- No Google n, em que n é um número, insira uma das chaves compatíveis com o Google Cloud. de dois minutos.
- No campo OIDC n correspondente, insira o nome do campo específico do IdP a ser mapeado, no formato CEL.
Para criar uma condição de atributo, faça o seguinte:
- Clique em Adicionar condição.
- Em Condições do atributo, insira uma condição no formato CEL. Por exemplo,
assertion.role == 'gcp-users'
. Este exemplo de condição garante que apenas os usuários com o papelgcp-users
possam fazer login usando este provedor.
Para criar o provedor, clique em Enviar.
gcloud
Fluxo de códigos
Para criar um provedor do OIDC que usa o fluxo do código de autorização para login na Web, execute o seguinte comando:
gcloud iam workforce-pools providers create-oidc PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --display-name="DISPLAY_NAME" \ --description="DESCRIPTION" \ --issuer-uri="ISSUER_URI" \ --client-id="OIDC_CLIENT_ID" \
--client-secret-value="OIDC_CLIENT_SECRET" \ --web-sso-response-type="code" \ --web-sso-assertion-claims-behavior="merge-user-info-over-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --location=global
Substitua:
PROVIDER_ID
: um ID de provedor exclusivo. O prefixogcp-
é reservado e não pode ser usado em um ID de pool ou de provedor.WORKFORCE_POOL_ID
: o ID do pool de identidades de colaboradores para conectar seu IdP.DISPLAY_NAME
é um nome de exibição fácil de usar para o provedor. Por exemplo,idp-eu-employees
.DESCRIPTION
: uma descrição opcional do provedor de colaboradores. Por exemplo,IdP for Partner Example Organization employees
ISSUER_URI
: o URI do emissor do OIDC, em um formato de URI válido, que começa comhttps
, por exemplo,https://example.com/oidc
. Observação: por motivos de segurança,ISSUER_URI
precisa usar o esquema HTTPS.OIDC_CLIENT_ID
: o ID do cliente do OIDC registrado no IdP do OIDC; o ID precisa corresponder à declaraçãoaud
do JWT emitido pelo IdP.OIDC_CLIENT_SECRET
: a chave secreta do cliente do OIDCWEB_SSO_ADDITIONAL_SCOPES
: escopos extras opcionais a serem enviados ao IdP do OIDC para o console (federado) ou o login baseado no navegador da CLI da gcloudATTRIBUTE_MAPPING
: um mapeamento de atributo. Por exemplo:
Neste exemplo, os atributos do IdPgoogle.subject=assertion.sub, google.groups=assertion.group1, attribute.costcenter=assertion.costcenter
subject
,assertion.group1
ecostcenter
na declaração OIDC são mapeados para os atributosgoogle.subject
,google.groups
eattribute.costcenter
, respectivamente. de dois minutos.ATTRIBUTE_CONDITION
: uma condição do atributo. Por exemplo:assertion.role == 'gcp-users'
. Este exemplo de condição garante que apenas os usuários com o papelgcp-users
possam fazer login usando este provedor.JWK_JSON_PATH
: um caminho opcional para JWKs do OIDC de upload local. Se esse parâmetro não for fornecido, o Google Cloud usará o caminho "/.well-known/openid-configuration" do IdP para buscar as JWKs que contêm as chaves públicas. Para mais informações sobre JWKs OIDC enviados localmente, consulte Gerenciar JWKs OIDC.
locations/global/workforcePools/enterprise-example-organization-employees
.
Fluxo implícito
Para criar um provedor de pool de identidade da força de trabalho do OIDC que use o fluxo implícito para login na Web, execute o seguinte comando:
gcloud iam workforce-pools providers create-oidc PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --display-name="DISPLAY_NAME" \ --description="DESCRIPTION" \ --issuer-uri="ISSUER_URI" \ --client-id="OIDC_CLIENT_ID" \ --web-sso-response-type="id-token" \ --web-sso-assertion-claims-behavior="only-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --location=global
Substitua:
PROVIDER_ID
: um ID de provedor exclusivo. O prefixogcp-
é reservado e não pode ser usado em um ID de pool ou de provedor.WORKFORCE_POOL_ID
: o ID do pool de identidades de colaboradores para conectar seu IdP.DISPLAY_NAME
é um nome de exibição fácil de usar para o provedor. Por exemplo,idp-eu-employees
.DESCRIPTION
: uma descrição opcional do provedor de colaboradores. Por exemplo,IdP for Partner Example Organization employees
ISSUER_URI
: o URI do emissor do OIDC, em um formato de URI válido, que começa comhttps
, por exemplo,https://example.com/oidc
. Observação: por motivos de segurança,ISSUER_URI
precisa usar o esquema HTTPS.OIDC_CLIENT_ID
: o ID do cliente do OIDC registrado no IdP do OIDC; o ID precisa corresponder à declaraçãoaud
do JWT emitido pelo IdP.WEB_SSO_ADDITIONAL_SCOPES
: escopos extras opcionais a serem enviados ao IdP do OIDC para o console (federado) ou o login baseado no navegador da CLI da gcloudATTRIBUTE_MAPPING
: um mapeamento de atributo. Por exemplo:
Neste exemplo, os atributos do IdPgoogle.subject=assertion.sub, google.groups=assertion.group1, attribute.costcenter=assertion.costcenter
subject
,assertion.group1
ecostcenter
na declaração OIDC são mapeados para os atributosgoogle.subject
,google.groups
eattribute.costcenter
, respectivamente. de dois minutos.ATTRIBUTE_CONDITION
: uma condição do atributo. Por exemplo:assertion.role == 'gcp-users'
. Este exemplo de condição garante que apenas os usuários com o papelgcp-users
possam fazer login usando este provedor.JWK_JSON_PATH
: um caminho opcional para JWKs do OIDC de upload local. Se esse parâmetro não for fornecido, o Google Cloud usará o caminho "/.well-known/openid-configuration" do IdP para buscar as JWKs que contêm as chaves públicas. Para mais informações sobre JWKs OIDC enviados localmente, consulte Gerenciar JWKs OIDC.
locations/global/workforcePools/enterprise-example-organization-employees
.
Criar um provedor SAML
Nesta seção, descrevemos como criar um provedor de pool de identidades de colaboradores para um IdP SAML.
Console
Para configurar o provedor SAML usando o console do Google Cloud, faça o seguinte:
No console do Google Cloud, acesse a página Pools de identidade da força de trabalho:
Na tabela Pools de identidade da força de trabalho, selecione o pool em que você quer criar o provedor.
Na tabela Provedores, clique em Adicionar provedor.
Em Selecionar um protocolo, escolha SAML.
Em Criar um provedor de pool, faça o seguinte:
Em Nome, digite um nome para o provedor.
Opcional: em Descrição, digite uma descrição para o provedor.
Em Arquivo de metadados do IdP (XML), selecione o arquivo XML de metadados gerado anteriormente neste guia.
Verifique se o Provedor ativado está ativado.
Clique em Continuar.
Em Configurar provedor, faça o seguinte:
Em Mapeamento de atributos, insira uma expressão CEL para
google.subject
.Opcional: para inserir outros mapeamentos, clique em Adicionar mapeamento e insira outros, por exemplo:
Este exemplo mapeia os atributos do IdPgoogle.subject=assertion.subject, google.groups=assertion.attributes['https://example.com/aliases'], attribute.costcenter=assertion.attributes.costcenter[0]
assertion.subject
,assertion.attributes['https://example.com/aliases']
eassertion.attributes.costcenter[0]
os atributos do Google Cloudgoogle.subject
,google.groups
egoogle.costcenter
, respectivamente.Opcional: para adicionar uma condição de atributo, clique em Adicionar condição e insira uma expressão CEL que represente uma condição de atributo. Por exemplo, para limitar o atributo
ipaddr
a um determinado intervalo de IP, defina a condiçãoassertion.attributes.ipaddr.startsWith('98.11.12.')
. Este exemplo de condição garante que apenas os usuários com um endereço IP que comece com98.11.12.
possam fazer login usando esse provedor de força de trabalho.Clique em Continuar.
Para criar o provedor, clique em Enviar.
gcloud
Para criar o provedor, execute o seguinte comando:
gcloud iam workforce-pools providers create-saml WORKFORCE_PROVIDER_ID \
--workforce-pool="WORKFORCE_POOL_ID" \
--attribute-mapping="ATTRIBUTE_MAPPING" \
--attribute-condition="ATTRIBUTE_CONDITION" \
--idp-metadata-path="XML_METADATA_PATH" \
--location="global"
Substitua:
WORKFORCE_PROVIDER_ID
: o ID do provedor de colaboradoresWORKFORCE_POOL_ID
: o ID do pool da força de trabalhoATTRIBUTE_MAPPING
: um mapeamento de atributo. Por exemplo, para mapear um assunto, o mapeamento é feito da seguinte forma:google.subject=assertion.subject, google.groups=assertion.attributes['https://example.com/aliases'], attribute.department=assertion.attributes.department[0]
ATTRIBUTE_CONDITION
: uma condição de atributo opcional. Por exemplo,assertion.subject.endsWith("@example.com")
XML_METADATA_PATH
: o caminho para o arquivo de metadados formatado em XML do seu IdP
O prefixo gcp-
é reservado e não pode ser usado em um ID de pool ou de provedor.
Esse comando atribui o assunto e o departamento na declaração SAML aos atributos google.subject
e attribute.department
, respectivamente.
Além disso, a condição do atributo garante que apenas os usuários com um
tema terminado em @example.com
possam fazer login usando esse provedor
de força de trabalho.
Descrever um provedor
Console
Para conferir um provedor, faça o seguinte:
- Acesse a página Pools de identidade da força de trabalho:
Acessar pools de identidade de colaboradores
Na tabela, selecione o pool que você quer ver o provedor.
Na tabela Provedores, selecione o provedor.
gcloud
Para descrever um provedor, execute o seguinte comando:
gcloud iam workforce-pools providers describe PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--location=global
Substitua:
PROVIDER_ID
: o ID do provedorWORKFORCE_POOL_ID
: o ID do pool da força de trabalho
Listar provedores
Console
Para conferir um provedor, faça o seguinte:
- Acesse a página Pools de identidade da força de trabalho:
Acessar pools de identidade de colaboradores
Na tabela, selecione o pool para listar os provedores.
Na tabela Provedores, é possível ver uma lista de provedores.
gcloud
Para listar os provedores, execute este comando:
gcloud iam workforce-pools providers list \
--workforce-pool=WORKFORCE_POOL_ID \
--location=global
Substitua WORKFORCE_POOL_ID
pelo ID do pool de forças de trabalho.
Atualizar um provedor
Console
Para conferir um provedor, faça o seguinte:
- Acesse a página Pools de identidade da força de trabalho:
Acessar pools de identidade de colaboradores
Na tabela, selecione o pool que você quer ver o provedor.
Na tabela Provedores, clique em
Editar.Atualize o provedor.
Para salvar o provedor atualizado, clique em Salvar.
gcloud
Para atualizar um provedor OIDC após a criação, execute o seguinte comando:
gcloud iam workforce-pools providers update-oidc PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--description="DESCRIPTION" \
--location=global
Substitua:
PROVIDER_ID
: o ID do provedorWORKFORCE_POOL_ID
: o ID do pool da força de trabalhoDESCRIPTION
: a descrição
Excluir um provedor
Para excluir um serviço, execute o seguinte comando:
gcloud iam workforce-pools providers delete PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--location=global
Substitua:
PROVIDER_ID
: o ID do provedorWORKFORCE_POOL_ID
: o ID do pool da força de trabalho
Cancelar a exclusão de um provedor
Para cancelar a exclusão de um provedor excluído nos últimos 30 dias, execute o seguinte comando:
gcloud iam workforce-pools providers undelete PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--location=global
Substitua:
PROVIDER_ID
: o ID do provedorWORKFORCE_POOL_ID
: o ID do pool da força de trabalho
Gerenciar JWKs do OIDC
Nesta seção, mostramos como gerenciar JWKs do OIDC em provedores de pool da força de trabalho.
Criar um provedor e fazer upload de JWKs do OIDC
Para criar JWKs do OIDC, consulte Implementações de JWT, JWS, JWE, JWK e JWA.
Para fazer upload de um arquivo JWK OIDC ao criar um provedor de pool da força de trabalho,
execute o comando gcloud iam force-pools Provider create-oidc com --jwk-json-path="JWK_JSON_PATH"
.
Substitua JWK_JSON_PATH
pelo caminho para o
arquivo JSON do JWKs.
Essa operação faz upload das chaves do arquivo.
Atualizar JWKs do OIDC
Para atualizar as JWKs do OIDC, execute o
comando gcloud iam force-pools provider update-oidc com --jwk-json-path="JWK_JSON_PATH"
.
Substitua JWK_JSON_PATH
pelo caminho para o
arquivo JSON do JWKs.
Essa operação substitui todas as chaves atuais enviadas pelas chaves no arquivo.
Excluir todos os JWKs do OIDC enviados por upload
Para excluir todas as JWKs OIDC enviadas e usar o URI do emissor
para buscar as chaves, execute o comando gcloud iam force-pools provedores update-oidc
com --jwk-json-path="JWK_JSON_PATH"
.
Substitua JWK_JSON_PATH
pelo caminho para um arquivo vazio.
Use a sinalização --issuer-uri
para definir o URI do emissor.
Essa operação exclui todas as chaves enviadas.
A seguir
- Configurar a federação de identidade da força de trabalho com o Azure AD e fazer login dos usuários
- Configurar a federação de identidade da força de trabalho com o Okta e fazer login de usuários
- Excluir usuários da federação de identidade da força de trabalho e seus dados
- Saiba quais produtos do Google Cloud são compatíveis com a federação de identidade da força de trabalho