Configure a federação de identidade da força de trabalho com o Okta e inicie sessão nos utilizadores

Este guia mostra como configurar a Workforce Identity Federation através do Okta como um fornecedor de identidade (IdP), gerir o acesso e iniciar sessão nos utilizadores para aceder aos serviçosTrusted Cloud by S3NS que suportam a Workforce Identity Federation.

Antes de começar

  1. Certifique-se de que tem uma organização do Trusted Cloud configurada.
  2. Defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN para s3nsapis.fr.
  3. Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada. Depois de iniciar sessão, inicialize a CLI gcloud executando o seguinte comando:

    gcloud init
  4. Para iniciar sessão, o seu IDP tem de fornecer informações de autenticação assinadas: os IDPs OIDC têm de fornecer um JWT e as respostas do IDP SAML têm de ser assinadas.
  5. Para receber informações importantes sobre alterações à sua organização ou aos Trusted Cloud produtos, tem de indicar contactos essenciais. Para mais informações, consulte a vista geral da federação de identidades da força de trabalho.

Custos

A federação de identidade da força de trabalho está disponível como uma funcionalidade sem custos financeiros. No entanto, o registo de auditoria detalhado da federação de identidades da força de trabalho usa o Cloud Logging. Para saber mais sobre os preços do Logging, consulte os preços da observabilidade do Google Cloud.

Funções necessárias

Para receber as autorizações de que precisa para configurar a Workforce Identity Federation, peça ao seu administrador para lhe conceder a função de administrador do Workforce Pool da IAM (roles/iam.workforcePoolAdmin) na organização. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

Em alternativa, a função básica de proprietário do IAM (roles/owner) também inclui autorizações para configurar a federação de identidade da força de trabalho. Não deve conceder funções básicas num ambiente de produção, mas pode concedê-las num ambiente de desenvolvimento ou teste.

Crie um Workforce Identity Pool

gcloud

Para criar o Workforce Identity Pool, execute o seguinte comando:

gcloud iam workforce-pools create WORKFORCE_POOL_ID \
    --organization=ORGANIZATION_ID \
    --display-name="DISPLAY_NAME" \
    --description="DESCRIPTION" \
    --session-duration=SESSION_DURATION \
    --location=global

Substitua o seguinte:

  • WORKFORCE_POOL_ID: um ID que escolhe para representar o seu workforce pool. Trusted Cloud Para obter informações sobre a formatação do ID, consulte a secção Parâmetros de consulta na documentação da API.
  • ORGANIZATION_ID: o ID numérico da organização da sua organização para o Workload Identity Pool. Trusted Cloud Os Workload Identity Pools estão disponíveis em todos os projetos e pastas da organização.
  • DISPLAY_NAME: opcional. Um nome a apresentar para o seu Workload Identity Pool.
  • DESCRIPTION: opcional. Uma descrição do Workload Identity Pool.
  • SESSION_DURATION: opcional. A duração da sessão, expressa como um número anexado com s, por exemplo, 3600s. A duração da sessão determina durante quanto tempo os Trusted Cloud tokens de acesso, sessões de início de sessão da consola (federadas) e sessões de início de sessão da CLI gcloud deste workforce pool são válidas. A duração da sessão é predefinida para uma hora (3600 s). O valor da duração da sessão tem de estar entre 15 minutos (900 s) e 12 horas (43 200 s).

Consola

Para criar o Workforce Identity Pool, faça o seguinte:

  1. Na Trusted Cloud consola, aceda à página Workforce Identity Pools:

    Aceda aos Workforce Identity Pools

  2. Selecione a organização para o seu conjunto de identidades de pessoal. Os conjuntos de identidades da força de trabalho estão disponíveis em todos os projetos e pastas de uma organização.

  3. Clique em Criar conjunto e faça o seguinte:

    1. No campo Nome, introduza o nome a apresentar do conjunto. O ID do conjunto é derivado automaticamente do nome à medida que escreve e é apresentado no campo Nome. Pode atualizar o ID do conjunto clicando em Editar junto ao ID do conjunto.

    2. Opcional: em Descrição, introduza uma descrição do conjunto.

    3. Para criar o Workforce Identity Pool, clique em Seguinte.

A duração da sessão do Workload Identity Pool é de uma hora (3600 segundos) por predefinição. A duração da sessão determina durante quanto tempo os Trusted Cloud tokens de acesso, consola (federada)> e as sessões de início de sessão da CLI gcloud deste grupo de trabalhadores são válidas. Depois de criar o conjunto, pode atualizar o conjunto para definir uma duração da sessão personalizada. A duração da sessão tem de ser entre 15 minutos (900 s) e 12 horas (43 200 s).

Crie uma integração de apps do Okta

Esta secção fornece os passos para criar uma integração de apps do Okta através da consola do administrador do Okta. Para mais detalhes, consulte o artigo Crie integrações de apps personalizadas.

Os Workforce Identity Pools suportam a federação através dos protocolos OIDC e SAML.

Consulte o guia de integração do OIDC e SAML da Okta para ver mais detalhes. A configuração básica é descrita nesta secção.

OIDC

Para criar uma integração da app Okta que use o protocolo OIDC, siga os passos seguintes:

  1. Inicie sessão na consola do administrador do Okta.
  2. Aceda a Aplicações > Aplicações.
  3. Para começar a configurar a integração da app, faça o seguinte:

    1. Clique em Criar integração de apps.
    2. Em Método de início de sessão, selecione OIDC - OpenID Connect.
    3. Em Tipo de aplicação, selecione um tipo de aplicação; por exemplo, Aplicação Web.
    4. Para criar a app, clique em Seguinte.
    5. Em Nome da integração da app, introduza um nome para a sua app.
    6. Na secção Tipo de autorização, selecione a caixa de verificação Implícito (híbrido).
    7. Na secção URIs de redirecionamento de início de sessão, no campo de texto, introduza um URL de redirecionamento. Os seus utilizadores são redirecionados para este URL depois de iniciarem sessão com êxito. Se estiver a configurar o acesso à consola (federada), use o seguinte formato de URL:

      https://auth.cloud.s3nscloud.fr/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
      

      Substitua o seguinte:

      • WORKFORCE_POOL_ID: o ID do pool de força de trabalho que criou anteriormente neste guia.
      • WORKFORCE_PROVIDER_ID: um ID do fornecedor de identidade da força de trabalho à sua escolha; por exemplo: okta-oidc-provider. Para obter informações sobre a formatação do ID, consulte a secção Parâmetros de consulta na documentação da API.
    8. Selecione a caixa de verificação Ignorar atribuição de grupos por agora.

    9. Para guardar a integração da app, clique em Guardar.

  4. Atribua uma integração de apps a um utilizador.

  5. Opcional: para adicionar atributos personalizados a um perfil de utilizador do Okta, faça o seguinte:

    1. Em Tipo de dados, selecione string.
    2. Em Nome a apresentar, introduza Department.
    3. Em Nome da variável, introduza department.
    4. Para guardar o mapeamento, clique em Guardar.

    Para saber como adicionar atributos personalizados, consulte o artigo Adicione atributos personalizados a um perfil de utilizador do Okta.

  6. Opcional: para criar mapeamentos para os atributos enviados no token OIDC, em Diretório, clique em Editor de perfis e faça o seguinte:

    1. Encontre a aplicação OIDC que criou anteriormente neste guia.
    2. Clique em Mapeamentos.
    3. Selecione o separador Okta User to App.
    4. No separador Perfil do utilizador do Okta, numa caixa de combinação disponível, introduza department. O Okta preenche automaticamente o campo com user.department.
    5. Para guardar os mapeamentos, clique em Guardar mapeamentos. Para mais detalhes, consulte o artigo Adicione o mapeamento de atributos.

    Para saber mais acerca dos mapeamentos, consulte o artigo Mapeie atributos do Okta para atributos da app no editor de perfis.

  7. Opcional: para configurar uma reivindicação de grupos, faça o seguinte:

    1. Se usar um servidor de autorização da organização, faça o seguinte:

      1. Aceda a Aplicações > Aplicações
      2. Selecione a aplicação cliente OpenID Connect que criou anteriormente nesta secção.
      3. Aceda ao separador Iniciar sessão
      4. Na secção Token de ID do OpenID Connect, clique em Editar.
      5. Na secção Tipo de reivindicação de grupos, pode selecionar uma das seguintes opções:
        • Selecione Expressão.
        • Selecione Corresponde à regex e introduza .*.
      6. Para guardar a reivindicação de grupos, clique em Guardar.
      7. Se quiser que os utilizadores iniciem sessão através da consola (federada) ou do fluxo de início de sessão baseado no navegador da CLI gcloud, faça o seguinte quando criar o fornecedor do pool de identidades da força de trabalho, mais adiante neste documento:

        1. Certifique-se de que usa as instruções da CLI gcloud para poder usar a flag --web-sso-additional-scopes.

        2. Quando criar o fornecedor do Workforce Identity Pool, transmita groups como um âmbito adicional em --web-sso-additional-scopes. Ao fazê-lo, pede a reivindicação dos grupos ao Okta durante o início de sessão.

    2. Se usar um servidor de autorização personalizado, faça o seguinte:

      1. Na consola do administrador, no menu Segurança, selecione API.
      2. Selecione o servidor de autorização personalizado que quer configurar.
      3. Aceda ao separador Reivindicações e clique em Adicionar reivindicação.
      4. Introduza um nome para a reivindicação. Para este exemplo, atribua-lhe o nome groups.
      5. Na sua reivindicação, em Incluir no tipo de token, selecione Token de ID e selecione Sempre.
      6. Selecione Grupos como o Tipo de valor.
      7. Na caixa de menu pendente Filtro, selecione Corresponde a regex e, de seguida, introduza a seguinte expressão como Valor: .*
      8. Clique em Criar.

Para mais detalhes sobre as reivindicações de grupos, consulte o artigo Adicione uma reivindicação de grupos.

SAML

Para criar uma integração da app Okta que use o protocolo SAML, siga os passos abaixo:

  1. Inicie sessão na consola do administrador do Okta.
  2. Aceda a Aplicações > Aplicações.
  3. Clique em Criar integração de apps.
  4. Em Método de início de sessão, selecione SAML 2.0 e clique em Seguinte.
  5. Introduza um nome para a app e clique em Seguinte para avançar para as opções de configuração do SAML.
  6. Em URL de início de sessão único, introduza um URL de redirecionamento. Este é o URL para o qual os utilizadores são redirecionados depois de iniciarem sessão com êxito. Se estiver a configurar o acesso à consola, use o seguinte formato de URL.

    https://auth.cloud.s3nscloud.fr/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
    

  7. Introduza o URI do público-alvo (SP Entity ID). O ID tem o seguinte formato:

    https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID

    Substitua o seguinte:

    • WORKFORCE_POOL_ID: o ID do Workload Identity Pool que criou anteriormente neste guia
    • WORKFORCE_PROVIDER_ID: um ID do fornecedor de identidade da força de trabalho à sua escolha; por exemplo: okta-saml-provider

    Para obter informações sobre a formatação do ID, consulte a secção Parâmetros de consulta na documentação da API.

  8. Opcional: use declarações de atributos para especificar quaisquer atributos personalizados que queira enviar na declaração SAML. Após a configuração, estes atributos podem ser usados em Trusted Cloud para criar políticas de gestão de acesso ou no attribute_condition; por exemplo, neste guia, mapeia o departamento da seguinte forma:

    Nome Valor
    department user.department

    Opcional: para adicionar a reivindicação de grupos, usada mais tarde neste guia, consulte Como transmitir a associação de um utilizador a um grupo numa afirmação SAML.

  9. Conclua a criação da integração da app Okta.

Crie um fornecedor do Workforce Identity Pool

Esta secção descreve como criar um fornecedor do pool de identidades da força de trabalho para permitir que os utilizadores do IdP acedam ao Trusted Cloud. Pode configurar o fornecedor para usar o protocolo OIDC ou SAML.

Crie um fornecedor do Workforce Identity Pool OIDC

Para criar um fornecedor do Workload Identity Pool para a integração da sua app Okta, usando o protocolo OIDC, faça o seguinte:

  1. Para obter o ID de cliente da integração da app Okta, faça o seguinte:

    1. Aceda à integração da app Okta.
    2. Clique no separador Geral.
    3. Copie o conteúdo do campo ID de cliente.
  2. Para criar um fornecedor do Workload Identity Pool de OIDC para início de sessão baseado na Web, faça o seguinte:

    gcloud

    Fluxo de código

    No Okta, faça o seguinte:

    1. Em Autenticação do cliente, selecione Segredo do cliente.

    2. Na tabela Segredos do cliente, localize o segredo e clique em Copiar.

    No Trusted Cloud, para criar um fornecedor OIDC que use o fluxo de código de autorização para o início de sessão na Web, execute o seguinte comando:

    gcloud iam workforce-pools providers create-oidc WORKFORCE_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" \ --detailed-audit-logging \ --location=global

    Substitua o seguinte:

    • WORKFORCE_PROVIDER_ID: um ID do fornecedor do Workload Identity Pool exclusivo. O prefixo gcp- está reservado e não pode ser usado num ID do Workload Identity Pool ou do fornecedor do Workload Identity Pool.
    • WORKFORCE_POOL_ID: o ID do Workforce Identity Pool para associar ao seu IdP.
    • DISPLAY_NAME: Um nome a apresentar opcional e fácil de usar para o fornecedor; por exemplo, idp-eu-employees.
    • DESCRIPTION: uma descrição opcional do fornecedor de mão de obra; por exemplo, IdP for Partner Example Organization employees.
    • ISSUER_URI: O URI do emissor OIDC, num formato de URI válido, que começa com https; por exemplo, https://example.com/oidc. Nota: por motivos de segurança, ISSUER_URI tem de usar o esquema HTTPS.
    • OIDC_CLIENT_ID: O ID de cliente do OIDC que está registado no seu IDP do OIDC; o ID tem de corresponder à reivindicação aud do JWT emitido pelo seu IDP.
    • OIDC_CLIENT_SECRET: O segredo do cliente OIDC.
    • WEB_SSO_ADDITIONAL_SCOPES: Âmbitos adicionais opcionais para enviar para o IdP OIDC para início de sessão baseado no navegador da consola (federado) ou da CLI gcloud; por exemplo, groups para pedir a reivindicação de grupos do Okta se estiver a usar o servidor de autorização da organização do Okta.
    • ATTRIBUTE_MAPPING: um mapeamento de atributos. Segue-se um exemplo de um mapeamento de atributos:
      google.subject=assertion.sub,
      google.groups=assertion.group1,
      attribute.costcenter=assertion.costcenter
      Este exemplo mapeia os atributos do IdP subject, group1 e costcenter na declaração OIDC para os atributos google.subject, google.groups e attribute.costcenter, respetivamente.
    • ATTRIBUTE_CONDITION: uma condição de atributo; por exemplo, assertion.subject.endsWith('@example.com') quando o valor de subject mapeado anteriormente contém um endereço de email que termina com @example.com.
    • JWK_JSON_PATH: um caminho opcional para um JWKs OIDC carregado localmente. Se este parâmetro não for fornecido, Trusted Cloud usa o caminho do seu IdP/.well-known/openid-configuration para obter os JWKs que contêm as chaves públicas. Para mais informações sobre os JWKs OIDC carregados localmente, consulte o artigo Faça a gestão dos JWKs OIDC.
    • A Workforce Identity Federation registra em registos de auditoria detalhados as informações recebidas do seu IdP no Logging. O registo de auditoria detalhado pode ajudar a resolver problemas de configuração do fornecedor do conjunto de identidades da força de trabalho. Para saber como resolver problemas de erros de mapeamento de atributos com registo de auditoria detalhado, consulte o artigo Erros gerais de mapeamento de atributos. Para saber mais sobre os preços do Logging, consulte os preços da observabilidade do Google Cloud.

      Para desativar o registo de auditoria detalhado para um fornecedor do Workload Identity Pool, omita a flag --detailed-audit-logging quando executar gcloud iam workforce-pools providers create. Para desativar o registo de auditoria detalhado, também pode atualizar o fornecedor.

    Na resposta ao comando, POOL_RESOURCE_NAME é o nome do conjunto; por exemplo, locations/global/workforcePools/enterprise-example-organization-employees.

    Fluxo implícito

    Para criar um fornecedor OIDC que use o fluxo implícito para início de sessão na Web, execute o seguinte comando:

    gcloud iam workforce-pools providers create-oidc WORKFORCE_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" \
        --detailed-audit-logging \
        --location=global
    

    Substitua o seguinte:

    • WORKFORCE_PROVIDER_ID: um ID do fornecedor do Workload Identity Pool exclusivo. O prefixo gcp- está reservado e não pode ser usado num ID do Workload Identity Pool ou do fornecedor do Workload Identity Pool.
    • WORKFORCE_POOL_ID: o ID do Workforce Identity Pool para associar ao seu IdP.
    • DISPLAY_NAME: Um nome a apresentar opcional e fácil de usar para o fornecedor; por exemplo, idp-eu-employees.
    • DESCRIPTION: uma descrição opcional do fornecedor de mão de obra; por exemplo, IdP for Partner Example Organization employees.
    • ISSUER_URI: O URI do emissor OIDC, num formato de URI válido, que começa com https; por exemplo, https://example.com/oidc. Nota: por motivos de segurança, ISSUER_URI tem de usar o esquema HTTPS.
    • OIDC_CLIENT_ID: O ID de cliente do OIDC que está registado no seu IDP do OIDC; o ID tem de corresponder à reivindicação aud do JWT emitido pelo seu IDP.
    • WEB_SSO_ADDITIONAL_SCOPES: Âmbitos adicionais opcionais para enviar para o IdP OIDC para início de sessão baseado no navegador da consola (federado) ou da CLI gcloud; por exemplo, groups para pedir a reivindicação de grupos do Okta se estiver a usar o servidor de autorização da organização do Okta.
    • ATTRIBUTE_MAPPING: um mapeamento de atributos. Segue-se um exemplo de um mapeamento de atributos:
      google.subject=assertion.sub,
      google.groups=assertion.group1,
      attribute.costcenter=assertion.costcenter
      Este exemplo mapeia os atributos do IdP subject, group1 e costcenter na declaração OIDC para os atributos google.subject, google.groups e attribute.costcenter, respetivamente.
    • ATTRIBUTE_CONDITION: uma condição de atributo; por exemplo, assertion.subject.endsWith('@example.com') quando o valor de subject mapeado anteriormente contém um endereço de email que termina com @example.com.
    • JWK_JSON_PATH: um caminho opcional para um JWKs OIDC carregado localmente. Se este parâmetro não for fornecido, Trusted Cloud usa o caminho do seu IdP/.well-known/openid-configuration para obter os JWKs que contêm as chaves públicas. Para mais informações sobre os JWKs OIDC carregados localmente, consulte o artigo Faça a gestão dos JWKs OIDC.
    • A Workforce Identity Federation registra em registos de auditoria detalhados as informações recebidas do seu IdP no Logging. O registo de auditoria detalhado pode ajudar a resolver problemas de configuração do fornecedor do conjunto de identidades da força de trabalho. Para saber como resolver problemas de erros de mapeamento de atributos com registo de auditoria detalhado, consulte o artigo Erros gerais de mapeamento de atributos. Para saber mais sobre os preços do Logging, consulte os preços da observabilidade do Google Cloud.

      Para desativar o registo de auditoria detalhado para um fornecedor do Workload Identity Pool, omita a flag --detailed-audit-logging quando executar gcloud iam workforce-pools providers create. Para desativar o registo de auditoria detalhado, também pode atualizar o fornecedor.

    Na resposta ao comando, POOL_RESOURCE_NAME é o nome do conjunto; por exemplo, locations/global/workforcePools/enterprise-example-organization-employees.

    Consola

    Fluxo de código

    1. No Okta, faça o seguinte:

      1. Em Autenticação do cliente, selecione Segredo do cliente.

      2. Na tabela Segredos do cliente, localize o segredo e clique em Copiar.

    2. Na Trusted Cloud consola, para criar um fornecedor OIDC que use o fluxo de código de autorização, faça o seguinte:

      1. Na Trusted Cloud consola, aceda à página Workforce Identity Pools:

        Aceda aos Workforce Identity Pools

      2. Na tabela Workforce Identity Pools, selecione o pool para o qual quer criar o fornecedor.

      3. Na tabela Fornecedores, clique em Adicionar fornecedor.

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

      5. Em Crie um fornecedor de pool, faça o seguinte:

        1. Em Nome, introduza o nome do fornecedor.
        2. Em Emissor (URL), introduza o URI do emissor. O URI do emissor do OIDC tem de estar num formato de URI válido e começar por https; por exemplo, https://example.com/oidc.
        3. Introduza o ID de cliente, o ID de cliente OIDC registado no seu IdP OIDC. O ID tem de corresponder à reivindicação aud do JWT emitido pelo seu IdP.
        4. Para criar um fornecedor ativado, certifique-se de que a opção Fornecedor ativado está ativada.
        5. Clique em Continuar.
      6. Em Tipo de fluxo, faça o seguinte. O tipo de fluxo é usado apenas para um fluxo de início de sessão único baseado na Web.

        1. Em Tipo de fluxo, selecione Código.
        2. Em Segredo do cliente, introduza o segredo do cliente do seu IdP.
        3. Em Comportamento das reivindicações de afirmação, selecione uma das seguintes opções:

          • Informações do utilizador e token de ID
          • Apenas token de ID
        4. Clique em Continuar.

      7. Em Configurar fornecedor, pode configurar um mapeamento de atributos e uma condição de atributo. Para criar um mapeamento de atributos, faça o seguinte. Pode indicar o nome do campo do IdP ou uma expressão formatada em CEL que devolva uma string.

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

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

          1. Clique em Adicionar mapeamento.
          2. No Google n, em que n é um número, introduza uma das teclas suportadas.Trusted Cloud
          3. No campo OIDC n correspondente, introduza o nome do campo específico do IdP a mapear, 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 de atributos, introduza uma condição no formato CEL; por exemplo, assertion.subject.endsWith('@example.com') quando o valor de subject mapeado anteriormente contém um endereço de email que termina com @example.com.
        4. Para ativar o registo de auditoria detalhado, em Registo detalhado, clique no botão para ativar/desativar Ativar registo detalhado de valores de atributos.

          A Workforce Identity Federation registra em registos de auditoria detalhados as informações recebidas do seu IdP no Logging. O registo de auditoria detalhado pode ajudar a resolver problemas de configuração do fornecedor do conjunto de identidades da força de trabalho. Para saber como resolver problemas de erros de mapeamento de atributos com registo de auditoria detalhado, consulte o artigo Erros gerais de mapeamento de atributos. Para saber mais sobre os preços do Logging, consulte os preços da observabilidade do Google Cloud.

          Para desativar o registo de auditoria detalhado para um fornecedor do Workload Identity Pool, omita a flag --detailed-audit-logging quando executar gcloud iam workforce-pools providers create. Para desativar o registo de auditoria detalhado, também pode atualizar o fornecedor.

      8. Para criar o fornecedor, clique em Enviar.

    Fluxo implícito

    1. Na Trusted Cloud Trusted Cloud consola, faça o seguinte:

      1. Na Trusted Cloud consola, aceda à página Workforce Identity Pools:

        Aceda aos Workforce Identity Pools

      2. Na tabela Workforce Identity Pools, selecione o pool para o qual quer criar o fornecedor.

      3. Na tabela Fornecedores, clique em Adicionar fornecedor.

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

      5. Em Crie um fornecedor de pool, faça o seguinte:

        1. Em Nome, introduza um nome para o fornecedor.
        2. Em Emissor (URL), introduza o URI do emissor. O URI do emissor do OIDC tem de estar num formato de URI válido e começar por https; por exemplo, https://example.com/oidc.
        3. Introduza o ID de cliente, o ID de cliente OIDC registado no seu IdP OIDC. O ID tem de corresponder à reivindicação aud do JWT emitido pelo seu IdP.
        4. Para criar um fornecedor ativado, certifique-se de que a opção Fornecedor ativado está ativada.
        5. Clique em Continuar.
      6. Em Tipo de fluxo, faça o seguinte. O tipo de fluxo é usado apenas para um fluxo de início de sessão único baseado na Web.

        1. Em Tipo de fluxo, selecione Token de ID.
        2. Clique em Continuar.
      7. Em Configurar fornecedor, pode configurar um mapeamento de atributos e uma condição de atributo. Para criar um mapeamento de atributos, faça o seguinte. Pode indicar o nome do campo do IdP ou uma expressão formatada em CEL que devolva uma string.

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

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

          1. Clique em Adicionar mapeamento.
          2. No Google n, em que n é um número, introduza uma das teclas suportadas.Trusted Cloud
          3. No campo OIDC n correspondente, introduza o nome do campo específico do IdP a mapear, 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 de atributos, introduza uma condição no formato CEL; por exemplo, assertion.subject.endsWith('@example.com') quando o valor de subject mapeado anteriormente contém um endereço de email que termina com @example.com.

        4. Para ativar o registo de auditoria detalhado, em Registo detalhado, clique no botão para ativar/desativar Ativar registo detalhado de valores de atributos.

          A Workforce Identity Federation registra em registos de auditoria detalhados as informações recebidas do seu IdP no Logging. O registo de auditoria detalhado pode ajudar a resolver problemas de configuração do fornecedor do conjunto de identidades da força de trabalho. Para saber como resolver problemas de erros de mapeamento de atributos com registo de auditoria detalhado, consulte o artigo Erros gerais de mapeamento de atributos. Para saber mais sobre os preços do Logging, consulte os preços da observabilidade do Google Cloud.

          Para desativar o registo de auditoria detalhado para um fornecedor do Workload Identity Pool, omita a flag --detailed-audit-logging quando executar gcloud iam workforce-pools providers create. Para desativar o registo de auditoria detalhado, também pode atualizar o fornecedor.

      8. Para criar o fornecedor, clique em Enviar.

Crie um fornecedor do Workload Identity Pool SAML

  1. No seu IdP SAML, registe uma nova aplicação para a Trusted Cloud federação de identidade da força de trabalho.

  2. Defina o público-alvo para as afirmações SAML. Normalmente, é o campo SP Entity ID na configuração do IdP. Tem de defini-lo para o seguinte URL:

    https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
    
  3. Defina o URL de redirecionamento, também conhecido como URL do serviço de consumo de declarações (ACS). Para definir o URL de redirecionamento, localize o campo do URL de redirecionamento no seu IdP SAML e faça uma das seguintes ações:

    • Para configurar o início de sessão baseado no navegador através da Trusted Cloud consola ou outro método de início de sessão baseado no navegador, introduza o seguinte URL:

      https://auth.cloud.s3nscloud.fr/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
      

      Substitua o seguinte:

      • WORKFORCE_POOL_ID: o ID do Workforce Identity Pool

      • WORKFORCE_PROVIDER_ID: o ID do fornecedor do Workload Identity Pool que cria mais tarde neste documento.

    • Para configurar o início de sessão programático através do seu IdP, introduza o seguinte URL:

      localhost
      

    Consulte o artigo Configure o acesso dos utilizadores à consola para ver mais detalhes sobre a configuração do início de sessão na consola.

  4. No Trusted Cloud, crie um fornecedor do Workload Identity Pool SAML com o documento de metadados SAML do seu IdP. Pode transferir o documento XML de metadados SAML do seu IdP. O documento tem de incluir, pelo menos, o seguinte:

    • Um ID da entidade SAML para o seu IdP.
    • O URL de Início de sessão único do seu IdP.
    • Pelo menos, uma chave pública de assinatura. Consulte os requisitos principais mais adiante neste guia para ver detalhes sobre as chaves de assinatura.

gcloud

Para criar um fornecedor do Workload Identity Pool para a integração da sua app Okta, através do protocolo SAML, faça o seguinte:

  1. Para guardar os metadados SAML da sua app Okta, faça o seguinte:

    1. Aceda à app Okta.
    2. Clique no separador Início de sessão.
    3. Na secção Certificados de assinatura SAML, clique em Ações > Ver metadados do IdP para o certificado ativo.
    4. Na nova página apresentada, copie os metadados XML.
    5. Guarde os metadados como um ficheiro XML local.
  2. Para criar um fornecedor de força de trabalho para a sua app Okta, 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" \
        --detailed-audit-logging \
        --location="global"
    

    Substitua o seguinte:

    • WORKFORCE_PROVIDER_ID: o ID do fornecedor de força de trabalho que criou anteriormente neste guia.
    • WORKFORCE_POOL_ID: o ID do Workload Identity Pool que criou anteriormente neste guia.
    • ATTRIBUTE_MAPPING: um mapeamento de atributos, 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] para os atributos Trusted Cloud google.subject, google.groups e google.costcenter, respetivamente.

    • ATTRIBUTE_CONDITION: uma condição de atributo opcional. Por exemplo, para limitar o atributo ipaddr a um determinado intervalo de IPs, pode definir a condição assertion.attributes.ipaddr.startsWith('98.11.12.'). Esta condição de exemplo garante que apenas os utilizadores com um endereço IP que comece por 98.11.12. podem iniciar sessão através deste fornecedor de força de trabalho.

    • XML_METADATA_PATH: o caminho para o ficheiro de metadados formatado em XML para a app Okta que criou anteriormente neste guia.

    O prefixo gcp- está reservado e não pode ser usado num ID do Workload Identity Pool ou do fornecedor do Workload Identity Pool.

    • A Workforce Identity Federation registra em registos de auditoria detalhados as informações recebidas do seu IdP no Logging. O registo de auditoria detalhado pode ajudar a resolver problemas de configuração do fornecedor do conjunto de identidades da força de trabalho. Para saber como resolver problemas de erros de mapeamento de atributos com registo de auditoria detalhado, consulte o artigo Erros gerais de mapeamento de atributos. Para saber mais sobre os preços do Logging, consulte os preços da observabilidade do Google Cloud.

      Para desativar o registo de auditoria detalhado para um fornecedor do Workload Identity Pool, omita a flag --detailed-audit-logging quando executar gcloud iam workforce-pools providers create. Para desativar o registo de auditoria detalhado, também pode atualizar o fornecedor.

    Opcional: aceite afirmações SAML encriptadas do seu IdP

    Para permitir que o seu IdP SAML 2.0 produza afirmações SAML encriptadas que podem ser aceites pela federação de identidade da força de trabalho, faça o seguinte:

    • Na federação de identidade da força de trabalho, faça o seguinte:
      • Crie um par de chaves assimétricas para o fornecedor do Workload Identity Pool.
      • Transferir um ficheiro de certificado que contém a chave pública.
      • Configure o seu IdP SAML para usar a chave pública para encriptar as afirmações SAML que emite.
    • No IdP, faça o seguinte:
      • Ative a encriptação de afirmações, também conhecida como encriptação de tokens.
      • Carregue a chave pública que criou na federação de identidade da força de trabalho.
      • Confirme que o seu IdP produz afirmações SAML encriptadas.
    Tenha em atenção que, mesmo com as chaves do fornecedor de encriptação SAML configuradas, a federação de identidade da força de trabalho pode continuar a processar uma afirmação de texto simples.

    Crie chaves de encriptação de afirmações SAML da federação de identidade da força de trabalho

    Esta secção explica como criar um par de chaves assimétricas que permite à federação de identidade da força de trabalho aceitar afirmações SAML encriptadas.

    Trusted Cloud by S3NS usa a chave privada para desencriptar as afirmações SAML emitidas pelo seu IdP. Para criar um par de chaves assimétricas para utilização com a encriptação SAML, execute o seguinte comando. Para saber mais, consulte o artigo Algoritmos de encriptação SAML suportados.

    gcloud iam workforce-pools providers keys create KEY_ID \
        --workforce-pool WORKFORCE_POOL_ID \
        --provider WORKFORCE_PROVIDER_ID \
        --location global \
        --use encryption \
        --spec KEY_SPECIFICATION

    Substitua o seguinte:

    • KEY_ID: um nome de chave à sua escolha
    • WORKFORCE_POOL_ID: o ID da piscina
    • WORKFORCE_PROVIDER_ID: o ID do fornecedor do Workforce Identity Pool
    • KEY_SPECIFICATION: a especificação principal, que pode ser uma das seguintes: rsa-2048, rsa-3072 e rsa-4096.

    Depois de criar o par de chaves, para transferir a chave pública para um ficheiro de certificado, execute o seguinte comando. Apenas a federação de identidade da força de trabalho tem acesso à chave privada.

    gcloud iam workforce-pools providers keys describe KEY_ID \
        --workforce-pool WORKFORCE_POOL_ID \
        --provider WORKFORCE_PROVIDER_ID \
        --location global \
        --format "value(keyData.key)" \
        > CERTIFICATE_PATH

    Substitua o seguinte:

    • KEY_ID: o nome da chave
    • WORKFORCE_POOL_ID: o ID da piscina
    • WORKFORCE_PROVIDER_ID: o ID do fornecedor do Workforce Identity Pool
    • CERTIFICATE_PATH: o caminho para escrever o certificado, por exemplo, saml-certificate.cer ou saml-certificate.pem

    Configure o seu IdP compatível com SAML 2.0 para emitir afirmações SAML encriptadas

    Para configurar o Okta para encriptar afirmações SAML, faça o seguinte:

    • Aceda ao painel de controlo do Okta e inicie sessão.
    • Aceda a Aplicações>Aplicações.
    • Clique na sua app.
    • No separador Geral, na secção Definições de SAML, clique em Editar.
    • Clique em Seguinte para ver as Definições de SAML.
    • Clique em Mostrar definições avançadas.
    • Em Definições de SAML, faça o seguinte:
      • Em Resposta (preferencial) ou Assinatura de afirmação, selecione Signed.
      • Em Algoritmo de assinatura e Algoritmo de resumo, selecione qualquer opção.
      • Defina os seguintes valores:
        • Encriptação de afirmações: encriptada.
        • Algoritmo de encriptação: qualquer algoritmo que escolher.
        • Certificado de encriptação: carregue o ficheiro de certificado que gerou anteriormente neste guia.
    • Para guardar a configuração, clique em Seguinte e, de seguida, em Concluir

    Depois de configurar o IdP para encriptar afirmações SAML, recomendamos que verifique se as afirmações que gera estão realmente encriptadas. Mesmo com a encriptação de afirmações SAML configurada, a federação de identidade da força de trabalho pode continuar a processar afirmações de texto simples.

    Elimine as chaves de encriptação da federação de identidade da força de trabalho

    Para eliminar chaves de encriptação SAML, execute o seguinte comando:
      gcloud iam workforce-pools providers keys delete KEY_ID \
          --workforce-pool WORKFORCE_POOL_ID \
          --provider WORKFORCE_PROVIDER_ID \
          --location global

    Substitua o seguinte:

    • KEY_ID: o nome da chave
    • WORKFORCE_POOL_ID: o ID da piscina
    • WORKFORCE_PROVIDER_ID: o ID do fornecedor do Workforce Identity Pool

    Algoritmos de encriptação SAML suportados

    A federação de identidade da força de trabalho suporta os seguintes algoritmos de transporte de chaves:

    A federação de identidade da força de trabalho suporta os seguintes algoritmos de encriptação de blocos:

Consola

Para configurar o fornecedor de SAML através da Trusted Cloud consola, faça o seguinte:

  1. Na Trusted Cloud consola, aceda à página Workforce Identity Pools:

    Aceda aos Workforce Identity Pools

  2. Na tabela Workforce Identity Pools, selecione o pool para o qual quer criar o fornecedor.

  3. Na tabela Fornecedores, clique em Adicionar fornecedor.

  4. Em Selecione um protocolo, selecione SAML.

  5. Em Criar um fornecedor do Workload Identity Pool, faça o seguinte:

    1. Em Nome, introduza um nome para o fornecedor.

    2. Opcional: em Descrição, introduza uma descrição do fornecedor.

    3. Em Ficheiro de metadados do IDP (XML), selecione o ficheiro XML de metadados que gerou anteriormente neste guia.

    4. Certifique-se de que a opção Fornecedor ativado está ativada.

    5. Clique em Continuar.

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

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

    2. Opcional: para introduzir outros mapeamentos, clique em Adicionar mapeamento e introduza outros mapeamentos, 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] para os atributos Trusted Cloud google.subject, google.groups e google.costcenter, respetivamente.

    3. Opcional: para adicionar uma condição de atributo, clique em Adicionar condição e introduza uma expressão CEL que represente uma condição de atributo. Por exemplo, para limitar o atributo ipaddr a um determinado intervalo de IPs, pode definir a condição assertion.attributes.ipaddr.startsWith('98.11.12.'). Esta condição de exemplo garante que apenas os utilizadores com um endereço IP que comece por 98.11.12. podem iniciar sessão através deste fornecedor de força de trabalho.

    4. Clique em Continuar.

    5. Para ativar o registo de auditoria detalhado, em Registo detalhado, clique no botão para ativar/desativar Ativar registo detalhado de valores de atributos.

      A Workforce Identity Federation registra em registos de auditoria detalhados as informações recebidas do seu IdP no Logging. O registo de auditoria detalhado pode ajudar a resolver problemas de configuração do fornecedor do conjunto de identidades da força de trabalho. Para saber como resolver problemas de erros de mapeamento de atributos com registo de auditoria detalhado, consulte o artigo Erros gerais de mapeamento de atributos. Para saber mais sobre os preços do Logging, consulte os preços da observabilidade do Google Cloud.

      Para desativar o registo de auditoria detalhado para um fornecedor do Workload Identity Pool, omita a flag --detailed-audit-logging quando executar gcloud iam workforce-pools providers create. Para desativar o registo de auditoria detalhado, também pode atualizar o fornecedor.

  7. Para criar o fornecedor, clique em Enviar.

Faça a gestão do acesso aos recursos do Trusted Cloud

Esta secção fornece um exemplo que mostra como gerir o acesso aos recursos por parte dos utilizadores da Workforce Identity Federation.Trusted Cloud

Neste exemplo, concede uma função de gestão de identidade e de acesso (IAM) num projeto de exemplo. Em seguida, os utilizadores podem iniciar sessão e usar este projeto para aceder aos Trusted Cloud produtos.

Pode gerir funções da IAM para identidades únicas, um grupo de identidades ou um conjunto completo. Para mais informações, consulte o artigo Represente utilizadores do Workforce Identity Pool em políticas do IAM.

Trusted Cloud

Para uma única identidade

Para conceder a função de administrador do armazenamento (roles/storage.admin) a uma única identidade para o projeto TEST_PROJECT_ID, execute o seguinte comando:

gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
    --role="roles/storage.admin" \
    --member="principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/SUBJECT_VALUE"

Substitua o seguinte:

  • TEST_PROJECT_ID: ID do projeto
  • WORKFORCE_POOL_ID: o ID do Workforce Identity Pool
  • SUBJECT_VALUE: a identidade do utilizador

Usar o atributo de departamento mapeado

Para conceder a função de administrador do armazenamento (roles/storage.admin) a todas as identidades num departamento específico para o projeto TEST_PROJECT_ID, execute o seguinte comando:

gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
    --role="roles/storage.admin" \
    --member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/attribute.department/DEPARTMENT_VALUE"

Substitua o seguinte:

  • TEST_PROJECT_ID: ID do projeto
  • WORKFORCE_POOL_ID: o ID do Workforce Identity Pool
  • DEPARTMENT_VALUE: o valor attribute.department mapeado

Usar grupos mapeados

Para conceder a função de administrador do armazenamento (roles/storage.admin) a todas as identidades num grupo específico para o projeto TEST_PROJECT_ID, execute o seguinte comando:

gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
    --role="roles/storage.admin" \
    --member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"

Substitua o seguinte:

  • TEST_PROJECT_ID: ID do projeto
  • WORKFORCE_POOL_ID: o ID do Workforce Identity Pool
  • GROUP_ID: um grupo na reivindicação google.groups mapeada.

Inicie sessão e teste o acesso

Nesta secção, inicia sessão como utilizador do Workload Identity Pool e testa se tem acesso a um produto Trusted Cloud .

Iniciar sessão

Esta secção mostra-lhe como iniciar sessão como utilizador federado e aceder a Trusted Cloud by S3NS recursos.

Início de sessão baseado no navegador da CLI gcloud

Para iniciar sessão na gcloud CLI através de um fluxo de início de sessão baseado no navegador, faça o seguinte:

Crie um ficheiro de configuração

Para criar o ficheiro de configuração de início de sessão, execute o seguinte comando. Opcionalmente, pode ativar o ficheiro como predefinição para a CLI gcloud adicionando a flag --activate. Em seguida, pode executar o comando gcloud auth login sem especificar o caminho do ficheiro de configuração de cada vez.

gcloud iam workforce-pools create-login-config \
    locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID \
    --output-file=LOGIN_CONFIG_FILE_PATH

Substitua o seguinte:

  • WORKFORCE_POOL_ID: o ID do Workforce Pool
  • PROVIDER_ID: o ID do fornecedor
  • LOGIN_CONFIG_FILE_PATH: o caminho para um ficheiro de configuração que especifica, por exemplo, login.json

O ficheiro contém os pontos finais usados pela CLI gcloud para ativar o fluxo de autenticação baseado no navegador e definir o público-alvo para o IdP que foi configurado no fornecedor do Workload Identity Pool. O ficheiro não contém informações confidenciais.

O resultado tem um aspeto semelhante ao seguinte:

{
  "type": "external_account_authorized_user_login_config",
  "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID",
  "auth_url": "https://auth.cloud.s3nscloud.fr/authorize",
  "token_url": "https://sts.s3nsapis.fr/v1/oauthtoken",
  "token_info_url": "https://sts.s3nsapis.fr/v1/introspect",
}

Para impedir que o gcloud auth login use este ficheiro de configuração automaticamente, pode anular a definição executando o comando gcloud config unset auth/login_config_file.

Inicie sessão através da autenticação baseada no navegador

Para autenticar através da autenticação de início de sessão baseada no navegador, pode usar um dos seguintes métodos:

  • Se usou a flag --activate quando criou o ficheiro de configuração ou se ativou o ficheiro de configuração com gcloud config set auth/login_config_file, a CLI gcloud usa o ficheiro de configuração automaticamente:

    gcloud auth login
  • Para iniciar sessão especificando a localização do ficheiro de configuração, execute o seguinte comando:

    gcloud auth login --login-config=LOGIN_CONFIG_FILE_PATH
  • Para usar uma variável de ambiente para especificar a localização do ficheiro de configuração, defina CLOUDSDK_AUTH_LOGIN_CONFIG_FILE para o caminho de configuração.

Desative o início de sessão com base no navegador

Para descontinuar a utilização do ficheiro de configuração de início de sessão, faça o seguinte:

  • Se usou a flag --activate quando criou o ficheiro de configuração ou se ativou o ficheiro de configuração com gcloud config set auth/login_config_file, tem de executar o seguinte comando para anular a definição:

    gcloud config unset auth/login_config_file
  • Limpe a variável de ambiente CLOUDSDK_AUTH_LOGIN_CONFIG_FILE, se estiver definida.

Início de sessão sem interface da CLI gcloud

Para iniciar sessão na CLI gcloud através de um fluxo sem interface gráfica, faça o seguinte:

OIDC

  1. Inicie sessão num utilizador na sua app Okta e obtenha o token OIDC do Okta.

  2. Guarde o token OIDC devolvido pela Okta num local seguro na sua máquina local.

  3. Para gerar um ficheiro de configuração como o do exemplo mais adiante neste passo, execute o seguinte comando:

    gcloud iam workforce-pools create-cred-config \
        locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \
        --subject-token-type="urn:ietf:params:oauth:token-type:id_token" \
        --credential-source-file="PATH_TO_OIDC_ID_TOKEN" \
        --workforce-pool-user-project="WORKFORCE_POOL_USER_PROJECT" \
        --output-file="config.json"
    

Substitua o seguinte:

  • WORKFORCE_POOL_ID: o ID do Workforce Identity Pool
  • WORKFORCE_PROVIDER_ID: o ID do fornecedor
  • PATH_TO_OIDC_TOKEN: o caminho para o ficheiro de credenciais do IdP do OIDC
  • WORKFORCE_POOL_USER_PROJECT: o número do projeto associado ao projeto do utilizador dos conjuntos de trabalhadores

O principal tem de ter a autorização serviceusage.services.use neste projeto.

Quando executa o comando, este produz um ficheiro de configuração do IdP do OIDC com um formato semelhante ao seguinte:

{
  "type": "external_account",
  "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID",
  "subject_token_type": "urn:ietf:params:oauth:token-type:id_token",
  "token_url": "https://sts.googleapis.com/v1/token",
  "workforce_pool_user_project": "WORKFORCE_POOL_USER_PROJECT",
  "credential_source": {
    "file": "PATH_TO_OIDC_CREDENTIALS_FILE"
  }
}

SAML

  1. Inicie sessão num utilizador na sua app Okta e obtenha a resposta SAML do Okta.

  2. Guarde a resposta SAML devolvida pela Okta numa localização segura na sua máquina local e, em seguida, armazene o caminho da seguinte forma:

    SAML_ASSERTION_PATH=SAML_ASSERTION_PATH
    
  3. Para gerar um ficheiro de configuração, execute o seguinte comando:

    gcloud iam workforce-pools create-cred-config \
        locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \
        --subject-token-type="urn:ietf:params:oauth:token-type:saml2" \
        --credential-source-file="SAML_ASSERTION_PATH"  \
        --workforce-pool-user-project="PROJECT_ID"  \
        --output-file="config.json"
    

    Substitua o seguinte:

    • WORKFORCE_PROVIDER_ID: o ID do fornecedor da força de trabalho que criou anteriormente neste guia.
    • WORKFORCE_POOL_ID: o ID do Workload Identity Pool que criou anteriormente neste guia.
    • SAML_ASSERTION_PATH: o caminho do ficheiro de declaração SAML.
    • PROJECT_ID: o ID do projeto

    O ficheiro de configuração gerado tem um aspeto semelhante ao seguinte:

    {
      "type": "external_account",
      "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID",
      "subject_token_type": "urn:ietf:params:oauth:token-type:saml2",
      "token_url": "https://sts.googleapis.com/v1/token",
      "credential_source": {
        "file": "SAML_ASSERTION_PATH"
      },
      "workforce_pool_user_project": "PROJECT_ID"
    }
    

Para iniciar sessão no gcloud através da troca de tokens, execute o seguinte comando:

gcloud auth login --cred-file="config.json"

gcloud, em seguida, troca de forma transparente as suas credenciais do Okta por símbolos de acesso temporários, o que lhe permite fazer outras chamadas para gcloud Trusted Cloud.Trusted Cloud

Vê um resultado semelhante ao seguinte:

Authenticated with external account user credentials for:
[principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_ID].

Para listar as contas com credenciais e a conta atualmente ativa, execute o seguinte comando:

gcloud auth list

Início de sessão na consola (federado)

Para iniciar sessão na Trusted Cloud by S3NS consola da federação de identidade da força de trabalho, também conhecida como consola (federada), faça o seguinte:

  1. Aceda à página de início de sessão (federado) da consola.

    Aceda à consola (federada)

  2. Introduza o nome do fornecedor, que está formatado da seguinte forma:
    locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
    1. Introduza as credenciais do utilizador na integração da app Okta, se lhe for pedido.

    Se iniciar um início de sessão iniciado pelo IdP, use o seguinte URL nas definições SAML para o parâmetro aninhado Default RelayState: https://console.cloud.s3nscloud.fr/.

Teste o acesso

Agora, tem acesso aos serviços Trusted Cloud que suportam a federação de identidades da força de trabalho e aos quais lhe é concedido acesso. Anteriormente, neste guia, concedeu a função de administrador do armazenamento (roles/storage.admin) a todas as identidades num departamento específico para o projeto TEST_PROJECT_ID. Agora, pode testar se tem acesso listando os contentores do Cloud Storage.

CLI gcloud

Para apresentar uma lista dos contentores e objetos do Cloud Storage para o projeto ao qual tem acesso, execute o seguinte comando:

gcloud storage ls --project="TEST_PROJECT_ID"

O principal tem de ter a autorização serviceusage.services.use no projeto especificado.

Consola (federada)

Para apresentar uma lista de contentores do Cloud Storage através da consola (federada), faça o seguinte:

  • Aceda à página do Cloud Storage.
  • Verifique se consegue ver a lista de contentores existentes para o TEST_PROJECT_ID

Eliminar utilizadores

A federação de identidade da força de trabalho cria metadados e recursos do utilizador para identidades de utilizadores federadas. Se optar por eliminar utilizadores no seu IdP, também tem de eliminar explicitamente estes recursos no Trusted Cloud. Para o fazer, consulte o artigo Elimine utilizadores da Federação de identidades da força de trabalho e os respetivos dados.

Pode ver que os recursos continuam associados a um utilizador que foi eliminado. Isto deve-se ao facto de a eliminação de metadados e recursos do utilizador exigir uma operação de longa duração. Depois de iniciar a eliminação da identidade de um utilizador, os processos que o utilizador iniciou antes da eliminação podem continuar a ser executados até serem concluídos ou cancelados.

O que se segue?