Résoudre les problèmes liés à la fédération d'identités de charge de travail

Cette page décrit les solutions aux les erreurs courantes de fédération d'identités de charge de travail.

L'API Google Cloud n'accepte pas les identifiants émis par SecurityTokenService

Si vous rencontrez l'erreur suivante, il est possible que vous tentiez d'accéder directement à une API Google Cloud à l'aide d'un identifiant émis par SecurityTokenService plutôt que de l'avoir échangé contre un identifiant de compte de service.

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

Pour résoudre cette erreur, remplacez les identifiants générés par SecurityTokenService par un jeton de compte de service en appelant GenerateAccessToken. Pour en savoir plus, consultez la page Obtenir des identifiants éphémères avec la fédération d'identités.

Ajouter un fournisseur d'identité à la liste d'autorisation pour l'utiliser avec la fédération d'identité de charge de travail

Si vous tentez de configurer un fournisseur d'identité non autorisé en tant que fournisseur de pool d'identités de charge de travail, vous rencontrez l'erreur suivante :

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

Pour résoudre ce problème, suivez les instructions de la section Restreindre la configuration du fournisseur d'identité afin d'ajouter le fournisseur d'identité à la liste d'autorisation pour l'utiliser avec la fédération d'identité de charge de travail.