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.