En esta página, se describe cómo enrutar el tráfico de Gemini Enterprise a través de Agent Gateway. Agent Gateway es un componente central de redes y seguridad del ecosistema de Gemini Enterprise Agent Platform. Proporciona conectividad segura y controlada para todas las interacciones de agentes, ya sea que ocurran entre usuarios y agentes, agentes y herramientas, o entre los agentes mismos.
Antes de comenzar
- Asegúrate de conocer los conceptos de Gemini Enterprise.
- Obtén información sobre Agent Gateway. Ten en cuenta que Agent Gateway solo admite Gemini Enterprise en el modo de agente a cualquier lugar (salida). No se admite el tráfico de entrada.
- Implementa una app de Gemini Enterprise (también conocida como motor). En el procedimiento de esta página, se da por sentado que ya tienes una app implementada. Para obtener más información, consulta Crea una app.
Planifica tus asignaciones de ubicación y Agent Registry
Antes de implementar tu Agent Gateway, elige la región en la que implementarás la puerta de enlace y el Agent Registry en el que registrarás tus recursos. Ten en cuenta los siguientes requisitos:
Asignación de ubicación: Implementa Agent Gateway en la región específica que corresponde a la configuración multirregional de tu app de Gemini Enterprise para garantizar el enrutamiento adecuado.
Asignación de registro: Puedes asociar hasta dos registros con un Agent Gateway (un registro global y un registro regional o multirregional). Consulta Planifica la implementación de Agent Gateway para obtener más orientación sobre los patrones de implementación y las opciones de registro.
| Ubicación de la app de Gemini Enterprise | Región obligatoria de Agent Gateway | Instancias compatibles de Agent Registry para Agent Gateway |
|---|---|---|
global |
us-central1 |
Elige hasta dos de las siguientes opciones (una global y una regional o multirregional):
|
us |
us-central1 |
Elige hasta dos de las siguientes opciones (una global y una regional o multirregional):
|
eu |
europe-west1 |
Elige hasta dos de las siguientes opciones (una global y una regional o multirregional):
|
Enruta el tráfico de Gemini Enterprise a través de Agent Gateway
Para enrutar el tráfico de Gemini Enterprise a través de Agent Gateway, sigue estos pasos:
Crea un recurso de Agent Gateway y asegúrate de cumplir con la región y el registro que seleccionaste en la sección anterior. Para obtener instrucciones, consulta Configura Agent Gateway.
Verifica la configuración de la puerta de enlace. Usa la API de Network Services para recuperar la configuración de Agent Gateway y revisar la configuración.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://networkservices.googleapis.com/v1/projects/PROJECT_ID/locations/AGENT_GATEWAY_REGION/agentGateways/AGENT_GATEWAY_NAME"
A continuación, se muestra un ejemplo de resultado para una puerta de enlace configurada correctamente:
{ "name": "projects/my-ge-project/locations/us-central1/agentGateways/my-egress-gateway", "description": "A full configuration for Agent Gateway for Gemini Enterprise egress", "googleManaged": { "governedAccessPath": "AGENT_TO_ANYWHERE" }, "protocols": [ "MCP" ], "registries": [ "//agentregistry.googleapis.com/projects/my-ge-project/locations/global" ] }Vincula la puerta de enlace a tu app de Gemini Enterprise con la API de
UpdateEngine. Ten en cuenta que, si completas este paso, se enruta de inmediato todo el tráfico de agentes existente a través de Agent Gateway especificado.Console
En la consola de Cloud de Confiance , ve a la página Gemini Enterprise.
Haz clic en el nombre de la app que deseas asociar con un Agent Gateway.
Haz clic en Seguridad.
En la pestaña Configuración, en Configuración de Agent Gateway , ingresa el nombre completo del recurso para la puerta de enlace. Usa el formato:
projects/PROJECT_ID/locations/LOCATION/agentGateways/AGENT_GATEWAY_NAME.Haz clic en Guardar.
REST
Usa la siguiente solicitud para actualizar tu app.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ -d '{ "agentGatewaySetting": { "defaultEgressAgentGateway": { "name": "projects/PROJECT_ID/locations/AGENT_GATEWAY_REGION/agentGateways/AGENT_GATEWAY_NAME" } } }' \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_NUMBER/locations/GE_APP_LOCATION/collections/default_collection/engines/GE_APP_ID?updateMask=agentGatewaySetting.defaultEgressAgentGateway.name"
Reemplaza lo siguiente:
PROJECT_ID: El ID del proyectoAGENT_GATEWAY_REGION: La región de Agent GatewayAGENT_GATEWAY_NAME: El nombre de Agent GatewayPROJECT_NUMBER: El número del proyectoGE_APP_LOCATION: La ubicación de la app de Gemini Enterprise (por ejemplo,usoglobal)GE_APP_ID: El ID de la app de Gemini Enterprise
Para verificar la configuración de la app, usa el siguiente comando para recuperar tu configuración y revisar la configuración:
curl -s -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "X-Goog-User-Project: PROJECT_ID" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_NUMBER/locations/GE_LOCATION/collections/default_collection/engines/GE_APP_ID" \ | jq '{name: .name, displayName: .displayName, agentGatewaySetting: .agentGatewaySetting}'A continuación, se muestra un ejemplo de resultado para una app configurada correctamente:
{ "name": "projects/PROJECT_NUMBER/locations/GE_LOCATION/collections/default_collection/engines/GE_APP_ID", "displayName": "GE_APP_ID", "agentGatewaySetting": { "defaultEgressAgentGateway": { "name": "projects/PROJECT_ID/locations/AGENT_GATEWAY_REGION/agentGateways/AGENT_GATEWAY_NAME" } } }
Si bien ahora está habilitada la administración de salida para tu app de Gemini Enterprise, tu app no sabe automáticamente con qué recursos externos de Agent Registry puede interactuar.
Debes importar de forma explícita los agentes, los endpoints y los servidores MCP elegidos en tu app de Gemini Enterprise. Se debe hacer referencia al recurso importado con su nombre de recurso exacto basado en el registro. Para obtener instrucciones, consulta las siguientes guías:
Para verificar que la salida funcione correctamente, sigue estos pasos:
- Abre la aplicación web de Gemini Enterprise.
- Envía una consulta diseñada para activar una herramienta externa (por ejemplo, "Dame una lista de problemas recientes de GitHub").
- Supervisa la ejecución para asegurarte de que la respuesta se recupere correctamente. En segundo plano, el agente de Gemini Enterprise empaqueta la solicitud, la enruta a través de tu Agent Gateway (que aplica las políticas de autorización configuradas) y recupera la respuesta del destino.
Restringe la vinculación de Gemini Enterprise a Agent Gateways aprobados
Puedes crear restricciones personalizadas para las políticas de la organización para restringir si una app de Gemini Enterprise puede vincularse a alguna o todas las Agent Gateways.
Crea restricciones personalizadas para las políticas de la organización
En este ejemplo, se crea una restricción personalizada que bloquea todas las vinculaciones entre las apps de Gemini Enterprise y Agent Gateways.
Del agente a cualquier lugar
Para definir una restricción personalizada para el modo de agente a cualquier lugar (salida), crea un archivo llamado
constraint-agent-gateway-egress.yaml.En el siguiente ejemplo, se muestra cómo aplicar un aislamiento de red estricto si no se permiten vinculaciones. El campo
conditionespecifica que se deniega la operación si se especifica un recurso de Agent Gateway (el campo está presente y no está vacío).name: organizations/ORGANIZATION_ID/customConstraints/custom.disallowGeminiEnterpriseAgentGatewayBinding resource_types:
- discoveryengine.googleapis.com/Engine condition: >- has(resource.agentGatewaySetting.defaultEgressAgentGateway.name) && resource.agentGatewaySetting.defaultEgressAgentGateway.name != '' actionType: DENY displayName: "Disallow all Agent Gateway Bindings for Discovery Engines" description: "To enforce strict network isolation, Discovery Engines are not permitted to bind to any Agent Gateway."
- ORGANIZATION_ID: El ID de tu organización
- PROJECT_ID: ID del proyecto
- REGION: La región en la que se creó la puerta de enlace
- AGENT_GATEWAY_NAME: El nombre de tu puerta de enlace
Aplica la restricción personalizada.
gcloud org-policies set-custom-constraint EGRESS_CONSTRAINT_PATH
Reemplaza EGRESS_CONSTRAINT_PATH por la ruta de acceso completa al archivo de restricción personalizada que creaste en el paso anterior.
Crea la política de la organización para aplicar la restricción. Para definir la política de la organización, crea un archivo YAML de política llamado
policy-agent-gateway-egress.yaml. En este ejemplo, aplicamos esta restricción a nivel del proyecto, pero también puedes configurarla a nivel de la organización o de la carpeta.name: projects/PROJECT_ID/policies/custom.disallowGeminiEnterpriseAgentGatewayBinding spec: rules:
- enforce: true
Aplica la política de la organización.
gcloud org-policies set-policy EGRESS_POLICY_PATH
Reemplaza EGRESS_POLICY_PATH por la ruta de acceso completa al archivo YAML de la política de la organización que creaste en el paso anterior. La política tarda hasta 15 minutos en aplicarse.
Reemplaza lo siguiente:
Reemplaza PROJECT_ID con el ID del proyecto.
Para obtener más información sobre cómo usar restricciones personalizadas para las políticas de la organización, consulta Crea restricciones personalizadas.
¿Qué sigue?
Codelab: Controla las cargas de trabajo de agentes con Agent Platform
Obtén información para controlar las cargas de trabajo de agentes con Agent Gateway en Gemini Enterprise Agent Platform.
Delega la autorización para Agent Gateway
Obtén información para delegar la autorización para Agent Gateway a IAP, Model Armor o tu propio servicio de autorización personalizado.
Soluciona problemas de Agent Gateway
Obtén información para solucionar problemas de conectividad de Agent Gateway.