Vous pouvez créer des règles d'accès unifiées (UAP, Unified Access Policies) Identity and Access Management (IAM) pour gérer de manière sécurisée la communication entre les principaux d'agent et les ressources de destination, telles que les agents de destination, les serveurs MCP et les points de terminaison. Ces règles sont liées au projet qui contient vos instances Agent Gateway.
Agent Gateway utilise Identity-Aware Proxy (IAP) pour évaluer et appliquer les règles d'accès unifiées.
IAP s'intègre également à l'accès contextuel pour fournir une authentification et une autorisation de l'identité de l'agent de bout en bout.
Pour configurer des UAP pour Agent Gateway, consultez Configurer des UAP IAM.
Vous pouvez également créer une limite d'accès des principaux (PAB) sur l'identité de l'agent. Agent Gateway peut utiliser IAP pour appliquer des stratégies Limite d'accès des principaux.
Activer la passerelle d'agent
Pour utiliser des règles de communication agentiques, vous devez configurer Agent Gateway.
Nous vous recommandons de configurer Agent Gateway en mode de simulation (DRY_RUN) dans un environnement de préproduction pour vérifier que vos règles fonctionnent comme prévu.
Lorsque vous êtes certain que les règles fonctionnent correctement, vous pouvez mettre à jour la configuration de la passerelle d'agent pour définir le mode d'application sur ENFORCE. Dans ce mode, les communications agentiques qui enfreignent le règlement sont interdites et la communication avec la ressource est bloquée.
Présentation des UAP
Les UAP contrôlent si un ou plusieurs comptes principaux d'agent peuvent accéder à une ou plusieurs ressources de destination. Les UAP étendent le modèle de règles IAM en acceptant plusieurs règles dans une même règle. Contrairement aux stratégies d'autorisation et de refus IAM, chaque règle d'une règle d'administration unifiée peut avoir un effet d'autorisation et un effet de refus. En savoir plus sur les types de stratégies IAM
Les règles contiennent également des conditions exprimées en Common Expression Language (CEL). Les conditions constituent le principal mécanisme de contrôle de l'accès aux ressources post-passerelle. L'application des UAP avec Agent Gateway et IAP permet de contrôler strictement le comportement des agents déployés dans votre entreprise. Vous pouvez représenter des cas d'utilisation concrets et précis de gouvernance des agents dans une seule règle.
Une stratégie type contient au moins deux règles distinctes :
- Règle d'autorisation : les règles d'autorisation ont un effet d'autorisation qui permet aux comptes principaux de l'agent d'accéder à des opérations spécifiques et sécurisées, comme effectuer une opération de lecture sur un outil pour récupérer des données de suivi ou afficher des entrées de registre.
- Règle de refus : les règles de refus ont un effet de refus qui empêche l'agent d'exécuter des actions indésirables, comme effectuer une opération de suppression ou de mise à jour non commandée sur une ressource critique.
Prenons l'exemple d'un agent d'assistance client automatisé qui doit interagir avec des outils internes disposant d'un accès privilégié à une base de données client. L'administrateur configure une passerelle d'agent avec IAP pour appliquer les UAP IAM. L'administrateur peut configurer un UAP avec une règle d'autorisation qui autorise le compte principal de l'agent à lire les demandes d'assistance, et une règle de refus qui interdit au compte principal de l'agent de supprimer ou de mettre à jour les enregistrements de la base de données.
En utilisant des UAP contenant à la fois des règles d'autorisation et de refus, les entreprises peuvent déployer une seule stratégie de conformité directement sur l'infrastructure cloud sous-jacente pour limiter le comportement des agents.
Bonnes pratiques
Suivez ces bonnes pratiques lorsque vous configurez des règles de sortie d'agent :
- Utilisez le mode dry run : déployez d'abord les règles nouvelles ou modifiées en mode dry run pour vous assurer qu'elles fonctionnent comme prévu, sans bloquer le trafic d'agents actifs.
- Appliquez le principe du moindre privilège : n'accordez que les autorisations nécessaires. Utilisez des noms ou des chemins d'outils spécifiques dans les conditions CEL plutôt que des caractères génériques.
- Utilisez des règles de refus pour les garde-fous : utilisez des règles de refus explicites pour implémenter des garde-fous critiques, comme le blocage des outils destructifs sur les points de terminaison de production. L'utilisation de règles de refus pour les garde-fous est efficace, car elles remplacent les règles d'autorisation.
- Effectuez des audits réguliers : examinez régulièrement les journaux Cloud Audit Logs et les configurations des règles pour vérifier qu'ils sont conformes aux règles de sécurité de votre organisation.
Composants UAP
Les UAP contiennent une ou plusieurs règles. Les règles se composent des éléments suivants :
Entités principales de l'agent
Dans vos UAP IAM, vous définissez un ou plusieurs principaux d'agent. Les comptes principaux d'agent sont les membres auxquels vous accordez l'accès. Vous spécifiez les agents par leur identité, c'est-à-dire l'identité de l'agent qui initie la communication avec une ressource.
Pour en savoir plus sur la façon dont les différents types d'agents reçoivent des identités, consultez Identité de l'agent.
Les identités d'agent sont représentées par des identifiants de principal qui contiennent l'identité de l'agent au format SPIFFE (par exemple, principal://agents.global.org-...).
Vous pouvez spécifier un tableau d'identités d'agents individuelles ou un tableau d'ensembles de comptes principaux.
Les identités d'agent intégrées sont provisionnées dans les services Cloud de Confiance tels que Agent Runtime (Reasoning Engine), Gemini Enterprise (Discovery Engine) et les services Cloud Run configurés avec une identité d'agent. Ces principaux d'agent se présentent sous la forme principal://TRUST_DOMAIN/AGENT_UNIQUE_IDENTIFIER, où l'identifiant représente le chemin d'accès à la ressource de l'agent sur son service d'hébergement.
Vous pouvez également spécifier des agents à l'aide d'identifiants principaux de fédération d'identité de charge de travail.
Effet de la règle
L'effet de la règle définit si elle autorise ou non les comptes principaux des agents à accéder à une ressource.
Ressources de destination
Les UAP IAM gèrent l'accès des comptes principaux d'agent aux ressources de destination. Les ressources de destination sont celles auxquelles les principaux de l'agent tentent d'accéder. Les ressources de destination sont spécifiées dans les conditions de la règle. Les ressources de destination peuvent être des ressources enregistrées ou des ressources non enregistrées.
Ressources enregistrées
Les ressources enregistrées sont celles qui sont enregistrées dans un registre Agent Registry.
Les ressources enregistrées incluent les éléments suivants :
- Registres : registres d'agents entiers dans un projet.
- Serveurs MCP : serveurs MCP enregistrés dans un registre d'agents.
- Agents : agents enregistrés dans un registre d'agents. Les agents individuels peuvent être spécifiés individuellement par leur identité d'agent. Un groupe d'agents peut être spécifié par un identifiant d'ensemble de comptes principaux.
- Points de terminaison : points de terminaison enregistrés dans un registre d'agents.
Les services individuels peuvent être enregistrés dans Agent Registry. Si vous régionalisez vos registres d'agents et que votre règle gère l'accès aux ressources enregistrées, vos UAP ne s'appliquent qu'aux ressources qui se trouvent dans la région du registre.
Ressources non enregistrées
Les ressources non enregistrées sont celles qui ne sont pas enregistrées dans un registre d'agents. Pour accorder ou refuser l'accès aux ressources non enregistrées dans vos règles UAP, vous devez spécifier les ressources non enregistrées dans les conditions de votre règle à l'aide d'expressions CEL (Common Expression Language) contenant des attributs d'hôte et de chemin d'accès non enregistrés.
Conditions
Dans les règles UAP, vous utilisez des expressions CEL (Common Expression Language) dans le bloc conditions pour définir à la fois le champ d'application de la ressource cible et les critères d'accès précis :
Champ d'application de la ressource cible : identifie lesquelles des ressources de destination sont régies par la règle. Dans les fichiers de règles au format JSON, vous spécifiez des attributs de destination, tels que
destination.agent_registry.mcp_server.nameoudestination.unregistered.host. Dans la console Cloud de Confiance , la sélection de destinations sous Ressources cibles ajoute automatiquement ces critères de ressources à l'expression de condition de la règle.Critères d'accès : utilisez une expression booléenne pour déterminer quand et sous quelles contraintes l'effet de la règle s'applique. Par exemple, vous pouvez restreindre l'accès en fonction des noms d'outils, de l'état en lecture seule, des méthodes HTTP ou des préfixes de chemin d'accès à l'aide des attributs CEL UAP. L'effet de la règle (autoriser ou refuser) ne prend effet que lorsque l'ensemble de l'expression CEL est évalué sur
true.
Dans gcloud CLI et l'API REST, vous spécifiez ces expressions CEL dans le champ conditions de la définition de la règle.
Dans la console Cloud de Confiance , vous pouvez configurer des règles standards à l'aide du Générateur de conditions ou écrire des expressions CEL personnalisées directement dans l'Éditeur de conditions.
Autorisations
Dans IAP V2 avec les UAP IAM, l'autorisation iap.googleapis.com/resources.egressViaIAP est toujours accordée sur la ressource de destination. Dans gcloud CLI et l'API REST, vous spécifiez l'autorisation dans le champ operation.permissions de votre fichier de stratégie.
Options de création de règles
Sur la page Stratégies de la console Cloud de Confiance , vous pouvez créer des UAP IAM. Nous vous recommandons de ne créer que des UAP (stratégies IAM v3).
Dans gcloud CLI et l'API REST, vous pouvez configurer les UAP IAM en créant d'abord un fichier au format JSON. Nous vous recommandons de ne créer que des UAP.
Authentification et autorisation de bout en bout
IAP et l'accès contextuel fournissent une authentification et une autorisation par défaut de l'identité de l'agent de bout en bout à l'aide des protocoles suivants :
- TLS mutuelle (mTLS)
- Démontrer la preuve de possession (DPoP)
Les identités d'agent sont provisionnées avec un certificat X.509 et un jeton lié à un certificat. IAP exige que les identités d'agent utilisent le protocole TLS mutuel (mTLS) pour s'authentifier auprès d'Agent Gateway. Lorsque la passerelle autorise l'agent à sortir et à accéder aux API Cloud de Confiance , aux serveurs MCP, aux autres agents et aux points de terminaison, l'agent tente d'accéder en dehors de la limite mTLS. Pour protéger les communications, l'accès contextuel applique une règle d'accès contextuel gérée par Google. La règle exige que DPoP valide le jeton lié au certificat qui est lié à l'identité de l'agent. Pour en savoir plus sur la façon dont l'accès contextuel utilise mTLS et DPoP, consultez Sécurité de l'agent d'accès contextuel.
Attributs UAP CEL
Dans vos UAP, vous pouvez définir des conditions avec des expressions conditionnelles. Les expressions peuvent contenir plusieurs sous-expressions. Le type de ressource de destination que vous utilisez dans chaque sous-condition relationnelle détermine les attributs que vous pouvez utiliser.
Par exemple, dans la condition suivante, dans la sous-expression destination.unregistered.path.startsWith('/v1/statements'), le type de ressource est une destination non enregistrée, l'attribut est destination.unregistered.path et startsWith() est la fonction CEL.
destination.unregistered.host == 'finance.example.com' &&
destination.unregistered.path.startsWith('/v1/statements')
Les attributs décrits dans le tableau suivant sont disponibles pour chaque type de ressource :
| Type de ressource de destination | Attribut | Détails | ||||||
|---|---|---|---|---|---|---|---|---|
Agent Registry |
destination.is_registered |
|
||||||
destination.agent_registry.resource_type |
|
|||||||
destination.agent_registry.location |
|
|||||||
destination.agent_registry.project_id |
|
|||||||
Agent |
destination.agent_registry.agent.name |
|
||||||
Serveur MCP |
destination.agent_registry.mcp_server.name |
|
||||||
destination.agent_registry.mcp_server.method |
|
|||||||
destination.agent_registry.mcp_server.tool.name |
|
|||||||
destination.agent_registry.mcp_server.tool.annotations.read_only_hint
|
|
|||||||
destination.agent_registry.mcp_server.tool.annotations.destructive_hint
|
|
|||||||
destination.agent_registry.mcp_server.tool.annotations.idempotent_hint
|
|
|||||||
destination.agent_registry.mcp_server.tool.annotations.open_world_hint
|
|
|||||||
destination.agent_registry.mcp_server.prompt.name |
|
|||||||
destination.agent_registry.mcp_server.resource.name |
|
|||||||
Point de terminaison |
destination.agent_registry.endpoint.name |
|
||||||
Destination non enregistrée |
destination.unregistered.host |
|
||||||
destination.unregistered.path |
|
|||||||
destination.unregistered.method |
|
Étapes suivantes
- Attributs CEL pour les UAP
- Créer des UAP IAM
- Gérer les UAP IAM
- Résoudre les problèmes liés aux UAP IAM
Atelier de programmation : Sécuriser les applications d'IA agentiques multicloud
Découvrez comment sécuriser vos applications agentiques dans l'atelier de programmation "Sécuriser les applications d'IA agentiques cross-cloud".