Esta página mostra como resolver problemas comuns com a federação de identidades de força de trabalho.
Inspecione a resposta do IdP
Esta secção mostra como inspecionar a resposta do seu fornecedor de identidade (IdP) para resolver problemas indicados neste documento.
Início de sessão baseado no navegador
Para inspecionar a resposta devolvida pelo seu IdP, gere um ficheiro HAR com uma ferramenta à sua escolha. Por exemplo, pode usar o analisador HAR da caixa de ferramentas do administrador da Google, que fornece instruções para gerar um ficheiro HAR e as ferramentas para o carregar e analisar.
SAML
Para inspecionar a resposta do IdP SAML, siga os passos abaixo:
- Localize o valor do parâmetro de pedido
SAMLResponse
no ficheiro HAR que é registado no URL com o caminho/signin-callback
. - Descodifique-o através de uma ferramenta à sua escolha. Por exemplo, pode usar a ferramenta Codificar/Descodificar da Caixa de ferramentas do administrador.
OIDC
Para inspecionar a resposta do IdP OIDC, siga estes passos. Esta abordagem não funciona com o fluxo de código.
- Procure o parâmetro de pedido
id_token
no ficheiro HAR registado em relação a um URL com o caminho/signin-callback
. - Descodifique-o através de uma ferramenta de depuração de JWT à sua escolha.
CLI gcloud
Para inspecionar a resposta do seu IdP quando usar a CLI gcloud,
copie o conteúdo do ficheiro que transmitiu na flag
--credential-source-file
quando executar o comando
gcloud iam workforce-pools create-cred-config
e, em seguida, execute os
passos seguintes:
SAML
Descodifique a resposta do IdP SAML com uma ferramenta à sua escolha. Por exemplo, pode usar a ferramenta Encode/Decode da Caixa de ferramentas do administrador Google.
OIDC
Descodifique a resposta do IdP OIDC através de uma ferramenta de depuração JWT à sua escolha.
Reveja registos
Para determinar se Trusted Cloud está a comunicar com o seu IdP e rever as informações das transações, pode inspecionar os registos dos Cloud Audit Logs.
Para ver exemplos de registos, consulte o artigo Exemplos de registos de auditoria.
Erros de gestão de fornecedores e Workforce Pools
Esta secção fornece sugestões para corrigir erros comuns que pode encontrar ao gerir pools e fornecedores.
Erros gerais de mapeamento de atributos
Para resolver problemas de mapeamento de atributos do fornecedor do Workforce Identity Pool, faça o seguinte:
- Inspeccione os atributos, também conhecidos como reivindicações, na configuração do IdP.
- Inspecione os tokens gerados a partir do seu IdP. Para saber como gerar um token a partir do seu IdP, consulte a documentação do IdP.
- Reveja o registo de auditoria detalhado da federação de identidade da força de trabalho nos registos de auditoria da nuvem.
O registo de auditoria detalhado regista erros de autenticação e autorização, juntamente com as reivindicações recebidas pela Workforce Identity Federation.
Pode ativar o registo de auditoria detalhado quando criar o fornecedor do pool de identidades da força de trabalho. Para ativar o registo de auditoria detalhado, adicione a flag --detailed-audit-logging
quando criar o fornecedor do pool de identidades da força de trabalho.
Autorização recusada
Este erro ocorre quando o utilizador que tenta configurar a
Workforce Identity Federation não tem a função IAM Workforce Pool Admin (roles/iam.workforcePoolAdmin
).
INVALID_ARGUMENT: Missing OIDC web single sign-on config
O seguinte erro ocorre quando os campos web-sso-response-type
e web-sso-assertion-claims-behavior
não estão definidos ao criar um fornecedor do Workload Identity Pool da OIDC:
ERROR: (gcloud.iam.workforce-pools.providers.create-oidc) INVALID_ARGUMENT: Missing OIDC web single sign-on config.
Para resolver este erro, siga os passos na secção Crie um fornecedor para definir os campos adequadamente quando criar o fornecedor do Workload Identity Pool de força de trabalho OIDC.
Limite de taxa excedido. Tente novamente mais tarde
Este erro ocorre quando atingiu o limite da quota de recursos do conjunto de trabalhadores. Contacte o seu Trusted Cloud representante da conta para pedir um aumento da quota.
Erros de início de sessão
Esta secção fornece sugestões para corrigir erros comuns que um utilizador da Workforce Identity Federation pode encontrar quando inicia sessão.
Erros de início de sessão comuns
A credencial fornecida é rejeitada pela condição de atributo
Este erro ocorre quando a condição de atributo definida no fornecedor do Workforce Identity Pool não foi cumprida.
Por exemplo, considere a seguinte condição de atributo:
SAML
'gcp-users' in assertion.attributes.groups
OIDC
'gcp-users' in assertion.groups
Neste caso, vê o erro se a lista de grupos enviada no atributo groups
pelo seu IdP não contiver gcp-users
.
Para resolver este erro, siga estes passos:
Descreva o fornecedor que foi usado para iniciar sessão e verifique se o
attributeCondition
está correto. Para obter informações sobre as operações suportadas nas condições, consulte a definição de linguagem.Siga os passos em inspecione a resposta do IdP para ver os atributos devolvidos pelo IdP e confirme se a condição do atributo está bem formulada e é precisa.
Inicie sessão na consola do administrador do IdP e verifique se os atributos do IdP referenciados na condição do atributo estão configurados corretamente. Se necessário, consulte a documentação do seu IdP.
O atributo mapeado tem de ser do tipo STRING
Este erro ocorre para um fornecedor do Workload Identity Pool SAML quando o atributo especificado na mensagem de erro deve ser uma STRING de valor único, mas está mapeado para uma lista no mapeamento de atributos.
Por exemplo, considere um fornecedor do Workload Identity Pool de força de trabalho SAML que tenha o mapeamento de atributos attribute.role=assertion.attributes.userRole
. Numa declaração SAML, um Attribute
pode ter várias etiquetas AttributeValue
, conforme mostrado no exemplo que se segue. Assim, todos os atributos SAML são considerados listas, pelo que
assertion.attributes.userRole
é uma lista.
<saml:Attribute Name="userRole">
<saml:AttributeValue>
security-admin
</saml:AttributeValue>
<saml:AttributeValue>
user
</saml:AttributeValue>
</saml:Attribute>
Neste exemplo, pode ver o seguinte erro:
The mapped attribute 'attribute.role' must be of type STRING
Para resolver este problema, siga estes passos:
Descreva o fornecedor que foi usado para iniciar sessão e identifique o atributo do IdP que está definido no
attributeMapping
. Verifique o atributo em comparação com o atributo apresentado na mensagem de erro. No exemplo anterior, um atributo do IdP denominadouserRole
é mapeado para o atributorole
, e o atributorole
aparece no exemplo de erro acima.Siga as orientações abaixo para atualizar o mapeamento de atributos:
Se o atributo que causa o erro tiver vários valores, identifique um atributo alternativo, estável e com valor de string. Em seguida, atualize o mapeamento de atributos para o usar referenciando o respetivo primeiro item. Para o exemplo anterior, se
myRole
fosse identificado como o atributo IdP de valor único alternativo, o mapeamento de atributos seria:attribute.role=assertion.attributes.myRole[0]
Em alternativa, se souber que o atributo tem um único valor, atualize o mapeamento de atributos para usar o primeiro item da lista. Para o exemplo anterior, se
userRole
contiver apenas uma função, pode usar o seguinte mapeamento:attribute.role=assertion.attributes.userRole[0]
Para obter um identificador estável de valor único a partir da lista, consulte a definição de idioma e atualize o mapeamento de atributos em conformidade.
Consulte a secção inspecione a resposta do IdP para ver a resposta devolvida pelo IdP.
Não foi possível obter um valor para google.subject a partir da credencial indicada
Este erro ocorre quando não foi possível mapear a reivindicação necessária google.subject
usando o mapeamento de atributos que definiu na configuração do fornecedor do Workload Identity Pool.
Para resolver este erro, siga estes passos:
Descreva o fornecedor e inspecione o
attributeMapping
. Identifique o mapeamento configurado paragoogle.subject
. Se o mapeamento não estiver correto, atualize o fornecedor do conjunto de identidades de força de trabalho.Consulte a secção inspecione a resposta do IdP para ver a resposta devolvida pelo IdP. Inspeccione o valor do atributo da resposta do IdP que está mapeado para
google.subject
nos seus mapeamentos de atributos.Se o valor estiver vazio ou incorreto, inicie sessão na consola do administrador do seu IdP e inspecione os atributos configurados. Para os atributos, verifique se o utilizador afetado tem dados correspondentes no seu IdP. Atualize a configuração do IdP para corrigir os atributos ou as informações do utilizador em conformidade.
Tente iniciar sessão novamente.
O tamanho dos atributos mapeados excede o limite
Ocorreu o seguinte erro quando um utilizador federado tenta iniciar sessão:
The size of the entire mapped attributes exceeds the 16 KB limit.
Para resolver este problema, peça ao administrador do IdP para reduzir o número de atributos emitidos pelo IdP. O seu IdP só precisa de emitir atributos necessários para federar utilizadores para o Trusted Cloud. Para saber mais acerca dos limites de mapeamento de atributos, consulte o artigo Mapeamentos de atributos.
Por exemplo, se o seu IdP emitir um grande número de atributos mapeados no seu fornecedor do Workload Identity Pool, uma tentativa de início de sessão pode falhar.google.groups
Peça ao administrador para restringir o número de grupos que o seu IdP emite.
A contagem de grupos excede o limite
Ocorreu o seguinte erro quando um utilizador federado tenta iniciar sessão:
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.
Este erro inclui os seguintes valores:
GROUPS_COUNT
: a contagem de grupos que o IdP emiteGROUPS_COUNT_LIMIT
:limite de contagem de Trusted Cloudpara grupos
Este erro ocorreu quando o número de grupos emitidos pelo IdP excede o limite deTrusted Cloud. Os grupos são mapeados para Trusted Cloud usando
o atributo google.groups
.
Para resolver este problema, peça ao administrador que reduza o número de grupos emitidos pelo IdP. O seu IdP só precisa de emitir grupos que são usados para federar utilizadores para o Trusted Cloud. Saiba mais acerca dos limites relacionados com grupos nos mapeamentos de atributos.
400. Isto é um erro
Este erro ocorre quando o pedido não foi recebido como esperado ou está danificado.
Para resolver este erro, siga estes passos:
Siga os passos na secção Informe os seus utilizadores sobre como iniciar sessão para verificar se está a seguir os passos corretos para iniciar sessão.
Compare a configuração do fornecedor do Workload Identity Pool com a configuração do IdP.
Erros de início de sessão do OIDC
Esta secção fornece sugestões para corrigir erros específicos do OIDC que um utilizador da Workforce Identity Federation pode encontrar quando inicia sessão.
Erro ao estabelecer ligação ao emissor das credenciais fornecidas
Este erro ocorre quando um fornecedor do Workload Identity Pool da força de trabalho do OIDC não consegue aceder ao documento de deteção do OIDC ou ao URI JWKS.
Para resolver este erro, siga estes passos:
Descreva o fornecedor e inspecione o
issuerUri
configurado. Construa o URL do documento de descoberta acrescentando/.well-known/openid-configuration
ao URI do emissor. Por exemplo, se o seuissuerUri
forhttps://example.com
, o URL do documento de descoberta seriahttps://example.com/.well-known/openid-configuration
.Abra o URL do documento de descoberta numa janela de navegação anónima.
Se o URL não abrir ou o navegador apresentar um erro
404
, consulte a documentação do seu IdP para identificar o URI do emissor correto. Se necessário, atualize oissuerUri
no fornecedor do Workload Identity Pool.Se o IdP estiver a ser executado no local, consulte a documentação do IdP para o aprovisionar para acesso através da Internet.
Se o URL for aberto, verifique as seguintes condições:
- Verifique se o URL não redireciona demasiadas vezes antes de publicar o documento de descoberta. Se for o caso, consulte o administrador do IdP para resolver o problema.
- Verifique o tempo de resposta do IdP. Contacte o administrador do IdP para reduzir a latência de resposta.
- O documento de descoberta aberto deve estar no formato JSON.
Procure um campo
jwks_uri
no JSON.- Verifique se o valor do URL associado também é aberto.
- Confirme que o URL cumpre as condições descritas anteriormente neste guia.
Tente iniciar sessão novamente.
Erros de início de sessão de SAML
Esta secção fornece sugestões para corrigir erros específicos do SAML que um utilizador da Workforce Identity Federation pode encontrar quando inicia sessão.
Falha ao validar a assinatura em SAMLResponse
Este erro ocorre para um fornecedor do Workload Identity Pool de força de trabalho quando não é possível validar a assinatura na resposta do IdP com nenhum dos certificados X.509 fornecidos no XML de metadados do IdP que configurou no seu fornecedor do Workload Identity Pool de força de trabalho. Uma causa comum deste erro é o facto de o certificado de validação no IdP ter sido alterado, mas não ter atualizado a configuração do fornecedor do conjunto de identidades da força de trabalho com o ficheiro XML de metadados do IdP mais recente.
Para resolver este erro, siga estes passos:
Opcional: siga os passos para inspecionar a resposta do IdP para ver a resposta devolvida pelo IdP e localizar o campo
X509Certificate
na mesma. Descreva o fornecedor que usou para iniciar sessão e inspecione o campoX509Certificate
presente no valoridpMetadataXml
definido no fornecedor do Workload Identity Pool. Compare o certificado com o que é apresentado na resposta devolvida pelo seu IdP. Os certificados têm de corresponder.Inicie sessão na consola do administrador do IDP e transfira o XML de metadados mais recente.
Atualize o fornecedor do Workforce Identity Pool com o XML dos metadados do IdP transferido.
Tente iniciar sessão novamente.
O destinatário na declaração SAML não está definido para o URL do ACS correto
Este erro ocorre para um fornecedor do Workload Identity Pool SAML quando a resposta do IdP contém um valor incorreto para o campo Recipient
na etiqueta SubjectConfirmationData
.
Para resolver este erro, atualize o Recipient URL
/ Redirect URL
ou o campo equivalente na configuração do seu IdP para usar o URL de redirecionamento descrito em Configure URLs de redirecionamento no seu IdP e tente iniciar sessão novamente.
Siga os passos em inspecionar a resposta do IdP para ver a resposta devolvida pelo IdP e confirme que o campo Recipient
está correto.
Por exemplo, para o fornecedor do Workforce Identity Pool locations/global/workforcePools/example-pool/providers/example-provider
,
o Recipient
que contém o URL de redirecionamento aparece na resposta SAML do IdP
conforme mostrado abaixo:
<SubjectConfirmationData Recipient="https://auth.cloud.s3nscloud.fr/signin-callback/locations/global/workforcePools/example-pool/providers/example-provider"
O destino SAMLResponse não corresponde ao URL de retorno do RP
Este erro ocorre para um fornecedor do Workload Identity Pool SAML quando a resposta do IdP contém um valor incorreto para o campo Destination
na etiqueta Response
.
Para resolver este erro, atualize o Destination URL
/ Redirect URL
ou o campo equivalente na configuração do seu IdP para usar o URL de redirecionamento descrito em Configure URLs de redirecionamento no seu IdP.
Siga os passos em inspecione a resposta do IdP para ver a resposta devolvida pelo IdP e confirme que o campo Destination
está correto.
Por exemplo, para um fornecedor do Workforce Identity Pool
locations/global/workforcePools/example-pool/providers/example-provider
, o
Destination
que contém o URL de redirecionamento seria apresentado na resposta SAML do IdP da seguinte forma:
<Response Destination="https://auth.cloud.s3nscloud.fr/signin-callback/locations/global/workforcePools/example-pool/providers/example-provider"
Asserção inválida: NameID em falta ou vazio
Este erro ocorre quando a resposta SAML recebida do seu IdP não contém o campo NameId
ou tem um valor vazio.
Para resolver este erro, consulte a documentação do IdP para o configurar de modo a enviar o NameID
, que é o assunto de uma afirmação SAML, normalmente o utilizador que está a ser autenticado.
Siga os passos para inspecionar a resposta do IdP para ver a resposta devolvida pelo IdP e o NameID
definido no mesmo.
Todos os <AudienceRestriction>
s devem conter o ID da entidade RP SAML
Este erro ocorre quando as etiquetas AudienceRestriction
na resposta SAML do seu IdP não definem uma etiqueta Audience
com um valor que represente o ID da entidade do fornecedor do Workload Identity Pool.
Para resolver este erro, siga estes passos:
Consulte a documentação do IdP sobre como configurar o público-alvo nas etiquetas
AudienceRestriction
que envia na resposta SAML. Normalmente, o público-alvo é configurado através da configuração do campoEntity ID
ouAudience
na configuração do IdP. Consulte a secção SAML de criação de um fornecedor do Workload Identity Pool para ver o valorSP Entity ID
que deve ser definido.Depois de atualizar a configuração do IdP, tente iniciar sessão novamente.
Siga os passos para inspecionar a resposta do IdP para ver a resposta devolvida pelo IdP e os AudienceRestriction
s definidos na mesma.