Nesta página, descrevemos as resoluções de erros comuns com a federação de identidade da carga de trabalho.
A API Google Cloud não aceita a credencial emitida por SecurityTokenService
Caso você encontre o seguinte erro, talvez esteja tentando acessar
uma API Google Cloud diretamente usando uma credencial emitida por
SecurityTokenService
em vez de trocar por uma credencial da conta de serviço primeiro.
{
"error": {
"code": 401,
"message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
"status": "UNAUTHENTICATED",
}
}
Para resolver esse erro, troque a credencial gerada em
SecurityTokenService
por um token da conta de serviço chamando
GenerateAccessToken
.
Para mais informações, consulte Como receber credenciais de curta duração com federação de identidade.
Adicionar um provedor de identidade à lista de permissões para uso com a federação de identidade da carga de trabalho
Se você tentar configurar um provedor de identidades não permitido como um provedor de pool de identidades de carga de trabalho, encontrará o seguinte erro:
FAILED_PRECONDITION: Precondition check failed.
- '@type': type.googleapis.com/google.rpc.PreconditionFailure
violations:
- description: "Org Policy violated for value: '{PROVIDER}'."
subject: orgpolicy:projects/{PROJECT}/locations/global/workloadIdentityPools/{POOL}
type: constraints/iam.workloadIdentityPoolProviders
Para resolver esse problema, siga as instruções em Restringir a configuração do provedor de identidade para colocar o provedor de identidade na lista de permissões para uso com a federação de identidade da carga de trabalho.
Erro ao se conectar ao emissor da credencial
Se você receber o seguinte erro, pode ser que o Google Cloud não consiga buscar o documento de metadados OIDC do seu IdP ou o JWKS:
{
"error": "invalid_grant",
"error_description":"Error connecting to the given credential's issuer."
}
Esse erro geralmente ocorre porque os endpoints não estão configurados para serem alcançáveis da Internet pública. Para resolver esse erro, verifique se o endpoint do OIDC está disponível publicamente e está em conformidade com a especificação do OIDC. Para mais informações, consulte Como preparar o provedor de identidade externo.
Se você ainda receber o erro, verifique se o emissor do token e a declaração iss
estão corretos.