Gerenciar provedores de pool de identidade da força de trabalho

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:

Antes de começar

  1. Você precisa ter uma organização do Google Cloud configurada.

  2. 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:

  1. No console do Google Cloud, acesse a página Pools de identidade da força de trabalho:

    Acessar pools de identidade de colaboradores

  2. Clique em Criar pool e faça o seguinte:

    1. Em Nome, insira o nome do pool. O ID do pool é derivado automaticamente do nome à medida que você digita.

    2. Opcional: para atualizar o código, clique em Editar.

    3. Opcional: em Descrição, insira uma descrição do pool.

    4. 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).

    5. Para criar o pool no estado ativado, verifique se a opção Pool ativado está ativada.

    6. 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 trabalho
  • SESSION_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:

  1. Acesse a página Pools de identidade da força de trabalho:

    Acessar pools de identidade de colaboradores

  2. 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:

  1. Acesse a página Pools de identidade da força de trabalho:

    Acessar pools de identidade de colaboradores

  2. 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:

  1. Acesse a página Pools de identidade da força de trabalho:

    Acessar pools de identidade de colaboradores

  2. Na tabela, selecione o pool.

  3. Atualize os parâmetros do pool.

  4. 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 trabalho
  • DESCRIPTION: 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:

  1. Acesse a página Pools de identidade da força de trabalho:

    Acessar pools de identidade de colaboradores

  2. Em Pools de força de trabalho, clique em Excluir no pool que você quer excluir.

  3. 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

  1. No console do Google Cloud, acesse a página Pools de identidade da força de trabalho:

    Acessar pools de identidade de colaboradores

  2. Na tabela Pools de identidade da força de trabalho, selecione o pool em que você quer criar o provedor.

  3. Na tabela Provedores, clique em Adicionar provedor.

  4. Em Selecionar um protocolo, selecione Open ID Connect (OIDC).

  5. Em Criar um provedor de pool, faça o seguinte:

    1. Em Nome, digite um nome para o provedor.
    2. 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.
    3. 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.
    4. Para criar um provedor ativado, verifique se Provedor ativado está ativado.
    5. Clique em Continuar.
  6. Em Tipo de resposta, faça o seguinte. O tipo de resposta é usado apenas para um fluxo de Logon único baseado na Web.

    1. Em Tipo de resposta, selecione Código.
    2. Em Chave secreta do cliente, digite a chave secreta do cliente no IdP.
    3. 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
    4. Clique em Continuar.

  7. 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.

    1. Obrigatório: no OIDC 1, digite o assunto do IdP. por exemplo, assertion.sub.
    2. Opcional: para adicionar outros mapeamentos de atributos, faça o seguinte:

      1. Clique em Adicionar mapeamento.
      2. No Google n, em que n é um número, insira uma das chaves compatíveis com o Google Cloud. de dois minutos.
      3. No campo OIDC n correspondente, insira o nome do campo específico do IdP a ser mapeado, no formato CEL.
    3. Para criar uma condição de atributo, faça o seguinte:

      1. Clique em Adicionar condição.
      2. 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 papel gcp-users possam fazer login usando este provedor.
  8. Para criar o provedor, clique em Enviar.

    Fluxo implícito

    1. No console do Google Cloud, acesse a página Pools de identidade da força de trabalho:

      Acessar pools de identidade de colaboradores

    2. Na tabela Pools de identidade da força de trabalho, selecione o pool em que você quer criar o provedor.

    3. Na tabela Provedores, clique em Adicionar provedor.

    4. Em Selecionar um protocolo, selecione Open ID Connect (OIDC).

    5. Em Criar um provedor de pool, faça o seguinte:

      1. Em Nome, digite um nome para o provedor.
      2. 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.
      3. 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.
      4. Para criar um provedor ativado, verifique se Provedor ativado está ativado.
      5. Clique em Continuar.
    6. Em Tipo de resposta, faça o seguinte. O tipo de resposta é usado apenas para um fluxo de Logon único baseado na Web.

      1. Em Tipo de resposta, selecione Token de ID.
      2. Clique em Continuar.
    7. 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.

      1. Obrigatório: no OIDC 1, digite o assunto do IdP. por exemplo, assertion.sub.

      2. Opcional: para adicionar outros mapeamentos de atributos, faça o seguinte:

        1. Clique em Adicionar mapeamento.
        2. No Google n, em que n é um número, insira uma das chaves compatíveis com o Google Cloud. de dois minutos.
        3. No campo OIDC n correspondente, insira o nome do campo específico do IdP a ser mapeado, no formato CEL.
      3. Para criar uma condição de atributo, faça o seguinte:

        1. Clique em Adicionar condição.
        2. 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 papel gcp-users possam fazer login usando este provedor.
    8. 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 prefixo gcp- é 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 com https, 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ção aud do JWT emitido pelo IdP.
  • OIDC_CLIENT_SECRET: a chave secreta do cliente do OIDC
  • 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 gcloud
  • ATTRIBUTE_MAPPING: um mapeamento de atributo. Por exemplo:
    google.subject=assertion.sub,
    google.groups=assertion.group1,
    attribute.costcenter=assertion.costcenter
    Neste exemplo, os atributos do IdP subject, assertion.group1 e costcenter na declaração OIDC são mapeados para os atributos google.subject, google.groups e attribute.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 papel gcp-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.
Na resposta ao comando, POOL_RESOURCE_NAME é o nome do pool. Por exemplo, 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 prefixo gcp- é 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 com https, 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ção aud 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 gcloud
  • ATTRIBUTE_MAPPING: um mapeamento de atributo. Por exemplo:
    google.subject=assertion.sub,
    google.groups=assertion.group1,
    attribute.costcenter=assertion.costcenter
    Neste exemplo, os atributos do IdP subject, assertion.group1 e costcenter na declaração OIDC são mapeados para os atributos google.subject, google.groups e attribute.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 papel gcp-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.
Na resposta ao comando, POOL_RESOURCE_NAME é o nome do pool. Por exemplo, 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:

  1. No console do Google Cloud, acesse a página Pools de identidade da força de trabalho:

    Acessar pools de identidade de colaboradores

  2. Na tabela Pools de identidade da força de trabalho, selecione o pool em que você quer criar o provedor.

  3. Na tabela Provedores, clique em Adicionar provedor.

  4. Em Selecionar um protocolo, escolha SAML.

  5. Em Criar um provedor de pool, faça o seguinte:

    1. Em Nome, digite um nome para o provedor.

    2. Opcional: em Descrição, digite uma descrição para o provedor.

    3. Em Arquivo de metadados do IdP (XML), selecione o arquivo XML de metadados gerado anteriormente neste guia.

    4. Verifique se o Provedor ativado está ativado.

    5. Clique em Continuar.

  6. Em Configurar provedor, faça o seguinte:

    1. Em Mapeamento de atributos, insira uma expressão CEL para google.subject.

    2. Opcional: para inserir outros mapeamentos, clique em Adicionar mapeamento e insira outros, por exemplo:

      google.subject=assertion.subject,
      google.groups=assertion.attributes['https://example.com/aliases'],
      attribute.costcenter=assertion.attributes.costcenter[0]
      Este exemplo mapeia os atributos do IdP assertion.subject,assertion.attributes['https://example.com/aliases'] e assertion.attributes.costcenter[0] os atributos do Google Cloud google.subject, google.groups e google.costcenter, respectivamente.

    3. 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ção assertion.attributes.ipaddr.startsWith('98.11.12.'). Este exemplo de condição garante que apenas os usuários com um endereço IP que comece com 98.11.12. possam fazer login usando esse provedor de força de trabalho.

    4. Clique em Continuar.

  7. 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 colaboradores
  • WORKFORCE_POOL_ID: o ID do pool da força de trabalho
  • ATTRIBUTE_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:

  1. Acesse a página Pools de identidade da força de trabalho:

Acessar pools de identidade de colaboradores

  1. Na tabela, selecione o pool que você quer ver o provedor.

  2. 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 provedor
  • WORKFORCE_POOL_ID: o ID do pool da força de trabalho

Listar provedores

Console

Para conferir um provedor, faça o seguinte:

  1. Acesse a página Pools de identidade da força de trabalho:

Acessar pools de identidade de colaboradores

  1. Na tabela, selecione o pool para listar os provedores.

  2. 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:

  1. Acesse a página Pools de identidade da força de trabalho:

Acessar pools de identidade de colaboradores

  1. Na tabela, selecione o pool que você quer ver o provedor.

  2. Na tabela Provedores, clique em Editar.

  3. Atualize o provedor.

  4. 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 provedor
  • WORKFORCE_POOL_ID: o ID do pool da força de trabalho
  • DESCRIPTION: 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 provedor
  • WORKFORCE_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 provedor
  • WORKFORCE_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