Cómo enrutar el tráfico de Gemini Enterprise a través de Agent Gateway

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:

Tabla: Asignaciones de ubicación de la app de Gemini Enterprise y Agent Registry
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):

  • global (//agentregistry.googleapis.com/projects/PROJECT_ID/locations/global))
  • us (//agentregistry.googleapis.com/projects/PROJECT_ID/locations/us)
  • us-central1 (//agentregistry.googleapis.com/projects/PROJECT_ID/locations/us-central1)
us us-central1

Elige hasta dos de las siguientes opciones (una global y una regional o multirregional):

  • global (//agentregistry.googleapis.com/projects/PROJECT_ID/locations/global))
  • us (//agentregistry.googleapis.com/projects/PROJECT_ID/locations/us)
  • us-central1 (//agentregistry.googleapis.com/projects/PROJECT_ID/locations/us-central1)
eu europe-west1

Elige hasta dos de las siguientes opciones (una global y una regional o multirregional):

  • global (//agentregistry.googleapis.com/projects/PROJECT_ID/locations/global))
  • eu (//agentregistry.googleapis.com/projects/PROJECT_ID/locations/eu)
  • europe-west1 (//agentregistry.googleapis.com/projects/PROJECT_ID/locations/europe-west1)

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:

  1. 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"
      ]
    }
    
  2. 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

    1. En la consola de Cloud de Confiance , ve a la página Gemini Enterprise.

      Gemini Enterprise

    2. Haz clic en el nombre de la app que deseas asociar con un Agent Gateway.

    3. Haz clic en Seguridad.

    4. 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.

    5. Haz clic en Guardar.

    REST

    1. 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 proyecto
      • AGENT_GATEWAY_REGION: La región de Agent Gateway
      • AGENT_GATEWAY_NAME: El nombre de Agent Gateway
      • PROJECT_NUMBER: El número del proyecto
      • GE_APP_LOCATION: La ubicación de la app de Gemini Enterprise (por ejemplo, us o global)
      • GE_APP_ID: El ID de la app de Gemini Enterprise
    2. 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"
        }
      }
      }
      
  3. 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:

  4. Para verificar que la salida funcione correctamente, sigue estos pasos:

    1. Abre la aplicación web de Gemini Enterprise.
    2. Envía una consulta diseñada para activar una herramienta externa (por ejemplo, "Dame una lista de problemas recientes de GitHub").
    3. 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

  1. 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 condition especifica 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."
  2. Reemplaza lo siguiente:

    • 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
  3. 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.

  4. 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
  5. Reemplaza PROJECT_ID con el ID del proyecto.

  6. 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.

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

Obtén información para controlar las cargas de trabajo de agentes con Agent Gateway en Gemini Enterprise Agent Platform.

Guía

Obtén información para delegar la autorización para Agent Gateway a IAP, Model Armor o tu propio servicio de autorización personalizado.

Guía

Obtén información para supervisar Agent Gateway.

Solución de problemas

Obtén información para solucionar problemas de conectividad de Agent Gateway.