Resolver problemas com a federação de identidade de colaboradores

Nesta página, mostramos como resolver problemas comuns com a federação de identidade da força de trabalho.

Inspecionar a resposta do IdP

Nesta seção, mostramos como inspecionar a resposta do provedor de identidade (IdP) para resolver problemas listados neste documento.

Login com base no navegador

Para inspecionar a resposta retornada pelo IdP, gere um arquivo HAR usando a ferramenta da sua escolha. Por exemplo, use o Google Admin Toolbox HAR Analyzer, que fornece instruções para gerar um arquivo HAR e as ferramentas para fazer upload e analisar.

SAML

Para inspecionar a resposta do IdP SAML, siga estas etapas:

  1. Localize o valor do parâmetro de solicitação SAMLResponse no arquivo HAR registrado no URL com o caminho /signin-callback.
  2. Decodifique com uma ferramenta de sua escolha. Por exemplo, você pode usar o Google Admin Toolbox Encode/Decode.

OIDC

Para inspecionar a resposta do IdP OIDC, siga estas etapas: Essa abordagem não funciona com o fluxo de código.

  1. Procure o parâmetro de solicitação id_token no arquivo HAR que é registrado em um URL com o caminho /signin-callback.
  2. Decodifique-o usando uma ferramenta de depuração JWT de sua escolha.

CLI da gcloud

Para inspecionar a resposta do IdP ao usar a CLI gcloud, copie o conteúdo do arquivo transmitido na flag --credential-source-file ao executar o comando gcloud iam workforce-pools create-cred-config e siga estas etapas:

SAML

Decodifique a resposta do IdP SAML usando a ferramenta que preferir. Por exemplo, use o Google Admin Toolbox Encode/Decode.

OIDC

Decodifique a resposta do IdP do OIDC usando a ferramenta de depuração JWT de sua escolha.

Revisão de registros

Para determinar se Google Cloud está se comunicando com seu IdP e analisar as informações da transação, inspecione os registros de auditoria do Cloud.

Para ver exemplos de registros, consulte Exemplos de registros de auditoria.

Erros de gerenciamento de provedor e pool de funcionários

Nesta seção, fornecemos sugestões para corrigir erros comuns que você pode encontrar ao gerenciar pools e provedores.

Erros gerais de mapeamento de atributos

Para resolver problemas de mapeamento de atributos do provedor de pool de identidades de colaboradores, faça o seguinte:

  • Inspecione os atributos, também conhecidos como declarações, na configuração do IdP. Verifique como os mapeamentos de atributos convertem atributos do IdP em atributos do Google Cloud e como as condições avaliam esses atributos para permitir ou negar o acesso no console do Google Cloud .

    1. Verifique se você tem o papel Editor de pool de forças de trabalho do IAM (roles/iam.workforcePoolEditor).
    2. Para ativar o fluxo de login baseado em navegador para a federação de identidade de colaboradores, adicione https://auth.cloud.google/signin-callback/locations/global/workforcePools/POOL_ID/providers/PROVIDER_ID à lista de URIs de redirecionamento permitidos do seu IdP.
    3. No console do Google Cloud , acesse Pools de identidade da força de trabalho.

      Acessar pools de identidade de colaboradores
    4. Na lista de pools, clique no nome do pool que você quer verificar.
    5. Na página Detalhes do pool de força de trabalho, clique no nome do IdP que você quer verificar.
    6. Na página Detalhes do provedor, clique em Depurar token do IdP.
    7. Na caixa de diálogo Fazer login, faça login no IdP como um usuário de teste.

    A página Validar os atributos do seu provedor mostra os atributos mapeados e o resultado da condição de atributo.

    A seção Atributos mapeados do token do IdP mostra como os atributos do Google, como google.subject, são preenchidos com base no token do IdP de acordo com sua configuração de mapeamento. Um ícone de erro aparece se um mapeamento estiver incorreto.

    A seção Condição de atributo mostra o resultado booleano da sua condição. Se a condição for avaliada como false, o login será bloqueado.

    Para ver o token de declaração completo, clique em Ver token completo. Isso mostra o objeto JSON bruto do seu IdP. Faça referência a uma propriedade de nível superior nos mapeamentos usando o formato assertion.PROPERTY_NAME.

    Para corrigir erros, edite a configuração:

    1. Na página Validar atributos do provedor, clique em Editar.
    2. Faça as mudanças necessárias.
    3. Para iniciar um novo teste e conferir os resultados atualizados, clique em Salvar e buscar token novamente.

  • Inspecione os tokens gerados pelo seu IdP. Para saber como gerar um token do seu IdP, consulte a documentação dele.

  • Analise o registro de auditoria detalhado da federação de identidade de colaboradores nos registros de auditoria do Cloud.

O registro de auditoria detalhado registra erros de autenticação e autorização, além de reivindicações recebidas pela federação de identidade da força de trabalho.

É possível ativar o registro de auditoria detalhado ao criar o provedor do pool de identidades da força de trabalho. Para ativar o registro de auditoria detalhado, adicione a flag --detailed-audit-logging ao criar o provedor de pool de identidades da força de trabalho.

Permissão negada

Esse erro ocorre quando o usuário que tenta configurar a federação de identidade de colaboradores não tem o papel Administrador de pool de força de trabalho do IAM (roles/iam.workforcePoolAdmin).

INVALID_ARGUMENT: configuração de logon único da Web do OIDC ausente

O seguinte erro ocorre quando os campos web-sso-response-type e web-sso-assertion-claims-behavior não são definidos ao criar um provedor de pool de identidade do OIDC:

ERROR: (gcloud.iam.workforce-pools.providers.create-oidc) INVALID_ARGUMENT: Missing OIDC web single sign-on config.

Para resolver esse erro, siga as etapas na seção Criar um provedor para definir os campos adequadamente ao criar o provedor de pool de identidade da força de trabalho do OIDC.

Limite de taxa excedido. Tente novamente mais tarde.

Esse erro ocorre quando você atinge o limite da cota para recursos do pool da força de trabalho. Entre em contato com o representante da sua conta do Google Cloud para pedir um aumento de cota.

Erros no login

Esta seção fornece sugestões para corrigir erros comuns que um usuário da federação de identidade da força de trabalho pode encontrar ao fazer login.

Erros comuns de login

A credencial especificada é rejeitada pela condição do atributo

Esse erro ocorre quando a condição de atributo definida no provedor de pool de identidade da força de trabalho não é atendida.

Por exemplo, considere a seguinte condição de atributo:

SAML

'gcp-users' in assertion.attributes.groups

OIDC

'gcp-users' in assertion.groups

Nesse caso, você vai ver o erro se a lista de grupos enviados no atributo groups pelo IdP não contiver gcp-users.

Para resolver esse erro, siga estas etapas:

  1. Descreva o provedor que foi usado para fazer login e verifique se o attributeCondition está correto. Para mais informações sobre operações compatíveis com condições, consulte a Definição de idioma.

  2. Siga as etapas em inspecionar a resposta do IdP para ver os atributos retornados pelo IdP e confirmar se a condição do atributo está correta e precisa.

  3. Faça login no Admin Console do IdP e verifique se os atributos do IdP referenciados na condição estão configurados corretamente. Se necessário, consulte a documentação do IdP.

O atributo mapeado deve ser do tipo STRING

Esse erro ocorre para um provedor de pool de identidade de força de trabalho SAML quando o atributo especificado na mensagem de erro precisa ser uma STRING de valor único, mas é mapeado para uma lista no mapeamento de atributos.

Por exemplo, considere um provedor de pool de identidade de força de trabalho SAML que tenha o mapeamento de atributos, attribute.role=assertion.attributes.userRole. Em uma declaração SAML, um Attribute pode ter várias tags AttributeValue, conforme mostrado no exemplo a seguir. Assim, todos os atributos SAML são considerados listas, portanto, assertion.attributes.userRole é uma lista.

<saml:Attribute Name="userRole">
    <saml:AttributeValue>
      security-admin
    </saml:AttributeValue>
    <saml:AttributeValue>
      user
    </saml:AttributeValue>
</saml:Attribute>

Neste exemplo, você pode ver o seguinte erro:

The mapped attribute 'attribute.role' must be of type STRING

Para resolver esse problema, siga estas etapas:

  1. Descreva o provedor usado para fazer login e identifique o atributo do IdP definido no attributeMapping. Compare o atributo com o atributo apresentado na mensagem de erro. No exemplo anterior, um atributo do IdP chamado userRole é mapeado para o atributo role, e o atributo role aparece no exemplo de erro acima.

  2. Ao atualizar o mapeamento de atributos, considere o seguinte:

    • Se o atributo que causa o erro tiver um valor de lista, identifique um atributo alternativo, estável e com valor de string. Em seguida, atualize o mapeamento de atributos para usá-lo fazendo referência ao primeiro item. No exemplo anterior, se myRole fosse identificado como o atributo IdP de valor único alternativo, o mapeamento de atributos seria o seguinte:

      attribute.role=assertion.attributes.myRole[0]
      
    • Como alternativa, se o atributo tiver valor único, atualize o mapeamento de atributo para usar o primeiro item da lista. No exemplo anterior, se userRole tiver apenas um papel, use o seguinte mapeamento:

      attribute.role=assertion.attributes.userRole[0]
      
    • Para gerar um identificador estável de valor único da lista, consulte Definição de idioma e atualize o mapeamento de atributos.

Consulte a seção Inspecionar a resposta do IdP para ver a resposta retornada pelo IdP.

Não foi possível obter um valor para google.subject da credencial especificada

Esse erro ocorre quando não é possível mapear a declaração necessária google.subject usando o mapeamento de atributos definido na configuração do provedor de pool de federação de identidade da força de trabalho.

Para resolver esse erro, siga estas etapas:

  1. Descreva o provedor e inspecione o attributeMapping. Identifique o mapeamento configurado para google.subject. Se o mapeamento não estiver correto, atualize o provedor do pool de identidade da força de trabalho.

  2. Consulte a seção Inspecionar a resposta do IdP para ver a resposta retornada pelo IdP. Inspecione o valor do atributo da resposta do IdP que é mapeado para google.subject nos mapeamentos de atributos.

    Se o valor estiver vazio ou incorreto, faça login no Admin Console do IdP e inspecione os atributos configurados. Em relação aos atributos, verifique se o usuário afetado tem dados correspondentes no seu IdP. Atualize a configuração do IdP para corrigir os atributos ou as informações do usuário.

  3. Tente fazer login novamente.

O tamanho dos atributos mapeados excede o limite

O seguinte erro ocorre quando um usuário federado tenta fazer login:

The size of the entire mapped attributes exceeds the 16 KB limit.

Para resolver esse problema, peça ao administrador do IdP para reduzir o número de atributos emitidos pelo IdP. Seu IdP só precisa emitir atributos necessários para federar usuários ao Google Cloud. Para saber mais sobre limites de mapeamento de atributos, consulte mapeamentos de atributos.

Por exemplo, se o IdP emitir um grande número de google.groups que são atributos mapeados no provedor de pool de identidades da força de trabalho, uma tentativa de login poderá falhar. Peça ao administrador para restringir o número de grupos emitidos pelo IdP.

A contagem de grupos excede o limite

O seguinte erro ocorre quando um usuário federado tenta fazer login:

The current count of GROUPS_COUNT mapped attribute google.groups exceeds the GROUPS_COUNT_LIMIT count limit. Either modify your attribute mapping or the incoming assertion to produce a mapped attribute that has fewer than GROUPS_COUNT_LIMIT groups.

Esse erro inclui os seguintes valores:

  • GROUPS_COUNT: a contagem de grupos que o IdP emite

  • GROUPS_COUNT_LIMIT:limite de contagem de Google Cloudpara grupos

Esse erro ocorre quando o número de grupos emitidos pelo IdP excede o limite do Google Cloud. Os grupos são mapeados para Google Cloud usando o atributo google.groups.

Para resolver esse problema, peça ao administrador para reduzir o número de grupos emitidos pelo IdP. O IdP só precisa emitir grupos usados para federar usuários no Google Cloud. Saiba mais sobre os limites relacionados a grupos em mapeamentos de atributos.

Não foi possível encontrar o locatário do SCIM

Esse erro ocorre quando um usuário tenta fazer login usando um provedor de pool de identidade da força de trabalho configurado para usar o SCIM, mas nenhum locatário do SCIM está configurado para esse provedor.

Quando isso acontece, os usuários recebem o seguinte erro ao tentar fazer login:

There was an issue signing in with your identity provider.

Para resolver esse erro, faça o seguinte:

  1. Configure um locatário e um token do SCIM em Google Cloud.
  2. Vincule o provedor a um locatário do SCIM.

400. Isto é um erro

Esse erro ocorre quando a solicitação não é recebida como esperado ou é formada incorretamente.

Para resolver esse erro, siga estas etapas:

  1. Siga as etapas na seção Informe seus usuários sobre como fazer login para verificar se você está seguindo as etapas corretas.

  2. Compare a configuração do provedor de pool de identidade da força de trabalho com a configuração do IdP.

Erros de login de atributos extras

Esta seção fornece sugestões para corrigir erros ao usar atributos extras.

O login falha quando atributos extras são configurados

Se você tiver configurado atributos extras, qualquer problema de configuração, como um ID do cliente, uma chave secreta do cliente ou um URI do emissor incorretos, vai causar falha na tentativa de login.

Para resolver esse erro, siga estas etapas:

  1. Descreva o provedor e verifique se o ID do cliente e o URI do emissor estão corretos.
  2. Verifique se a chave secreta do cliente é válida e não expirou.
  3. No IdP, verifique se o aplicativo tem as permissões necessárias.

Os grupos da declaração SAML ou OIDC são ignorados

Quando atributos extras são configurados, a federação de identidade da força de trabalho ignora todas as informações de grupo fornecidas diretamente nas declarações SAML ou OIDC. Em vez disso, ele usa apenas os grupos buscados usando o backchannel (por exemplo, usando a API Microsoft Graph).

Se os usuários não estiverem vendo os grupos esperados, verifique se eles estão sendo recuperados corretamente usando o backchannel e se os filtros de atributos estão configurados corretamente.

Erros de login no OIDC

Esta seção fornece sugestões para corrigir erros específicos do OIDC que um usuário da Federação de identidade da força de trabalho pode encontrar ao fazer login.

Erro ao se conectar ao emissor da credencial

Esse erro ocorre quando um provedor de pool de identidade da força de trabalho OIDC não pode acessar o documento de descoberta do OIDC ou URI JWKS.

Para resolver esse erro, siga estas etapas:

  1. Descreva o provedor e inspecione o issuerUri configurado. Para criar o URL do documento de descoberta, anexe /.well-known/openid-configuration ao URI do emissor. Por exemplo, se issuerUri for https://example.com, o URL do documento de descoberta será https://example.com/.well-known/openid-configuration.

  2. Abra o URL do documento de descoberta em uma janela de navegação anônima.

    1. Se o URL não abrir ou o navegador exibir um erro 404, consulte a documentação do IdP para identificar o URI do emissor correto. Se necessário, atualize o issuerUri no provedor do pool de identidade da força de trabalho.

      Se o IdP for executado no local, consulte a documentação dele para provisioná-lo para acesso na Internet.

    2. Se o URL for aberto, verifique as seguintes condições:

      1. Verifique se o URL não redireciona muitas vezes antes de exibir o documento de descoberta. Se isso acontecer, consulte o administrador do IdP para corrigir o problema.
      2. Verifique o tempo de resposta do IdP. Consulte o administrador do IdP para reduzir a latência da resposta.
      3. O documento de descoberta aberto precisa estar no formato JSON.
      4. Procure um campo jwks_uri no JSON.

        1. Verifique se o valor do URL associado também é aberto.
        2. Verifique se o URL atende às condições descritas anteriormente neste guia.
    3. Tente fazer login novamente.

Erros de login via SAML

Esta seção fornece sugestões para corrigir erros específicos do SAML que um usuário da Federação de identidade da força de trabalho pode encontrar ao fazer login.

Falha ao verificar a assinatura em SAMLResponse

Esse erro ocorre para um provedor de pool de identidade de força de trabalho SAML quando a assinatura na resposta do IdP não pode ser verificada usando qualquer um dos certificados X.509 fornecidos no XML de metadados do IdP que você configurou no provedor de pool de identidade da força de trabalho. Uma causa comum desse erro é que o certificado de verificação no IdP foi alternado, mas você não atualizou a configuração do provedor de pool de identidade da força de trabalho com o arquivo XML de metadados do IdP mais recente.

Para resolver esse erro, siga estas etapas:

  1. Opcional: siga as etapas em inspecionar a resposta do IdP para ver a resposta retornada pelo IdP e localizar o campo X509Certificate. Descreva o provedor que você usou para fazer login e inspecione o campo X509Certificate presente no valor idpMetadataXml definido no pool de identidade da força de trabalho provedor. Compare o certificado com o que foi visto na resposta retornada pelo IdP. Os certificados precisam ser iguais.

  2. Faça login no Admin Console do IdP e baixe o XML de metadados mais recente.

  3. Atualize o provedor de pool de identidade da força de trabalho com o XML de metadados do IdP transferido por download.

  4. Tente fazer login novamente.

O destinatário na declaração SAML não está definido como o URL do ACS correto

Esse erro ocorre para um provedor de pool de federação de identidade de força de trabalho SAML quando a resposta do IdP contém um valor incorreto para o campo Recipient na tag SubjectConfirmationData.

Para resolver esse erro, atualize Recipient URL / Redirect URL ou o campo equivalente na configuração do IdP para usar o URL de redirecionamento descrito em Configurar URLs de redirecionamento no seu IdP e tente fazer login novamente.

Siga as etapas em inspecionar a resposta do IdP para ver a resposta retornada pelo IdP e confirme se o campo Recipient está correto.

Por exemplo, para o provedor de pool de identidade de força de trabalho locations/global/workforcePools/example-pool/providers/example-provider, o Recipient que contém o URL de redirecionamento aparece na resposta SAML do IdP da seguinte maneira:

<SubjectConfirmationData Recipient="https://auth.cloud.google/signin-callback/locations/global/workforcePools/example-pool/providers/example-provider"

O destino SAMLResponse não corresponde ao URL de callback do RP

Esse erro ocorre para um provedor de pool de identidade de força de trabalho SAML quando a resposta do IdP contém um valor incorreto para o campo Destination na tag Response.

Para resolver esse erro, atualize Destination URL / Redirect URL ou o campo equivalente na configuração do IdP para usar o URL de redirecionamento descrito em Configurar URLs de redirecionamento no seu IdP.

Siga as etapas em inspecionar a resposta do IdP para ver a resposta retornada pelo IdP e confirme se o campo Destination está correto.

Por exemplo, para um provedor de pool de identidade de força de trabalho locations/global/workforcePools/example-pool/providers/example-provider, o Destination que contém o URL de redirecionamento apareceria na resposta SAML do IdP da seguinte maneira:

<Response Destination="https://auth.cloud.google/signin-callback/locations/global/workforcePools/example-pool/providers/example-provider"

Declaração inválida: NameID ausente ou vazio

Esse erro ocorre quando a resposta SAML recebida do IdP não contém o campo NameId ou tem um valor vazio.

Para resolver esse erro, consulte a documentação do IdP para configurá-lo para enviar o NameID, que é o foco de uma declaração SAML, geralmente o usuário que está sendo autenticado.

Siga as etapas em inspecionar a resposta do IdP para ver a resposta retornada pelo IdP e o NameID definido.

Todos os <AudienceRestriction>s precisam conter o ID da entidade de RP SAML.

Esse erro ocorre quando as tags AudienceRestriction na resposta SAML do IdP não definem uma tag Audience com um valor que represente o ID da entidade do provedor de pool de identidade da força de trabalho.

Para resolver esse erro, siga estas etapas:

  1. Consulte a documentação do IdP sobre como configurar o público-alvo nas tags AudienceRestriction enviadas na resposta SAML. Normalmente, o público-alvo é configurado ao definir o campo Entity ID ou Audience na configuração do IdP. Consulte a seção do SAML Criar um provedor de pool de identidades de força de trabalho para ver o valor SP Entity ID que precisa ser definido.

  2. Após atualizar a configuração do IdP, tente fazer login novamente.

Siga as etapas em inspecionar a resposta do IdP para ver a resposta retornada pelo IdP e os AudienceRestrictions definidos.

Erros de provisionamento e sincronização do SCIM

Nesta seção, descrevemos como resolver problemas com o provisionamento e a sincronização do SCIM na federação de identidade de colaboradores.

Falha na autenticação do token SCIM (HTTP 401 ou 403)

Esse erro ocorre quando os registros do provedor de identidade (IdP) informam falhas de autenticação (HTTP 401 Unauthorized ou HTTP 403 Forbidden). As causas comuns incluem:

  • O token SCIM está ausente, é inválido ou expirou.
  • O token SCIM contém espaços extras.
  • A solicitação não tem o cabeçalho Authorization: Bearer <TOKEN>.
  • O token do SCIM não tem permissões suficientes.

Para resolver esse problema, faça o seguinte:

  1. Na configuração de provisionamento do IdP, verifique se o token SCIM corresponde ao token secreto gerado em Google Cloud sem espaços em branco extras.
  2. Se o token for perdido ou inválido, gere um novo token do SCIM:

    gcloud iam workforce-pools providers scim-tenants tokens create SCIM_TOKEN_ID \
        --workforce-pool="WORKFORCE_POOL_ID" \
        --provider="PROVIDER_ID" \
        --scim-tenant="SCIM_TENANT_ID" \
        --location="global"
    

    Substitua:

    • SCIM_TOKEN_ID: um ID para o novo token do SCIM.
    • WORKFORCE_POOL_ID: o ID do pool de identidade da força de trabalho.
    • PROVIDER_ID: o ID do provedor do pool de colaboradores.
    • SCIM_TENANT_ID: o ID do locatário do SCIM.
  3. Atualize o token secreto na configuração do IdP.

Limite de taxa excedido (HTTP 429 Há muitas solicitações)

Esse erro ocorre quando as taxas de solicitação do IdP excedem a cota do locatário do SCIM. Por padrão, as solicitações de gravação e leitura são limitadas a 3.000 solicitações por locatário do SCIM por organização por minuto, o que equivale a 50 consultas por segundo (QPS). Para mais informações, consulte Cotas e limites.

Para resolver esse problema, faça o seguinte:

  1. Verifique se a taxa de solicitação de sincronização do IdP está dentro dos limites de cota.
  2. No console do Google Cloud , acesse IAM e administrador > Cotas e filtre por iamscim.googleapis.com para monitorar o uso da cota.
  3. Se você precisar de uma capacidade de processamento maior, solicite um aumento de cota no console Google Cloud .

Falha na criação do locatário do SCIM

Esse erro ocorre quando o comando gcloud iam workforce-pools providers scim-tenants create falha.

Estas são algumas causas comuns:

  • Já existe um locatário do SCIM no pool de força de trabalho. Cada pool de força de trabalho aceita apenas um locatário do SCIM.
  • Um locatário SCIM excluído recentemente ainda está no período de exclusão temporária de 30 dias.
  • Você não tem o papel Administrador de pool de força de trabalho do IAM (roles/iam.workforcePoolAdmin).
  • A flag --claim-mapping contém expressões da Common Expression Language (CEL) sem suporte.

Para resolver esse problema, faça o seguinte:

  1. Verifique se você tem o papel Administrador do pool da força de trabalho do IAM (roles/iam.workforcePoolAdmin).
  2. Liste os locatários SCIM atuais para verificar se um locatário já existe:

    gcloud iam workforce-pools providers scim-tenants list \
        --workforce-pool="WORKFORCE_POOL_ID" \
        --provider="PROVIDER_ID" \
        --location="global"
    

    Substitua:

    • WORKFORCE_POOL_ID: o ID do pool de identidade da força de trabalho.
    • PROVIDER_ID: o ID do provedor do pool de colaboradores.
  3. Se um locatário excluído anteriormente for excluído de forma reversível, exclua-o permanentemente usando a flag --hard-delete:

    gcloud iam workforce-pools providers scim-tenants delete SCIM_TENANT_ID \
        --workforce-pool="WORKFORCE_POOL_ID" \
        --provider="PROVIDER_ID" \
        --location="global" \
        --hard-delete
    

    Substitua SCIM_TENANT_ID pelo ID do locatário do SCIM.

  4. Verifique se --claim-mapping usa apenas expressões CEL compatíveis. Para mais informações, consulte Mapear atributos de token e SCIM.

Falha na criação do token do SCIM

Esse erro ocorre quando o comando gcloud iam workforce-pools providers scim-tenants tokens create falha.

Estas são algumas causas comuns:

  • O locatário do SCIM já tem o máximo de dois tokens do SCIM.
  • Você não tem o papel Administrador de pool de força de trabalho do IAM (roles/iam.workforcePoolAdmin).

Para resolver esse problema, faça o seguinte:

  1. Verifique se você tem o papel Administrador do pool da força de trabalho do IAM (roles/iam.workforcePoolAdmin).
  2. Liste os tokens SCIM atuais para verificar se o limite de dois tokens foi atingido:

    gcloud iam workforce-pools providers scim-tenants tokens list \
        --workforce-pool="WORKFORCE_POOL_ID" \
        --provider="PROVIDER_ID" \
        --scim-tenant="SCIM_TENANT_ID" \
        --location="global"
    

    Substitua:

    • WORKFORCE_POOL_ID: o ID do pool de identidade da força de trabalho.
    • PROVIDER_ID: o ID do provedor do pool de colaboradores.
    • SCIM_TENANT_ID: o ID do locatário do SCIM.
  3. Se o locatário do SCIM já tiver dois tokens, exclua um token não usado ou inválido:

    gcloud iam workforce-pools providers scim-tenants tokens delete SCIM_TOKEN_ID \
        --workforce-pool="WORKFORCE_POOL_ID" \
        --provider="PROVIDER_ID" \
        --scim-tenant="SCIM_TENANT_ID" \
        --location="global"
    

    Substitua SCIM_TOKEN_ID pelo ID do token do SCIM a ser excluído.

  4. Depois de excluir o token, tente criar o novo token do SCIM.

Conflito de mapeamento de atributo duplicado (HTTP 409 Conflict)

Esse erro ocorre quando os registros do provedor de identidade (IdP) informam um HTTP 409 Conflict durante a sincronização porque o IdP envia valores duplicados para google.subject ou google.group, ou valores não exclusivos de userName ou displayName.

Para resolver esse problema, faça o seguinte:

  1. No console do administrador do IdP, verifique se os atributos mapeados para google.subject e google.group produzem valores não sobrepostos.
  2. Verifique se cada usuário tem um userName exclusivo e se cada grupo tem um displayName exclusivo.

As solicitações PATCH do Microsoft Entra ID falham

Esse erro ocorre quando as atualizações de usuário ou as solicitações PATCH do Microsoft Entra ID falham porque o URL do locatário não tem o parâmetro de consulta ?aadOptscim062020, que é obrigatório para solicitações PATCH compatíveis com RFC.

Para resolver esse problema, faça o seguinte:

  1. No Microsoft Entra ID, acesse o aplicativo empresarial e selecione Provisionamento > Gerenciar provisionamento > Credenciais de administrador.
  2. No campo URL do locatário, adicione ?aadOptscim062020 ao URI de base:

    https://iamscim.googleapis.com/v1alpha1/tenants/SCIM_TENANT_UID?aadOptscim062020
    

    Substitua SCIM_TENANT_UID pelo ID exclusivo do seu locatário do SCIM.

  3. Clique em Testar conexão e salve a configuração.

O acesso ou compartilhamento com base em usuários ou grupos não está funcionando

Esse problema ocorre quando os usuários sincronizados não conseguem acessar recursos do Google Cloud ou quando o compartilhamento de notebooks no Gemini Notebook Enterprise ou agentes no app Gemini Enterprise falha.

Estas são algumas causas comuns:

  • Falhas ou atrasos silenciosos na sincronização do IdP.
  • Mapeamentos de declarações inconsistentes entre o provedor (--attribute-mapping) e o locatário do SCIM (--claim-mapping).
  • Mudanças no IdP para atributos mapeados para google.subject ou google.group.O Google Cloud espera que os valores mapeados para esses atributos sejam imutáveis.
  • O uso do SCIM não está ativado para grupos no provedor.

Para resolver esse problema, faça o seguinte:

  1. Verificar a sincronização e a participação: confirme se os usuários, grupos e associações a grupos foram sincronizados com êxito com Google Cloud:

    • Verificar a sincronização de usuários:

      curl -G -H "Authorization: Bearer SCIM_TOKEN" \
        "https://iamscim.googleapis.com/v1alpha1/tenants/SCIM_TENANT_UID/Users" \
        --data-urlencode 'filter=userName eq "USER_NAME"'
      
    • Verificar a sincronização de grupos:

      curl -G -H "Authorization: Bearer SCIM_TOKEN" \
        "https://iamscim.googleapis.com/v1alpha1/tenants/SCIM_TENANT_UID/Groups" \
        --data-urlencode 'filter=displayName eq "GROUP_NAME"'
      
    • Verificar associação ao grupo: confirme se um usuário é membro de um grupo:

      curl -G -H "Authorization: Bearer SCIM_TOKEN" \
        "https://iamscim.googleapis.com/v1alpha1/tenants/SCIM_TENANT_UID/Groups" \
        --data-urlencode 'filter=id eq "GROUP_ID" and members eq "USER_ID"'
      

      Se o usuário for membro do grupo, a resposta vai retornar totalResults: 1. Se o usuário não for membro, a resposta vai retornar totalResults: 0.

    Substitua:

    • SCIM_TOKEN: seu token secreto do SCIM.
    • SCIM_TENANT_UID: o ID exclusivo do seu locatário do SCIM.
    • USER_NAME: o nome de usuário do usuário sincronizado.
    • GROUP_NAME: o nome de exibição do grupo sincronizado.
    • GROUP_ID: o ID do SCIM do grupo sincronizado, retornado no campo id da resposta da consulta de grupo.
    • USER_ID: o ID do SCIM do usuário sincronizado, retornado no campo id da resposta da consulta do usuário.
  2. Verifique os mapeamentos de declarações: confira se o atributo mapeado para google.subject no provedor (por exemplo, google.subject=assertion.email.lowerAscii()) corresponde à identidade mapeada no locatário do SCIM (por exemplo, google.subject=user.emails[0].value.lowerAscii()). Como os mapeamentos de declarações são imutáveis, se eles forem inconsistentes, exclua permanentemente o locatário do SCIM e recrie-o com o mapeamento correto.

  3. Garantir a imutabilidade do identificador: verifique se os atributos do IdP mapeados para google.subject e google.group não mudaram.O Google Cloud trata os valores mapeados para esses atributos como identificadores imutáveis. Se um valor de atributo tiver sido alterado no IdP, reverta a mudança ou exclua permanentemente o usuário ou grupo afetado do IdP e recrie com o novo valor para que o identificador corresponda ao que o Google Cloudespera.

  4. Ative o uso de grupos do SCIM: atualize seu provedor para ativar o SCIM para grupos:

    gcloud iam workforce-pools providers update-oidc PROVIDER_ID \
        --workforce-pool="WORKFORCE_POOL_ID" \
        --location="global" \
        --scim-usage="enabled-for-groups"
    

    Substitua:

    • PROVIDER_ID: o ID do provedor do pool de colaboradores.
    • WORKFORCE_POOL_ID: o ID do pool de identidade da força de trabalho.

As mudanças feitas no IdP estão atrasadas ou não estão sendo refletidas

Esse problema ocorre quando as atualizações do IdP para usuários, associações a grupos ou exclusões não aparecem imediatamente no Google Cloud.

Como o SCIM é baseado em push, as atualizações dependem da programação de sincronização do IdP. Por exemplo, o Microsoft Entra ID sincroniza aproximadamente a cada 40 minutos.

Para resolver esse problema, faça o seguinte:

  1. Aguarde o próximo ciclo de sincronização programada do seu IdP.
  2. Para aplicar as mudanças imediatamente, acione uma sincronização sob demanda no console do administrador do IdP.

O provisionamento de usuários falha devido ao formato do e-mail

Esse erro ocorre quando usuários específicos não conseguem sincronizar com o Google Cloud, e os registros do seu provedor de identidade (IdP) informam um HTTP 400 Bad Request com um erro invalidValue do SCIM.

Google Cloud O SCIM exige exatamente um e-mail de trabalho por usuário. O provisionamento falha se o IdP enviar vários e-mails ou se o e-mail não for do tipo work.

Para resolver esse problema, configure o mapeamento de atributos do IdP para enviar apenas o e-mail de trabalho principal.

As atualizações de grupo falham (HTTP PUT indisponível)

Esse erro ocorre quando as atualizações de grupo falham porque o cliente usa HTTP PUT, que não é compatível. A API Google Cloud SCIM é compatível apenas com HTTP PATCH para atualizações de grupo.

Para resolver esse problema, configure seu IdP ou cliente personalizado para usar HTTP PATCH em atualizações de grupo.