Présentation de l'identité de l'agent

L'identité de l'agent fournit une identité cryptographique fortement attestée pour chaque agent, basée sur la norme SPIFFE. Grâce à l'identité de l'agent, votre agent peut s'authentifier de manière sécurisée auprès des serveurs MCP, des ressources cloud, des points de terminaison et d'autres agents, en agissant en son propre nom ou au nom d'un utilisateur final. L'identité de l'agent utilise ses propres identifiants et le gestionnaire d'authentification de l'identité de l'agent. Vous pouvez utiliser le gestionnaire d'authentification pour créer et gérer des fournisseurs d'authentification, qui sont les configurations spécifiques utilisées pour acquérir, gérer et sécuriser les clés API, les ID client OAuth, les secrets client OAuth et les jetons OAuth d'utilisateur final délégués.

Contrairement aux comptes de service, les identités d'agent ne sont pas partagées par plusieurs charges de travail par défaut, ne peuvent pas être empruntées et ne permettent pas aux développeurs de générer des clés de compte de service à longue durée de vie. Les jetons d'accès générés pour Google Cloud sont liés de manière cryptographique aux certificats X.509 uniques de l'agent pour éviter le vol de jetons.

Lorsque l'identité de l'agent est utilisée avec Agent Gateway et Gemini Enterprise, les identifiants de l'utilisateur final, tels que ceux provisionnés par les connecteurs Gemini Enterprise, sont chiffrés par le gestionnaire d'authentification et déchiffrés au niveau de la passerelle. L'agent ne peut donc jamais accéder aux identifiants bruts.

Les services suivants sont compatibles avec l'identité de l'agent :

Modèles d'authentification

Pour s'authentifier auprès de différents outils et services, l'identité de l'agent est compatible avec plusieurs modèles d'authentification. Le modèle utilisé par un agent dépend de la méthode d'authentification proposée par la ressource cible et du fait que l'agent agisse de sa propre autorité ou au nom d'un utilisateur final.

Autorité Méthode d'authentification Ressource cible Cas d'utilisation et solution
Autorité déléguée par l'utilisateur OAuth 2.0 (en trois étapes) (aperçu) Outils et services externes Lorsqu'un agent agit au nom d'un utilisateur spécifique (par exemple, pour accéder aux tâches Jira ou aux dépôts GitHub d'un utilisateur). Vous configurez un fournisseur d'authentification OAuth en trois étapes dans le gestionnaire d'authentification de l'identité de l'agent pour gérer le consentement utilisateur et les jetons. Pour en savoir plus, consultez S'authentifier à l'aide d'OAuth en trois étapes avec le gestionnaire d'authentification.
Autorité propre de l'agent Identité basée sur le cloud (identité de l'agent) Google Cloud services Lorsqu'un agent hébergé sur Google Cloud doit accéder à d'autres Google Cloud services à l'aide de sa propre identité. Pour en savoir plus, consultez S'authentifier à l'aide de la propre identité d'un agent.
OAuth 2.0 (en deux étapes) (aperçu) Outils et services externes Recommandé pour l'authentification de machine à machine avec des services externes compatibles avec OAuth. Vous configurez un fournisseur d'authentification OAuth en deux étapes dans le gestionnaire d'authentification de l'identité de l'agent pour gérer les identifiants client et les jetons d'accès. Pour en savoir plus, consultez S'authentifier à l'aide d'OAuth en deux étapes avec le gestionnaire d'authentification.
Clé API (aperçu) Outils et services externes Pour les services externes qui nécessitent une clé cryptographique ou un mot de passe pour l'authentification. Vous configurez un fournisseur d'authentification de clé API dans le gestionnaire d'authentification de l'identité de l'agent pour stocker et gérer les clés de manière sécurisée. Pour en savoir plus, consultez S'authentifier à l'aide d'une clé API avec le gestionnaire d'authentification.
Authentification de base HTTP Outils et services externes Utilise des mots de passe en texte clair. Cette méthode n'est pas recommandée. Vous pouvez stocker des mots de passe semblables à une clé API. Pour en savoir plus, consultez S'authentifier à l'aide d'une clé API avec le gestionnaire d'authentification.

Composants principaux

L'identité de l'agent implique plusieurs composants clés qui, ensemble, contribuent à fournir une authentification et une autorisation sécurisées.

Identité basée sur SPIFFE

Chaque agent se voit attribuer une chaîne d'identité unique, ou ID SPIFFE, basée sur la norme SPIFFE. Cette identité est fortement attestée, liée au cycle de vie de l'agent et directement mappée à l'URI de la ressource où l'agent est hébergé.

L'identité suit le format suivant :

spiffe://TRUST_DOMAIN/resources/SERVICE/RESOURCE_PATH

Exemple :

  • spiffe://agents.global.org-123456789012.system.id.goog/resources/aiplatform/projects/9876543210/locations/us-central1/reasoningEngines/my-test-agent

Lorsqu'une identité d'agent est utilisée dans une stratégie d'autorisation IAM, l'identifiant principal suit le format suivant :

principal://TRUST_DOMAIN/resources/SERVICE/RESOURCE_PATH

Exemples :

  • Vertex AI Agent Engine : principal://agents.global.org-123456789012.system.id.goog/resources/aiplatform/projects/9876543210/locations/us-central1/reasoningEngines/my-test-agent
  • Gemini Enterprise : principal://agents.global.org-123456789012.system.id.goog/resources/discoveryengine/projects/9876543210/locations/global/collections/default_collection/engines/my-test-agent

Les identifiants utilisent les éléments suivants :

  • TRUST_DOMAIN : domaine de confiance de votre organisation (par exemple, agents.global.org-123456789012.system.id.goog).
  • SERVICE : nom court du Google Cloud service (par exemple, aiplatform ou discoveryengine).
  • RESOURCE_PATH : chemin d'accès complet à la ressource qui héberge l'agent.

Étant donné que l'agent lui-même est le compte principal, vous accordez des autorisations directement à cet identifiant pour contrôler les ressources auxquelles l'agent peut accéder.

Identifiants de l'agent

Les identifiants de l'agent fournissent une preuve cryptographique de l'identité d'un agent. Le système est compatible avec les certificats X.509 et les Google Cloud jetons d'accès. Un certificat X.509 est provisionné et géré automatiquement sur l'agent pour renforcer l'authentification.

Gestionnaire d'authentification de l'identité de l'agent

Le gestionnaire d'authentification de l'identité de l'agent est un coffre-fort d'identifiants conçu pour protéger les identifiants. Il permet aux agents de s'authentifier à l'aide d'une clé API ou d'un ID client et d'un secret OAuth, ou au nom d'un utilisateur via la délégation OAuth à l'aide de jetons d'accès d'utilisateur final. Dans le gestionnaire d'authentification, vous configurez des fournisseurs d'authentification qui définissent le type d'authentification et les identifiants pour des applications tierces spécifiques.

L'accès au gestionnaire d'authentification de l'identité de l'agent est régi par IAM, et l'agent utilise son propre ID SPIFFE d'agent pour s'authentifier auprès du gestionnaire d'authentification. Tous les événements d'accès de l'utilisateur final sont également attribuables à l'ID SPIFFE de l'agent, ce qui facilite la gouvernance.

Le gestionnaire d'authentification de l'identité de l'agent automatise l'acquisition d'identifiants OAuth, par exemple en ouvrant une boîte de dialogue pour la connexion et le consentement de l'utilisateur. Il offre également une visibilité sur l'accès de l'utilisateur final et permet la révocation de l'accès, ce qui garantit une meilleure gouvernance des autorisations déléguées par l'utilisateur.

Sécurité et gouvernance

L'identité de l'agent est entièrement intégrée aux systèmes de règles de Google, tels qu'IAM, la limite d'accès des comptes principaux (PAB) et VPC Service Controls, ce qui permet d'améliorer la sécurité et la gouvernance. Elle s'intègre également à la journalisation d'audit pour garantir la responsabilité et fournir des journaux d'audit clairs lorsque l'agent agit en son propre nom et lorsqu'il agit au nom d'un utilisateur final.

  • Accès contextuel : par défaut, une règle d'accès contextuel gérée par Google permet de sécuriser les identifiants de l'identité de l'agent. Au-delà d'Agent Gateway, la règle applique une preuve de possession démontrable (DPoP) en authentifiant le jeton d'accès de l'agent. La règle impose également l'utilisation de mTLS pour accéder à Agent Gateway. Cela garantit que les jetons liés à un certificat ne peuvent être utilisés que depuis leur environnement d'exécution prévu et approuvé.
  • Intégration IAM : compatibilité avec les stratégies d'autorisation et de refus IAM standards.
  • Limite d'accès des comptes principaux (PAB) : une PAB limite les ressources auxquelles un agent peut accéder, quelles que soient les autres autorisations.
  • VPC Service Controls : compatibilité avec l'utilisation des identités d'agent (aperçu) dans les règles d'entrée et de sortie pour autoriser l'accès aux ressources protégées par un périmètre de service.

Fonctionnement de l'identité de l'agent

L'identité de l'agent authentifie et autorise les actions de l'agent via un workflow conçu pour améliorer la sécurité :

  1. Attribution d'identité : lorsque vous déployez un agent, Google Cloud lui attribue une identité SPIFFE unique et un certificat X.509. Chaque certificat X.509 est valide pendant 24 heures et Google Cloud le maintient automatiquement à jour pour assurer la sécurité.
  2. Acquisition d'identifiants : la méthode utilisée par les agents pour acquérir des identifiants dépend de ce à quoi ils tentent d'accéder. Voici quelques exemples :
    • Accéder Google Cloud aux services : l'agent demande un jeton d'accès lié. Ce jeton est lié de manière cryptographique au certificat X.509 unique de l'agent pour éviter le vol de jetons. Pour en savoir plus, consultez la section Sécurité et gouvernance.
    • Accéder à des outils externes : l'agent utilise le gestionnaire d'authentification de l'identité de l'agent pour récupérer les identifiants requis (tels que les clés API ou les jetons OAuth) auprès d'un fournisseur d'authentification. Le gestionnaire d'authentification est compatible à la fois avec l'autorité déléguée par l'utilisateur et l'autorité propre de l'agent.

Avantages de l'identité de l'agent

L'identité de l'agent améliore la sécurité par rapport aux comptes de service standards.

  • Forte isolation : contrairement aux comptes de service, les identités d'agent ne sont pas partagées par plusieurs charges de travail par défaut, ne peuvent pas être empruntées et ne permettent pas aux développeurs de générer des clés de compte de service à longue durée de vie.
  • Sécurité des identifiants : les règles d'accès contextuel par défaut rendent les jetons liés non rejouables, ce qui permet de se protéger contre le vol de jetons et la prise de contrôle de compte. Lorsque l'identité de l'agent est utilisée avec Agent Gateway et Gemini Enterprise, les identifiants de l'utilisateur final, tels que ceux provisionnés par les connecteurs Gemini Enterprise, sont chiffrés par le gestionnaire d'authentification et déchiffrés au niveau de la passerelle. L'agent ne peut donc jamais accéder aux identifiants bruts.
  • Approche du moindre privilège : fournit des identités par agent au lieu de comptes de service partagés pour éliminer les agents sur-autorisés.
  • Réduction des frictions : automatise les flux OAuth complexes et gère les clés API pour une intégration plus simple des outils.
  • Observabilité améliorée : fournit des journaux d'audit clairs. Lorsqu'un agent agit au nom d'un utilisateur, les journaux affichent à la fois l'identité de l'agent et celle de l'utilisateur.

Limites

  • Anciens rôles de bucket Cloud Storage : vous ne pouvez pas accorder aux identités d'agent des anciens rôles de bucket (par exemple, storage.legacyBucketReader).

Étape suivante