Cette page explique comment acheminer le trafic Agent Runtime via Agent Gateway. Agent Gateway est un composant central de mise en réseau et de sécurité de l'écosystème Gemini Enterprise Agent Platform. Il fournit une connectivité sécurisée et régie pour toutes les interactions agentiques, qu'elles aient lieu entre des utilisateurs et des agents, des agents et des outils, ou entre des agents eux-mêmes.
Avant de commencer
Assurez-vous de savoir comment déployer des agents sur Agent Runtime.
Découvrez Agent Gateway. Vous pouvez utiliser Agent Gateway en mode Agent vers n'importe quelle destination (sortie) pour sécuriser et régir toutes les communications sortantes avec le trafic sortant vers des outils, des modèles, des API et d'autres agents. Vous utilisez la passerelle en mode Client vers agent (entrée) pour contrôler les clients qui peuvent accéder à vos agents. La passerelle vous permet de choisir les règles IAP et les modèles Model Armor à appliquer à ces interactions.
Une seule instance Runtime peut être liée simultanément à une passerelle Agent vers n'importe quelle destination (sortie) et à une passerelle Client vers agent (entrée).
Limites
- Une passerelle d'agent ne peut pas être liée à des moteurs de raisonnement Runtime créés avant le 29 avril 2026.
Bien qu'un seul projet et une seule région puissent héberger plusieurs instances de passerelle d'agent Agent vers n'importe quelle destination (sortie) et Client vers agent (entrée), tous les agents Agent Runtime déployés dans ce même projet et cette même région doivent être liés aux mêmes instances spécifiques de passerelle d'agent de sortie et d'entrée.
Par exemple, si un projet et une région contiennent
egress-gateway-Xetegress-gateway-Y, tous les agents de ce projet et de cette région doivent être configurés pour utiliser la même passerelle pour la sortie. Autrement dit, tous les agents utilisentegress-gateway-Xou tous les agents utilisentegress-gateway-Y. Vous ne pouvez pas configureragent-Apour qu'il utiliseegress-gateway-Xetagent-Bpour qu'il utiliseegress-gateway-Y.Cette même règle de liaison s'applique également aux passerelles d'entrée d'un projet et d'une région.
Le service de détection des menaces Agent Engine de Security Command Center n'est pas disponible lorsque Agent Gateway est activé pour un agent.
En mode Client vers agent (entrée), Agent Gateway ne peut régir que les méthodes
queryetstreamQueryd'Agent Runtime. Pour protéger d'autres méthodes non compatibles (telles queasyncQuery), vous pouvez appliquer des modèles Model Armor directement à partir de votre application ou de votre agent. Consultez Assainir les requêtes et les réponses ou cet atelier de programmation sur la création d'un système d'agents sécurisé avec Model Armor.
Acheminer le trafic Agent Runtime via Agent Gateway
Pour acheminer le trafic Agent Runtime via Agent Gateway, procédez comme suit :
Créez une ressource Agent Gateway et associez-y les règles d'autorisation nécessaires. Vous pouvez créer une passerelle en mode Agent vers n'importe quelle destination (sortie) ou en mode Client vers agent (entrée). Notez que l'agent et la passerelle doivent être créés dans le même projet et la même région. Pour obtenir des instructions, consultez Configurer Agent Gateway.
Assurez-vous que la passerelle est configurée pour répondre aux besoins de votre déploiement. Par exemple, si votre agent nécessite un accès LLM, configurez la passerelle pour autoriser cet accès afin d'éviter d'éventuels échecs de déploiement d'Agent Runtime.
Configurez votre agent pour qu'il achemine le trafic via Agent Gateway.
Pour les nouveaux agents
Spécifiez la ressource de passerelle lors du déploiement de votre agent. Par exemple, pour déployer l'agent sur Agent Runtime, utilisez
client.agent_engines.createpour transmettre l'objetlocal_agentainsi que toutes les configurations facultatives.Si vous souhaitez utiliser des fonctionnalités de plate-forme gérées par la passerelle, telles que Model Armor ou les règles de gouvernance sémantique avec cet agent, définissez
agent_gateway_configetidentity_type=AGENT_IDENTITYdans l'appel de création, comme illustré dans cet exemple. Sansidentity_type=AGENT_IDENTITY,effectiveIdentityde l'instance Runtime revient au compte de service Vertex AI par défaut, et les règles de gouvernance sémantique filtrent silencieusement l'agent du sélecteur de création de règles.remote_agent = client.agent_engines.create( agent=local_agent, config={ "agent_gateway_config": { "agent_to_anywhere_config": {"agent_gateway": projects/PROJECT_ID/locations/REGION/agentGateways/AGENT_GATEWAY_TO_ANYWHERE_NAME}, # "client_to_agent_config": {"agent_gateway": projects/PROJECT_ID/locations/REGION/agentGateways/AGENT_GATEWAY_CLIENT_TO_AGENT_NAME} }, "identity_type": types.IdentityType.AGENT_IDENTITY, # Other optional configuration ... # "requirements": requirements, # "gcs_dir_name": gcs_dir_name, # https://docs.cloud.google.com/gemini-enterprise-agent-platform/scale/runtime/agent-identity#opt-out-caa "env_vars": { "GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES": False, } }, )
Remplacez
AGENT_GATEWAY_TO_ANYWHERE_NAMEpar le nom de l'Agent Gateway que vous avez créé en mode Agent vers n'importe quelle destination (sortie).Si vous avez créé une passerelle en mode Client vers agent (entrée), utilisez plutôt le champ
client_to_agent_configet remplacezAGENT_GATEWAY_CLIENT_TO_AGENT_NAMEpar le nom de l'Agent Gateway que vous avez créé pour l'entrée.Pour les agents existants
Agent vers n'importe quelle destination
Utilisez la requête d'API REST suivante pour associer un agent existant à une passerelle Agent vers n'importe quelle destination pour la sortie.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "spec": { "deploymentSpec": { "agentGatewayConfig": { "agentToAnywhereConfig": { "agentGateway": "projects/PROJECT_ID/locations/REGION/agentGateways/AGENT_GATEWAY_TO_ANYWHERE_NAME" } } } } }' \ "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/reasoningEngines/RESOURCE_ID?updateMask=spec.deploymentSpec.agentGatewayConfig"
Remplacez les éléments suivants :
PROJECT_ID: ID du projetREGION: région dans laquelle l'agent est déployéAGENT_GATEWAY_TO_ANYWHERE_NAME: nom de l'Agent Gateway que vous avez créé en mode Agent vers n'importe quelle destination (sortie)RESOURCE_ID: l'ID deressource de l'agent
Client vers agent
Utilisez la requête d'API REST suivante pour associer un agent existant à une passerelle Client vers agent pour l'entrée.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "spec": { "deploymentSpec": { "agentGatewayConfig": { "clientToAgentConfig": { "agentGateway": "projects/PROJECT_ID/locations/REGION/agentGateways/AGENT_GATEWAY_CLIENT_TO_AGENT_NAME" } } } } }' \ "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/reasoningEngines/RESOURCE_ID?updateMask=spec.deploymentSpec.agentGatewayConfig"
Remplacez les éléments suivants :
PROJECT_ID: ID du projetREGION: région dans laquelle l'agent est déployéAGENT_GATEWAY_CLIENT_TO_AGENT_NAME: nom de l'Agent Gateway que vous avez créé en mode Client vers agent (entrée)RESOURCE_ID: l'ID de ressource de l'agent
Enregistrez-vous auprès de l'instance Agent Registry dans le même projet et la même région que l'agent et la passerelle.
gcloud agent-registry services create SERVICE_NAME \ --project=PROJECT_ID \ --location=REGION \ --display-name="DISPLAY_NAME" \ --endpoint-spec-type=no-spec \ --interfaces='[{url="https://REGION-aiplatform.mtls.googleapis.com",protocolBinding="jsonrpc"}]' \ --format="value(registryResource)"Remplacez les éléments suivants :
SERVICE_NAME: nom que vous souhaitez attribuer à votre ressource, par exempleallow-aiplatform-region-eu3.PROJECT_ID: ID du projet.REGION: région du registre.DISPLAY_NAME: nom lisible du point de terminaison.
Pour en savoir plus, consultez Enregistrer un agent.
Créez une liaison de stratégie IAM entre l'agent et le registre pour l'agent.
gcloud iap web add-iam-policy-binding \ --resource-type=agent-registry \ --endpoint=ENDPOINT_ID \ --region=REGION \ --project=PROJECT_ID \ --member=MEMBER \ --role=roles/iap.egressor
Remplacez les éléments suivants :
ENDPOINT_ID: ID du point de terminaison de service de l'agent enregistré. Vous l'obtenez à partir de la sortie de l'étape précédente.MEMBER: compte principal d'identité de l'agent auquel attribuer le rôle. Le format est généralement le suivant :principal://TRUST_DOMAIN/resources/aiplatform/projects/PROJECT_ID/locations/REGION/reasoningEngines/ENGINE_ID.
À ce stade, le trafic de votre agent sera désormais acheminé via Agent Gateway. Toutefois, Agent Gateway adopte une stratégie de refus par défaut. Pour activer certaines fonctions d'Agent Platform, vous devez vous assurer que l'agent peut communiquer avec les points de terminaison suivants :
Si Cloud Trace est activé, Agent Gateway doit autoriser le trafic vers le point de terminaison
https://telemetry.googleapis.com/.Si les variables d'environnement
GOOGLE_API_USE_CLIENT_CERTIFICATEetGOOGLE_API_USE_MTLS_ENDPOINTsont définies, assurez-vous que le trafic vershttps://telemetry.mtls.googleapis.com/est également autorisé.Si Cloud Logging est activé, Agent Gateway doit autoriser le trafic vers le point de terminaison
https://logging.googleapis.com/.Si les variables d'environnement
GOOGLE_API_USE_CLIENT_CERTIFICATEetGOOGLE_API_USE_MTLS_ENDPOINTsont définies, assurez-vous que le trafic vershttps://logging.mtls.googleapis.com/est également autorisé.
De plus, si vos agents appellent des LLM ou utilisent des fonctionnalités telles que les sessions et Memory Bank, vous devez vous assurer qu'ils peuvent communiquer avec les points de terminaison utilisés par ces services. Exemple :
- Pour les sessions :
https://REGION-aiplatform.googleapis.com/API_VERSION/projects/PROJECT_ID/locations/REGION/reasoningEngines/RESOURCE_ID/sessions - Pour Memory Bank :
https://REGION-aiplatform.googleapis.com/API_VERSION/projects/PROJECT_ID/locations/REGION/reasoningEngines/RESOURCE_ID/memories
Pour des raisons de sécurité, nous vous recommandons d'enregistrer et d'autoriser uniquement les URI spécifiques auxquels l'agent accède. Étant donné que la passerelle correspond directement aux noms d'hôte, vous devez vous assurer d'enregistrer toutes les variantes utilisées par le SDK de l'agent. Par exemple, selon la version du SDK, la configuration du client régional ou l'utilisation de l'authentification mTLS, une API Google peut être résolue via les noms d'hôte de point de terminaison suivants :
https://REGION-aiplatform.googleapis.comhttps://REGION-aiplatform.mtls.googleapis.comhttps://aiplatform.REGION.rep.googleapis.com
Pour savoir comment enregistrer des points de terminaison, consultez Enregistrer des points de terminaison. Vous devez également vous assurer que l'agent dispose du rôle IAP Egressor pour ces points de terminaison. Pour obtenir des instructions, consultez Créer une règle de sortie d'agent vers un point de terminaison.
Vérifiez la configuration de votre agent.
Console
- Dans la Google Cloud console, accédez à la page Déploiements d'Agent Platform.
Cliquez sur le nom de l'agent que vous avez déployé.
Cliquez sur Configuration du service. Le volet Observabilité de l'agent s'ouvre.
Cliquez sur Détails du déploiement. Les configurations d'entrée et de sortie d'Agent Gateway sont disponibles dans le champ Spécification du déploiement.
gcloud
Utilisez la requête d'API REST suivante pour vérifier que l'agent est désormais associé à la passerelle. Si la sortie renvoyée est
null, cela signifie que Runtime n'a pas réussi à se lier à la passerelle.curl -s -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/reasoningEngines/RESOURCE_ID" \ | jq '.spec.deploymentSpec.agentGatewayConfig'
Remplacez les éléments suivants :
PROJECT_ID: ID du projetREGION: région dans laquelle l'agent est déployéRESOURCE_ID: l'ID de ressource de l'agent
- Dans la Google Cloud console, accédez à la page Déploiements d'Agent Platform.
Restreindre Agent Runtime aux passerelles d'agent approuvées
Vous pouvez créer des contraintes personnalisées liées aux règles d'administration pour définir l'ensemble des ressources Agent Gateway éligibles qui peuvent être utilisées lors du déploiement d'agents.
Créer des contraintes personnalisées liées aux règles d'administration
Cet exemple crée des contraintes personnalisées qui n'autorisent le trafic que vers et depuis une liste de passerelles préapprouvée.
Agent vers n'importe quelle destination
Pour définir une contrainte personnalisée pour le mode Agent vers n'importe quelle destination (sortie), créez un fichier nommé
constraint-agent-gateway-egress.yaml.Dans l'exemple suivant, le champ
conditionspécifie que l'opération n'est autorisée que si une ressource Agent Gateway est spécifiée (le champ est présent et non vide) et si la passerelle spécifiée figure dans la liste préapprouvée.name: organizations/ORGANIZATION_ID/customConstraints/custom.allowlistedEgressAgentGatewaysForAgentEngine resource_types: - aiplatform.googleapis.com/ReasoningEngine condition: >- has(resource.spec.deploymentSpec.agentGatewayConfig.agentToAnywhereConfig.agentGateway) && resource.spec.deploymentSpec.agentGatewayConfig.agentToAnywhereConfig.agentGateway != '' && (resource.spec.deploymentSpec.agentGatewayConfig.agentToAnywhereConfig.agentGateway in [ 'projects/AGENT_PROJECT_ID_1/locations/REGION_1/agentGateways/AGENT_GATEWAY_ID_1', 'projects/AGENT_PROJECT_ID_2/locations/REGION_2/agentGateways/AGENT_GATEWAY_ID_2', ]) method_types: - CREATE - UPDATE action_type: ALLOW display_name: Restrict Reasoning Engine Egress to Approved Agent Gateways description: Reasoning Engines can only be bound to a pre-approved list of Agent Gateway instances. Binding to any other gateway is denied.Remplacez les éléments suivants :
- ORGANIZATION_ID : ID de votre organisation
- AGENT_PROJECT_ID : ID de votre projet
- REGION : région dans laquelle la passerelle a été créée
- AGENT_GATEWAY_ID : ID de votre passerelle
Appliquez la contrainte personnalisée.
gcloud org-policies set-custom-constraint EGRESS_CONSTRAINT_PATH
Remplacez EGRESS_CONSTRAINT_PATH par le chemin d'accès complet au fichier de contrainte personnalisée créé à l'étape précédente.
Créez la règle d'administration pour appliquer la contrainte. Pour définir la règle d'administration, créez un fichier YAML de règle nommé
policy-agent-gateway-egress.yaml. Dans cet exemple, nous appliquons cette contrainte au niveau d'un projet, mais vous pouvez également la définir au niveau de l'organisation ou d'un dossier.name: projects/AGENT_PROJECT_ID/policies/custom.allowlistedEgressAgentGatewaysForAgentEngine spec: rules: - enforce: trueRemplacez
AGENT_PROJECT_IDpar l'ID de votre projet.Appliquez la règle d'administration.
gcloud org-policies set-policy EGRESS_POLICY_PATH
Remplacez EGRESS_POLICY_PATH par le chemin d'accès complet au fichier YAML de la règle d'administration créé à l'étape précédente. L'application de la règle peut prendre jusqu'à 15 minutes.
Client vers agent
Pour définir une contrainte personnalisée pour le mode Client vers agent (entrée), créez un fichier nommé
constraint-agent-gateway-ingress.yaml.Dans l'exemple suivant, le champ
conditionspécifie que l'opération n'est autorisée que si une ressource Agent Gateway est spécifiée (le champ est présent et non vide) et si la passerelle spécifiée figure dans la liste préapprouvée.name: organizations/ORGANIZATION_ID/customConstraints/custom.allowlistedIngressAgentGatewaysForAgentEngine resource_types: - aiplatform.googleapis.com/ReasoningEngine condition: >- has(resource.spec.deploymentSpec.agentGatewayConfig.clientToAgentConfig.agentGateway) && resource.spec.deploymentSpec.agentGatewayConfig.clientToAgentConfig.agentGateway != '' && (resource.spec.deploymentSpec.agentGatewayConfig.clientToAgentConfig.agentGateway in [ 'projects/AGENT_PROJECT_ID_1/locations/REGION_1/agentGateways/AGENT_GATEWAY_ID_1', 'projects/AGENT_PROJECT_ID_2/locations/REGION_2/agentGateways/AGENT_GATEWAY_ID_2', ]) method_types: - CREATE - UPDATE action_type: ALLOW display_name: Restrict Reasoning Engine Ingress to Approved Agent Gateways description: Reasoning Engines can only be bound to a pre-approved list of Agent Gateway instances. Binding to any other gateway is denied.Remplacez les éléments suivants :
- ORGANIZATION_ID : ID de votre organisation
- AGENT_PROJECT_ID : ID de votre projet
- REGION : région dans laquelle la passerelle a été créée
- AGENT_GATEWAY_ID : ID de votre passerelle
Appliquez la contrainte personnalisée.
gcloud org-policies set-custom-constraint INGRESS_CONSTRAINT_PATH
Remplacez INGRESS_CONSTRAINT_PATH par le chemin d'accès complet au fichier de contrainte personnalisée créé à l'étape précédente.
Créez la règle d'administration pour appliquer la contrainte. Pour définir la règle d'administration, créez un fichier YAML de règle nommé
policy-agent-gateway-ingress.yaml. Dans cet exemple, nous appliquons cette contrainte au niveau d'un projet, mais vous pouvez également la définir au niveau de l'organisation ou d'un dossier.name: projects/AGENT_PROJECT_ID/policies/custom.allowlistedIngressAgentGatewaysForAgentEngine spec: rules: - enforce: trueRemplacez
AGENT_PROJECT_IDpar l'ID de votre projet.Appliquez la règle d'administration.
gcloud org-policies set-policy INGRESS_POLICY_PATH
Remplacez INGRESS_POLICY_PATH par le chemin d'accès complet au fichier YAML de la règle d'administration créé à l'étape précédente. L'application de la règle peut prendre jusqu'à 15 minutes.
Pour en savoir plus sur l'utilisation des contraintes personnalisées liées aux règles d'administration, consultez Créer des contraintes personnalisées.
Étape suivante
Atelier de programmation : gérer les charges de travail agentiques avec Agent Platform
Découvrez comment gérer les charges de travail agentiques avec Agent Gateway sur Gemini Enterprise Agent Platform.
Déléguer l'autorisation pour Agent Gateway
Découvrez comment déléguer l'autorisation pour Agent Gateway à IAP, Model Armor ou votre propre service d'autorisation personnalisé.
Résoudre les problèmes liés à Agent Gateway
Découvrez comment résoudre les problèmes de connectivité d'Agent Gateway.