Résoudre les problèmes d'authentification de l'identité de l'agent

Ce document explique comment résoudre les erreurs courantes liées à l'authentification à l'aide de l'identité de l'agent avec le gestionnaire d'authentification.

Incohérence de l'URI de redirection

Si vous recevez une erreur redirect URI mismatch de l'application tierce lors du flux OAuth, assurez-vous que l'URI de redirection enregistré dans le portail des développeurs tiers correspond exactement à l'URI généré par le gestionnaire d'authentification.

Pour trouver l'URI de redirection généré, consultez les détails du fournisseur d'authentification dans la consoleGoogle Cloud ou exécutez la commande gcloud suivante :

gcloud alpha agent-identity connectors describe AUTH_PROVIDER_NAME \
    --location="LOCATION"

Rôle utilisateur manquant

Si votre agent ne peut pas utiliser le fournisseur d'authentification, vérifiez que l'identité de l'agent dispose du rôle roles/iamconnectors.user sur la ressource du fournisseur d'authentification.

Problèmes liés aux points de terminaison de l'émetteur

Pour les fournisseurs OIDC, vérifiez que le point de terminaison de l'émetteur est accessible au public et qu'il est compatible avec le document de découverte .well-known/openid-configuration.

Si Google Cloud ne parvient pas à récupérer les métadonnées OIDC ou JWKS, assurez-vous que le point de terminaison n'est pas protégé par un pare-feu ni limité à un réseau restreint.

Erreur 401 UNAUTHENTICATED

Si votre agent ne parvient pas à s'authentifier et que l'erreur suivante s'affiche, cela peut être dû à une règle d'accès contextuel gérée par Google qui applique la liaison mTLS et les preuves cryptographiques DPoP :

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

Vous pouvez désactiver cette règle d'accès contextuel par défaut si vous avez des exigences spécifiques concernant le partage de jetons ou si vous devez injecter le jeton directement dans l'en-tête. Pour désactiver cette fonctionnalité, définissez la variable d'environnement suivante lorsque vous déployez votre agent :

config={
  "env_vars": {
    "GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES": False,
  }
}

Étapes suivantes