Agent Identity fournit une identité cryptographique fortement attestée pour chaque agent, basée sur la norme SPIFFE. Avec 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 pour le compte d'un utilisateur final. L'identité de l'agent utilise les propres identifiants de l'agent 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élégués aux utilisateurs finaux.
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 Cloudsont 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 la passerelle d'agent et Gemini Enterprise, les identifiants de l'utilisateur final, tels que ceux fournis 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 :
- Exécution de la plate-forme d'agents Gemini Enterprise (exécution de l'agent)
- Gemini Enterprise (preview)
Modèles d'authentification
Pour s'authentifier auprès de divers outils et services, Agent Identity 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) (preview) | Outils et services externes | Lorsqu'un agent agit au nom d'un utilisateur spécifique (par exemple, pour accéder à ses tâches Jira ou à ses dépôts GitHub). Vous configurez un fournisseur d'authentification OAuth en trois étapes dans le gestionnaire d'authentification des identités d'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 services Google Cloud en utilisant sa propre identité. Pour en savoir plus, consultez S'authentifier à l'aide de la propre identité d'un agent. |
| OAuth 2.0 (à deux facteurs) (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 Agent Identity pour gérer les identifiants client et les jetons d'accès. Pour en savoir plus, consultez S'authentifier à l'aide d'OAuth à deux facteurs 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 par clé API dans le gestionnaire d'authentification des identités d'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 de la même manière que des clés 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 contribuent ensemble à 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é est au 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 du compte principal suit ce format :
principal://TRUST_DOMAIN/resources/SERVICE/RESOURCE_PATH
Exemples :
- Agent Engine de la plate-forme d'agents :
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 service Google Cloud (par exemple,aiplatformoudiscoveryengine).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 d'agent fournissent une preuve cryptographique de l'identité d'un agent. Le système est compatible avec les certificats X.509 et les jetons d'accès Google Cloud . Un certificat X.509 est provisionné et géré automatiquement sur l'agent pour renforcer l'authentification.
Gestionnaire d'authentification des identités d'agent
Le gestionnaire d'authentification des identités d'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 et d'un code secret de client OAuth, ou pour le compte d'un utilisateur via la délégation OAuth à l'aide de jetons d'accès 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 des identités d'agent est régi par IAM, et l'agent utilise son propre ID SPIFFE pour s'authentifier auprès du gestionnaire d'authentification. Tous les événements d'accès des utilisateurs finaux 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. Elle offre également une visibilité sur l'accès des utilisateurs finaux et permet de révoquer l'accès, ce qui assure une meilleure gouvernance des autorisations déléguées par les utilisateurs.
Sécurité et gouvernance
L'identité de l'agent est entièrement intégrée aux systèmes de règles de Google, tels que IAM, Principal Access Boundary (PAB) et VPC Service Controls, qui permettent d'améliorer la sécurité et la gouvernance. Il s'intègre également à la journalisation d'audit pour garantir la responsabilité et fournir des journaux d'audit clairs, que l'agent agisse en son nom propre ou pour le compte 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 d'identité de l'agent. Au-delà de l'Agent Gateway, la règle applique la 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 à la passerelle d'agent. Cela garantit que les jetons liés à un certificat ne peuvent être utilisés qu'à partir de leur environnement d'exécution prévu et fiable.
- Intégration d'IAM : compatibilité avec les règles 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 : prise en charge de 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 renforcer la sécurité :
- Attribution d'identité : lorsque vous déployez un agent, Google Cloudlui attribue une identité SPIFFE unique et un certificat X.509. Chaque certificat X.509 est valide pendant 24 heures, et Google Cloudle maintient automatiquement à jour pour assurer la sécurité.
- 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 aux services Google Cloud : 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 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 d'Agent Identity
L'identité de l'agent améliore la sécurité par rapport aux comptes de service standards.
- Isolation renforcée : 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 usurpé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 la passerelle d'agent et Gemini Enterprise, les identifiants de l'utilisateur final, tels que ceux fournis 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 disposant de trop d'autorisations.
- Friction réduite : 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 indiquent à la fois l'identité de l'agent et celle de l'utilisateur.
Limites
- Anciens rôles de bucket Cloud Storage : vous ne pouvez pas attribuer d'anciens rôles de bucket aux identités d'agent (par exemple,
storage.legacyBucketReader).
Étapes suivantes
- Créer un agent avec l'identité de l'agent
- S'authentifier à l'aide de l'autorité propre d'un agent
- S'authentifier à l'aide du protocole OAuth en trois étapes avec le gestionnaire d'authentification
- S'authentifier à l'aide d'OAuth en deux étapes avec le gestionnaire d'authentification
- S'authentifier à l'aide d'une clé API avec le gestionnaire d'authentification
- Gérer les fournisseurs d'authentification des identités d'agent
- Résoudre les problèmes liés au gestionnaire d'authentification des identités d'agent
- Concepts SPIFFE