En esta página, se describen las resoluciones para errores comunes de la federación de identidades para cargas de trabajo.
La API deGoogle Cloud no acepta la credencial emitida por SecurityTokenService
.
Los tokens de acceso que muestra la API de SecurityTokenService
son tokens de acceso federados.
Aunque la mayoría de las APIs de Google Cloud admiten la federación de identidades, es posible que ciertos métodos de la API tengan limitaciones. Para obtener una lista de limitaciones, consulta Federación de identidades: productos y limitaciones.
Si encuentras el siguiente error, es posible que estés intentando usar un token de acceso federado con un servicio que no lo admite.
{
"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 este error, llama a GenerateAccessToken
para intercambiar el token de acceso federado por un token de acceso sin restricciones.
Para obtener más información, consulta Obtén credenciales de corta duración con federación de identidades.
Agrega un proveedor de identidad a la lista de entidades permitidas para usarlo con la federación de identidades para cargas de trabajo
Si intentas configurar un proveedor de identidad no permitido como un proveedor de grupo de Workload Identity, verás el siguiente error:
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
A fin de resolver este problema, sigue las instrucciones en Restringe la configuración del proveedor de identidad para incluir en la lista de entidades permitidos el proveedor de identidad que se usará con la federación de identidades para cargas de trabajo.
El JWK de entrada no tiene un formato JSON válido.
Si configuras un proveedor de OIDC y recibes el error Input JWK is
not in a valid json format
, es posible que sea porque Google Cloudno admite extremos protegidos con certificados autofirmados. Específicamente, los campos x5c
y x5t
no son compatibles y deben quitarse del JWK de OIDC.
Para resolver problemas con tu JWK, haz lo siguiente:
Edita tu JWK y quita los campos
x5c
(cadena de certificados X.509) yx5t
(huella digital SHA-1 del certificado X.509).{ "kty": "RSA", "use": "sig", "kid": "example-key-id", "alg": "RS256", "n": "base64url-modulus", "e": "AQAB" }
Verifica que los campos JWK restantes tengan el formato correcto, como se describe en la especificación de OIDC.
Configura el proveedor de OIDC con el JWK actualizado.
Error en la conexión con la entidad emisora de la credencial
Si recibes el siguiente error, podría deberse a que Google Cloud no puede recuperar el documento de metadatos de OIDC de tu IdP o el JWKS:
{
"error": "invalid_grant",
"error_description":"Error connecting to the given credential's issuer."
}
Por lo general, este error ocurre porque los extremos no están configurados para ser accesibles desde la Internet pública. Para resolver este error, verifica que el extremo de OIDC esté disponible de forma pública y que cumpla con la especificación de OIDC. Para obtener más información, consulta Prepara el proveedor de identidad externo.
Si sigues recibiendo el error, verifica que la entidad emisora del token, la reclamación iss
en el token, sea correcta.