Soluciona problemas de la federación de Workload Identity

En esta página, se describen las resoluciones para errores comunes de la federación de Workload Identity.

La API de Google Cloud no acepta la credencial emitida desde SecurityTokenService

Si encuentras el siguiente error, es posible que estés intentando acceder a una API de Google Cloud directamente con una credencial emitida desde SecurityTokenService en lugar de intercambiarla por una credencial de cuenta de servicio primero.

{
  "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",
  }
}

A fin de resolver este error, llama a GenerateAccessToken para intercambiar la credencial creada desde la SecurityTokenService de un token de cuenta de servicio. 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 anunciantes permitidos para usarlo con la federación de Workload Identity

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 anunciantes permitidos el proveedor de identidad que se usará con la federación de Workload Identity.

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.