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

Cette page décrit les solutions aux erreurs courantes de la 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, échangez les identifiants générés à partir de SecurityTokenService contre 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é.

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.

Le JWK d'entrée n'est pas au format JSON valide

Si vous configurez un fournisseur OIDC et que vous recevez l'erreur Input JWK is not in a valid json format, cela peut être dû au fait que les points de terminaison sécurisés avec des certificats autosignés ne sont pas compatibles avec Google Cloud. Plus précisément, les champs x5c et x5t ne sont pas compatibles et doivent être supprimés du JWK OIDC.

Erreur lors de la connexion à l'émetteur de l'identifiant donné

Si vous rencontrez l'erreur suivante, cela peut être dû au fait que Google Cloud ne parvient pas à récupérer le document de métadonnées OIDC de votre fournisseur d'identité ou JWKS :

{
  "error": "invalid_grant",
  "error_description":"Error connecting to the given credential's issuer."
 }

La cause de cette erreur est généralement le fait que les points de terminaison ne sont pas configurés pour être accessibles depuis l'Internet public. Pour la résoudre, vérifiez que le point de terminaison OIDC est accessible au public et conforme à la spécification OIDC. Pour en savoir plus, consultez la page Préparer le fournisseur d'identité externe.

Si vous continuez à recevoir cette erreur, vérifiez que l'émetteur du jeton, c'est-à-dire la revendication iss dans le jeton, est correct.