Nesta página, descrevemos as resoluções de erros comuns com a federação de identidade da carga de trabalho.
A APIGoogle Cloud não aceita a credencial emitida por SecurityTokenService
Os tokens de acesso retornados pela API
SecurityTokenService
são tokens de acesso federados.
Embora a maioria das Google Cloud APIs ofereça suporte à federação de identidade, alguns métodos
de API podem ter limitações. Para conferir uma lista de limitações, consulte
Federação de identidade: produtos e limitações.
Se você encontrar o erro abaixo, talvez esteja tentando usar um token de acesso federado com um serviço que não oferece suporte a ele.
{
"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 o token de acesso federado por um token de acesso
irrestrito 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.
A JWK de entrada não está em um formato JSON válido
Se você estiver configurando um provedor OIDC e receber o erro Input JWK is
not in a valid json format
, isso pode ser porque os endpoints protegidos com
certificados autoassinados não têm suporte para Google Cloud. Especificamente,
os campos x5c
e x5t
não são aceitos e precisam ser removidos do JWK
OIDC.
Para resolver problemas com a JWK, faça o seguinte:
Edite o JWK e remova os campos
x5c
(cadeia de certificados X.509) ex5t
(impressão digital SHA-1 do certificado X.509).{ "kty": "RSA", "use": "sig", "kid": "example-key-id", "alg": "RS256", "n": "base64url-modulus", "e": "AQAB" }
Verifique se os campos JWK restantes estão formatados corretamente, conforme descrito na especificação OIDC.
Configure o provedor OIDC com a JWK atualizada.
Erro ao se conectar ao emissor da credencial
Se você receber o erro abaixo, talvez seja porque o Google Cloud não consegue buscar o documento de metadados OIDC ou JWKS do IdP:
{
"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 acessíveis pela Internet pública. Para resolver esse erro, verifique se o endpoint do OIDC está disponível publicamente e 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.