Agent Gateway te permite controlar el tráfico saliente de los agentes de IA que creas y alojas en Cloud Run. Enrutando el tráfico de salida de tu servicio de Cloud Run a través de una Agent Gateway autoadministrada que se ejecuta en Secure Web Proxy, puedes aplicar políticas de acceso centralizadas, inspeccionar las cargas útiles para verificar la seguridad del contenido y recopilar telemetría de observabilidad en tus cargas de trabajo de agentes.
En este documento, se describe cómo configurar una arquitectura centralizada para Agent Gateway en Cloud Run y se explica cómo hacer lo siguiente:
- Establece los roles y requisitos previos de Identity and Access Management (IAM) necesarios
- Crea una Agent Gateway autoadministrada
- Configura Ambient Networking de Cloud Run para acceder a la API de Traffic Director
- Implementa o actualiza un servicio de Cloud Run con Ambient Networking y salida de VPC directa
- Configura tu agente de Cloud Run para que confíe en Agent Gateway
- Enruta el tráfico de salida a Agent Gateway
- Configura políticas de seguridad de acceso y contenido en Agent Gateway
- Configura una implementación centralizada entre proyectos con una VPC compartida
Arquitectura
En una implementación centralizada autoadministrada, Secure Web Proxy actúa como el punto de aplicación de políticas y se ejecuta dentro de tu red de nube privada virtual (VPC). El contenedor sidecar de Ambient Networking intercepta el tráfico saliente de tu agente de Cloud Run y lo enruta a través de la salida de VPC directa a tu instancia de Secure Web Proxy. Secure Web Proxy aplica reglas de acceso y contenido desde puntos de decisión basadas en políticas, como Identity-Aware Proxy (IAP) y Model Armor.
Para enrutar y controlar el tráfico en esta arquitectura, configura los siguientes componentes:
- Salida de VPC directa y Ambient Networking: Tu servicio de Cloud Run
se conecta a tu red de VPC con
--vpc-egress=ally--ambient-networking, que usa el permiso regional de forma predeterminada y enruta todo el tráfico saliente a tu red de VPC. - Agent Gateway autoadministrada: Un recurso lógico de Agent Gateway en modo autoadministrado apunta a la instancia de Secure Web Proxy en tu red de VPC.
- Política de enrutamiento de salida: Una política
EgressRoutingde la API de Network Services dirige el tráfico saliente desde tu servicio de Cloud Run hasta tu instancia de Secure Web Proxy.
Antes de comenzar
- Accede a tu cuenta de Google Cloud . Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init Habilita la API de Cloud Run Admin, la API de Network Services, la API de seguridad de redes, la API de Service Extensions, la API de Model Armor, la API de Certificate Authority Service, la API de Certificate Manager, la API de Cloud Resource Manager, la API de App Hub, la API de Identity and Access Management, la API de Identity-Aware Proxy, la API de Compute Engine, la API de Traffic Director, la API de Cloud DNS, la API de Network Connectivity y las APIs de Agent Registry, si aún no están habilitadas.
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el permiso
serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtenerlo a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén más información para otorgar roles.- Crea una red de VPC y una subred con el Acceso privado a Google habilitado en la subred.
- Configura Agent Registry en tu proyecto u organización.
- Instala y, luego, inicializa Google Cloud CLI.
-
Actualiza los componentes de gcloud CLI:
gcloud components update
Roles obligatorios
Para obtener los permisos que necesitas para configurar Agent Gateway para Cloud Run, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:
-
Implementa y administra recursos de Cloud Run:
Administrador de Cloud Run (
roles/run.admin) -
Administra recursos de Agent Registry:
Administrador de la API de Agent Registry (
roles/agentregistry.admin) -
Implementa con una identidad específica:
Usuario de cuenta de servicio de IAM (
roles/iam.serviceAccountUser) -
Administra redes y subredes de VPC:
Administrador de redes de Compute (
roles/compute.networkAdmin) -
Administra los recursos de Agent Gateway y de enrutamiento de salida:
Administrador de servicios de red (
roles/networkservices.admin) -
Configurar políticas de autorización en Agent Gateway:
Administrador de seguridad de redes (
roles/networksecurity.admin) -
Crea vinculaciones de extensiones:
Administrador de extensiones de servicio (
roles/serviceextensions.admin) -
Administra zonas y conjuntos de registros de Cloud DNS:
Administrador de DNS (
roles/dns.admin) -
Exporta certificados de la AC desde Certificate Authority Service:
- Administrador de CA Service (
roles/privateca.admin) - Auditor del Servicio de CA (
roles/privateca.auditor)
- Administrador de CA Service (
-
Configura las políticas de acceso de IAP y de IAM:
Administrador de políticas de IAP (
roles/iap.admin) y Administrador de políticas de acceso (roles/iam.accessPolicyAdmin) -
Crear plantillas de Model Armor:
Administrador de Model Armor (
roles/modelarmor.admin) -
Otorga roles de IAM a nivel de proyecto a los agentes de servicio:
Administrador de IAM de proyecto (
roles/resourcemanager.projectIamAdmin)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Si configuras una implementación entre proyectos con una VPC compartida, pídele a tu
administrador que te otorgue
roles/compute.xpnAdmin
a nivel de la organización o de la carpeta.
Crea una Agent Gateway autoadministrada
Antes de crear el recurso de Agent Gateway, implementa y configura una instancia de Secure Web Proxy en tu red de VPC como se describe en Implementa Secure Web Proxy como un Agent Gateway:
- Configura la inspección de TLS
y
crea una política de seguridad de puerta de enlace
que adjunte tu
TlsInspectionPolicy. No necesitas reglas de política de seguridad de Secure Web Proxy ni listas de URLs. - Crea un recurso
ServerTlsPolicyconallowOpen: falseymtlsPolicy.clientValidationMode: ALLOW_INVALID_OR_MISSING_CLIENT_CERT. No establezcasclientValidationTrustConfig. - Implementa una instancia de Secure Web Proxy
en el modo de enrutamiento de proxy explícito con
addresses,ports,certificateUrls,gatewaySecurityPolicyyserverTlsPolicyconfigurados cuando creas la puerta de enlace para que Cloud Run pase la Workload Identity de la carga de trabajo de tu agente a Secure Web Proxy y a IAP a través de mTLS.
Cuando la instancia de Secure Web Proxy esté lista, crea un recurso de Agent Gateway autoadministrado que apunte a tu instancia de Secure Web Proxy:
Crea un archivo de configuración YAML llamado
my-agent-gateway.yaml:name: AGENT_GATEWAY_NAME registries: - "//agentregistry.googleapis.com/projects/PROJECT_ID/locations/REGION" selfManaged: resourceUris: - "projects/PROJECT_ID/locations/REGION/gateways/SWP_NAME"
Reemplaza lo siguiente:
AGENT_GATEWAY_NAME: Es el nombre que deseas asignar a tu recurso de Agent Gateway.PROJECT_ID: Es el ID del proyecto que aloja tu instancia de Secure Web Proxy.REGION: Es la región de tu instancia de Secure Web Proxy, comous-central1.SWP_NAME: Es el nombre de tu instancia de Secure Web Proxy.
Importa la configuración de Agent Gateway:
gcloud beta network-services agent-gateways import AGENT_GATEWAY_NAME \ --source="my-agent-gateway.yaml" \ --location=REGION \ --project=PROJECT_ID
Verifica tu recurso de Agent Gateway:
gcloud beta network-services agent-gateways describe AGENT_GATEWAY_NAME \ --location=REGION \ --project=PROJECT_ID
Confirma que el resultado muestre tu configuración de
selfManagedy el URI del recurso de tu instancia de Secure Web Proxy antes de continuar con la siguiente sección.
Configura Ambient Networking de Cloud Run para acceder a la API de Traffic Director
Cuando configuras un servicio de Cloud Run con la salida de VPC directa
y --vpc-egress=all, todas las conexiones salientes de la instancia de contenedor
se enrutan a través de tu red de VPC. Esto incluye la conexión del archivo adicional de Envoy
a
trafficdirector.REGION.rep.googleapis.com.
Para permitir que el archivo de complemento resuelva y alcance la API de Traffic Director, configura una zona privada de Cloud DNS en tu red de VPC según si tu entorno usa Controles del servicio de VPC:
Sin Controles del servicio de VPC
Si tu proyecto no usa los Controles del servicio de VPC, crea una zona del DNS privada de Cloud DNS que enrute las solicitudes de
trafficdirector.REGION.rep.googleapis.com a la dirección IP de la puerta de enlace de Secure Web Proxy para que Secure Web Proxy permita el paso del tráfico:
Recupera la dirección IP interna de tu puerta de enlace de Secure Web Proxy:
SWP_IP=$(gcloud network-services gateways describe SWP_NAME \ --project="PROJECT_ID" \ --location="REGION" \ --format="value(addresses[0])")
Reemplaza lo siguiente:
SWP_NAME: Es el nombre de tu instancia de Secure Web Proxy.PROJECT_ID: Es el ID del proyecto de Google Cloud .REGION: Es la región de tu implementación.
Crea una zona administrada privada de Cloud DNS para la API de Traffic Director:
gcloud dns managed-zones create td-swp-zone \ --project="PROJECT_ID" \ --dns-name="trafficdirector.REGION.rep.googleapis.com." \ --description="Private DNS zone routing control plane traffic to SWP" \ --visibility="private" \ --networks="VPC_NETWORK_NAME"
Reemplaza
VPC_NETWORK_NAMEpor el nombre de la red de VPC.Agrega un registro
Aque apunte el dominio regional de la API de Traffic Director a tu dirección IP de Secure Web Proxy:gcloud dns record-sets create "trafficdirector.REGION.rep.googleapis.com." \ --project="PROJECT_ID" \ --zone="td-swp-zone" \ --type="A" \ --ttl=300 \ --rrdatas="${SWP_IP}"
Verifica que el conjunto de registros DNS esté activo en la zona privada:
gcloud dns record-sets list \ --project="PROJECT_ID" \ --zone="td-swp-zone"
Confirma que el registro
Adetrafficdirector.REGION.rep.googleapis.com.se resuelva en tu dirección IP de Secure Web Proxy.
Con los Controles del servicio de VPC
Para los entornos de Controles del servicio de VPC, aprovisiona un extremo regional de Private Service Connect que se oriente a la API de Traffic Director regional dentro de tu subred de VPC y asigna el dominio con una zona privada de Cloud DNS:
Crea un extremo regional de Private Service Connect orientado a la API de Traffic Director regional:
gcloud network-connectivity regional-endpoints create td-rep-endpoint \ --project="PROJECT_ID" \ --region="REGION" \ --network="projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME" \ --subnetwork="projects/PROJECT_ID/regions/REGION/subnetworks/VPC_SUBNET_NAME" \ --target-google-api="trafficdirector.REGION.rep.googleapis.com"
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto de Google Cloud .REGION: Es la región de tu implementación.VPC_NETWORK_NAME: Es el nombre de tu red de VPC.VPC_SUBNET_NAME: Es el nombre de tu subred de VPC.
Recupera la dirección IP interna del extremo regional:
TD_ENDPOINT_IP=$(gcloud network-connectivity regional-endpoints describe td-rep-endpoint \ --project="PROJECT_ID" \ --region="REGION" \ --format="value(address)")
Crea una zona administrada privada de Cloud DNS para la API de Traffic Director:
gcloud dns managed-zones create td-psc-zone \ --project="PROJECT_ID" \ --dns-name="trafficdirector.REGION.rep.googleapis.com." \ --description="Private DNS zone for regional endpoint" \ --visibility="private" \ --networks="VPC_NETWORK_NAME"
Agrega un registro
Aque resuelva el dominio regional de la API de Traffic Director a la dirección IP del extremo regional:gcloud dns record-sets create "trafficdirector.REGION.rep.googleapis.com." \ --project="PROJECT_ID" \ --zone="td-psc-zone" \ --type="A" \ --ttl=300 \ --rrdatas="${TD_ENDPOINT_IP}"
Verifica tu extremo regional y el conjunto de registros DNS:
gcloud dns record-sets list \ --project="PROJECT_ID" \ --zone="td-psc-zone"
Confirma que el registro
Adetrafficdirector.REGION.rep.googleapis.com.apunte a la dirección IP del extremo regional.
Implementa o actualiza un servicio de Cloud Run con Ambient Networking y salida de VPC directa
Para conectar tu agente de Cloud Run a la instancia de Secure Web Proxy
en tu red de VPC, habilita la
salida de VPC directa y
Ambient Networking regional, y configura
el servicio con una
Agent Identity.
Cuando implementas con --functional-type=agent y
--identity-type=agent-identity, Cloud Run otorga
roles/run.agentDefaultAccess, que incluye los permisos roles/trafficdirector.client
y roles/cloudtrace.agent:
Implementa un nuevo servicio de agente de Cloud Run o actualiza un servicio existente para habilitar Ambient Networking regional, la salida de VPC directa para todo el tráfico saliente y Agent Identity:
Servicio nuevo
gcloud beta run deploy SERVICE_NAME \ --image=IMAGE_URL \ --network=VPC_NETWORK_NAME \ --subnet=VPC_SUBNET_NAME \ --vpc-egress=all \ --functional-type=agent \ --identity-type=agent-identity \ --ambient-networking \ --set-env-vars="GOOGLE_API_USE_CLIENT_CERTIFICATE=false,GOOGLE_API_USE_MTLS_ENDPOINT=never" \ --region=REGION \ --project=PROJECT_ID
Servicio existente
gcloud beta run services update SERVICE_NAME \ --network=VPC_NETWORK_NAME \ --subnet=VPC_SUBNET_NAME \ --vpc-egress=all \ --functional-type=agent \ --identity-type=agent-identity \ --ambient-networking \ --update-env-vars="GOOGLE_API_USE_CLIENT_CERTIFICATE=false,GOOGLE_API_USE_MTLS_ENDPOINT=never" \ --region=REGION \ --project=PROJECT_ID
Reemplaza lo siguiente:
SERVICE_NAME: Es el nombre de tu servicio de agente de Cloud Run.IMAGE_URL: una referencia a la imagen de contenedor, por ejemplo,us-docker.pkg.dev/cloudrun/container/hello:latest. Si usas Artifact Registry, el repositorio REPO_NAME debe estar creado. La URL sigue el formato deLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.VPC_NETWORK_NAME: Es el nombre de la red de VPC que aloja tu instancia de Secure Web Proxy. Para obtener información sobre cómo crear una red y una subred de VPC, consulta Crea y administra redes de VPC.VPC_SUBNET_NAME: Es el nombre de la subred de VPC en la que se puede acceder a tu instancia de Secure Web Proxy.REGION: la región de tu servicio.PROJECT_ID: Es el ID del proyecto de Google Cloud .
Verifica que tu servicio de Cloud Run use Ambient Networking, la salida de VPC directa y la identidad del agente:
gcloud beta run services describe SERVICE_NAME \ --region=REGION \ --project=PROJECT_ID
Confirma que el resultado muestre la subred de salida de VPC directa, la salida de
all-traffic, las redes Ambient Networking regionales y la principal de identidad del agente asignada.
Configura tu agente de Cloud Run para que confíe en Agent Gateway
Para que Secure Web Proxy inspeccione las cargas útiles de HTTPS y aplique políticas, debe finalizar las sesiones de TLS salientes de tu agente. El contenedor del agente de Cloud Run debe confiar en el certificado de la autoridad certificadora (AC) raíz o subordinada asociado con tu política de inspección de TLS de Secure Web Proxy en CA Service o en la PKI de tu empresa privada:
Exporta el certificado de la AC codificado en PEM desde el grupo de CA Service para tu instancia de Secure Web Proxy:
gcloud privateca pools get-ca-certs CA_POOL_NAME \ --location=REGION \ --project=PROJECT_ID \ --output-file=agent-gateway-root.crt
Reemplaza lo siguiente:
CA_POOL_NAME: Es el nombre del grupo de AC asociado con tu política de inspección de TLS de Secure Web Proxy.REGION: Es la región de tu grupo de AC.PROJECT_ID: Es el ID del proyecto de Google Cloud .
Actualiza tu servicio de Cloud Run para pasar el contenido del certificado en una variable de entorno:
gcloud beta run services update SERVICE_NAME \ --region=REGION \ --project=PROJECT_ID \ --update-env-vars="AGENT_GATEWAY_ROOT_CERT=$(cat agent-gateway-root.crt)"
Reemplaza lo siguiente:
SERVICE_NAME: Es el nombre de tu servicio de agente de Cloud Run.REGION: Es la región de tu servicio.PROJECT_ID: Es el ID del proyecto de Google Cloud .
Por ejemplo, la siguiente secuencia de comandos de punto de entrada del contenedor de Debian o Ubuntu,
entrypoint.sh, instalaAGENT_GATEWAY_ROOT_CERTen el almacén de confianza del sistema y exporta las rutas de acceso del paquete de AC para los clientes de Python y gRPC antes de iniciar la aplicación:#!/usr/bin/env bash set -e if [ -n "${AGENT_GATEWAY_ROOT_CERT}" ]; then printf '%s\n' "${AGENT_GATEWAY_ROOT_CERT}" > /usr/local/share/ca-certificates/agent-gateway.crt update-ca-certificates export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt export REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt export GRPC_DEFAULT_SSL_ROOTS_FILE_PATH=/etc/ssl/certs/ca-certificates.crt fi exec "$@"
Verifica que tu servicio configure la variable de entorno
AGENT_GATEWAY_ROOT_CERT:gcloud beta run services describe SERVICE_NAME \ --region=REGION \ --project=PROJECT_ID \ --format="yaml(spec.template.spec.containers[0].env)"
Enruta el tráfico de salida a Agent Gateway
Después de configurar el servicio de Cloud Run y
Agent Gateway, crea una política de la API de Network Services EgressRouting para
dirigir el tráfico saliente del servicio de Cloud Run a la
puerta de enlace de Secure Web Proxy:
Crea el recurso
EgressRouting:gcloud alpha network-services egress-routings create my-run-egress-routing \ --location=REGION \ --project=PROJECT_ID \ --gateway="//networkservices.googleapis.com/projects/PROJECT_ID/locations/REGION/gateways/SWP_NAME" \ --sources="workloadUri=//run.googleapis.com/projects/PROJECT_ID/locations/REGION/services/SERVICE_NAME"
Reemplaza lo siguiente:
REGION: Es la región de tu servicio y puerta de enlace de Cloud Run.PROJECT_ID: Es el ID del proyecto de Google Cloud .SWP_NAME: Es el nombre de tu recursoGatewayde Secure Web Proxy subyacente, no el recursoAgentGateway.SERVICE_NAME: Es el nombre de tu servicio de agente de Cloud Run. Para enrutar todos los servicios de Cloud Run del proyecto a través de la puerta de enlace con una sola política, estableceworkloadUrien//run.googleapis.com/projects/PROJECT_IDo//run.googleapis.com/projects/PROJECT_NUMBER.
Después de que
EgressRoutingentre en vigencia, todo el tráfico saliente de tu servicio de Cloud Run se enrutará a través de Secure Web Proxy. Configura políticas en la siguiente sección para permitir y controlar las solicitudes salientes.Verifica que el recurso
EgressRoutingesté activo:gcloud alpha network-services egress-routings describe my-run-egress-routing \ --location=REGION \ --project=PROJECT_ID
Confirma que
sourcesenumere el URI de tu carga de trabajo de Cloud Run y quegatewayhaga referencia al recurso de puerta de enlace de Secure Web Proxy.
Configura políticas en Agent Gateway
Después de enrutar el tráfico de salida a través de Agent Gateway, administra las solicitudes salientes de tu agente adjuntando políticas de autorización y vinculaciones de extensiones de Service Extensions a tu recurso de Agent Gateway:
- Filtrado de herramientas de MCP y tráfico de referencia: Permite extremos de modelos y
métodos y herramientas aprobados del Protocolo de contexto del modelo (MCP) con políticas de autorización de
ALLOW. - Control de acceso basado en identidades: Vincula IAP con un recurso de
ExtensionBindingy configura una política de acceso unificado de IAM para controlar qué agentes pueden llamar a servidores de MCP, herramientas o extremos específicos. - Seguridad del contenido: Vincula
Model Armor con un
recurso de
ExtensionBindingpara inspeccionar y limpiar instrucciones y respuestas en busca de inyección de instrucciones, filtración de datos sensibles o incumplimientos de políticas.
Se ignoran las políticas de autorización o las reglas de política de seguridad de la puerta de enlace adjuntas al recurso Gateway de Secure Web Proxy subyacente. Después de crear
o actualizar un recurso ExtensionBinding, los cambios pueden tardar hasta cinco minutos
en propagarse a la puerta de enlace. Para conocer la secuencia de evaluación de reglas en las reglas de red,
la inspección de TLS, las vinculaciones de extensiones y las reglas HTTP, consulta
Orden de evaluación de las reglas de autorización.
Permitir el tráfico de salida de referencia y de MCP
Secure Web Proxy rechaza todo el tráfico saliente con errores 403 Forbidden de forma predeterminada hasta que un ALLOW AuthzPolicy en tu recurso de Agent Gateway lo permita.
Como tu servicio de Cloud Run usa --vpc-egress=all, todo
el tráfico saliente del contenedor, incluidas las llamadas a la herramienta de MCP y las solicitudes de LLM, se enruta
a través de la puerta de enlace. Adjunta políticas de autorización de ALLOW a tu
recurso de Agent Gateway para ambos tipos de tráfico:
- Herramientas y servidores de MCP: Permite métodos y herramientas de MCP autorizados siguiendo las instrucciones de Restringe las herramientas de MCP con políticas de autorización.
- Extremos de modelos y que no son de MCP: Permite solicitudes a extremos de modelos, como
Vertex AI, en
REGION-aiplatform.googleapis.comcon una regla de SNI de capa 4 o una regla de hosthttpRulesde capa 7. Una regla de SNI de capa 4 omite la inspección de TLS, como se muestra en Omite la intercepción de TLS con la coincidencia de SNI. Una regla de hosthttpRulesde capa 7 mantiene activa la inspección de TLS si inspeccionas las cargas útiles del modelo con Model Armor, como se muestra en Configura políticas de autorización para destinos de agentes.
Configura las políticas de salida de IAP
Agent Gateway usa IAP como su motor de decisiones basadas en políticas para evaluar las políticas de acceso unificado de IAM. Para aplicar de manera forzosa las políticas de identidad de los agentes, define tus reglas de acceso en una política de acceso unificado de IAM y vincula IAP a tu puerta de enlace:
- Crea una política de acceso unificado de IAM con la principal
Identidad del agente
del servicio de Cloud Run,
principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/run/projects/PROJECT_NUMBER/locations/REGION/services/SERVICE_NAME, y vincula la política a tu proyecto o puerta de enlace siguiendo los pasos que se indican en Crea políticas de acceso de IAM y Vincula una política de acceso unificado a un proyecto. - Vincula IAP,
iap.googleapis.com, a tu Agent Gateway con unExtensionBindingsiguiendo las instrucciones que se indican en Vincula IAP a tu Agent Gateway.
Debido a que --vpc-egress=all envía llamadas de modelo, como
REGION-aiplatform.googleapis.com, a través de la puerta de enlace,
asigna el permiso matchConditions en tu ExtensionBinding de IAP a
prefix: "urn:mcp" para que las llamadas de modelo omitan la evaluación de IAP. Para
controlar también el tráfico de agente a agente, agrega prefix: "urn:agent". Si la vinculación de la extensión coincide con otros hosts, agrega una regla de permiso para cada host en tu política de acceso unificado de IAM, como destination.unregistered.host == 'REGION-aiplatform.googleapis.com'.
Para ver un ejemplo, consulta
Crea una política de agente a extremo no registrado.
Configura las políticas de Model Armor
Para inspeccionar y limpiar las instrucciones y respuestas que pasan por tu Agent Gateway, crea plantillas de Model Armor y vincúlalas a tu puerta de enlace:
- Crea plantillas de solicitud y respuesta regionales de Model Armor y otorga los roles necesarios al agente de servicio de extensiones de servicio siguiendo las instrucciones que se indican en Configura Model Armor en una puerta de enlace.
- Adjunta tus plantillas a tu Agent Gateway con un
ExtensionBindingsiguiendo las instrucciones que se indican en Vincula Model Armor para la limpieza de instrucciones y respuestas.
Configura una implementación centralizada entre proyectos con una VPC compartida
En una organización con varios proyectos, puedes implementar tus agentes de Cloud Run en uno o más proyectos de servicio mientras alojas una instancia de Agent Gateway, Secure Web Proxy y Agent Registry en un proyecto host de red dedicado con VPC compartida:
- Proyecto A, proyecto de servicio del agente: Aloja el servicio del agente de Cloud Run
y la política local de
EgressRouting. - Proyecto B, proyecto host de puerta de enlace y redes: Actúa como el
proyecto host de la VPC compartida y debe alojar la
Agent Gateway, la instancia de Secure Web Proxy,
el Agent Registry, los recursos de
ExtensionBindingy las vinculaciones de políticas de IAM.
Antes de comenzar con estos pasos, habilita run.googleapis.com,
compute.googleapis.com, networkservices.googleapis.com y
trafficdirector.googleapis.com en el proyecto A, junto con
aiplatform.googleapis.com si tu agente llama a Vertex AI. En
el proyecto B, implementa la instancia de Secure Web Proxy y
el recurso de Agent Gateway en la red de VPC compartida, como
se describe en
Crea un Agent Gateway autoadministrado,
y configura el enrutamiento de DNS o Private Service Connect, como se describe en
Configura Ambient Networking de Cloud Run para acceder a la API de Traffic Director,
de modo que los sidecars ambientales del proyecto A puedan acceder a la API de Traffic Director.
Para configurar una implementación entre proyectos, completa los siguientes pasos:
Configura el proyecto B como un proyecto host de VPC compartida, adjunta el proyecto A como un proyecto de servicio y comparte la subred que aloja tu instancia de Secure Web Proxy. Para habilitar la VPC compartida y adjuntar proyectos de servicio, se requiere
roles/compute.xpnAdmina nivel de la organización o de la carpeta. Para obtener instrucciones, consulta Envía tráfico a una red de VPC compartida con salida de VPC directa y Aprovisiona una VPC compartida.En el proyecto B, otorga
roles/compute.networkUseren la subred compartida al agente de servicio de Cloud Run del proyecto A:gcloud compute networks subnets add-iam-policy-binding SHARED_SUBNET_NAME \ --project=PROJECT_B_ID \ --region=REGION \ --member="serviceAccount:service-PROJECT_A_NUMBER@serverless-robot-prod.iam.gserviceaccount.com" \ --role="roles/compute.networkUser"
Reemplaza lo siguiente:
SHARED_SUBNET_NAME: Es el nombre de la subred compartida en el proyecto B.PROJECT_B_ID: el ID del proyecto B, la puerta de enlace y el proyecto host de la VPC compartida.REGION: Es la región de la subred compartida.PROJECT_A_NUMBER: Es el número del proyecto A, el proyecto de servicio del agente.
Implementa el servicio del agente de Cloud Run en el proyecto A que apunta a la subred compartida en el proyecto B:
gcloud beta run deploy SERVICE_NAME \ --project=PROJECT_A_ID \ --image=IMAGE_URL \ --subnet=projects/PROJECT_B_ID/regions/REGION/subnetworks/SHARED_SUBNET_NAME \ --vpc-egress=all \ --functional-type=agent \ --identity-type=agent-identity \ --ambient-networking \ --set-env-vars="GOOGLE_API_USE_CLIENT_CERTIFICATE=false,GOOGLE_API_USE_MTLS_ENDPOINT=never" \ --region=REGION
Reemplaza lo siguiente:
SERVICE_NAME: Es el nombre de tu servicio de agente de Cloud Run en el proyecto A.PROJECT_A_ID: el ID del proyecto A, el proyecto de servicio del agente.IMAGE_URL: una referencia a la imagen de contenedor, por ejemplo,us-docker.pkg.dev/cloudrun/container/hello:latest. Si usas Artifact Registry, el repositorio REPO_NAME debe estar creado. La URL sigue el formato deLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
Después de implementar el servicio, configura tu agente en el proyecto A para que confíe en el certificado de la AC raíz de la instancia de Secure Web Proxy en el proyecto B. Para ello, sigue los pasos que se indican en Configura tu agente de Cloud Run para que confíe en Agent Gateway.
Crea una política de
EgressRoutingen el proyecto A que haga referencia a la puerta de enlace de Secure Web Proxy en el proyecto B. Debes tenerroles/networkservices.adminen el proyecto A:gcloud alpha network-services egress-routings create my-central-egress-routing \ --location=REGION \ --project=PROJECT_A_ID \ --gateway="//networkservices.googleapis.com/projects/PROJECT_B_ID/locations/REGION/gateways/CENTRAL_SWP_NAME" \ --sources="workloadUri=//run.googleapis.com/projects/PROJECT_A_ID/locations/REGION/services/SERVICE_NAME"
Reemplaza
CENTRAL_SWP_NAMEpor el nombre del Secure Web Proxy en el proyecto B. Para enrutar todos los servicios de Cloud Run del proyecto A a través de la puerta de enlace del proyecto B, estableceworkloadUrien//run.googleapis.com/projects/PROJECT_A_IDo//run.googleapis.com/projects/PROJECT_A_NUMBER.Confirma que el recurso
EgressRoutingentre proyectos esté activo en el proyecto A:gcloud alpha network-services egress-routings describe my-central-egress-routing \ --location=REGION \ --project=PROJECT_A_ID
Configura políticas de referencia, de IAP y de Model Armor centralizadas en el recurso de Agent Gateway en el proyecto B, como se describe en Configura políticas en Agent Gateway:
- Permite el tráfico de MCP y de modelos de referencia en el recurso de Agent Gateway en el proyecto B siguiendo las instrucciones de Permite el tráfico de salida y de MCP de referencia.
- Para autorizar al agente del proyecto A a llamar a los servidores de MCP registrados en
el proyecto B, crea una política de acceso unificado de IAM en el proyecto B
cuya lista
principalshaga referencia al número de proyecto del proyecto A,principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/run/projects/PROJECT_A_NUMBER/locations/REGION/services/SERVICE_NAME, vincula la política al proyecto B o a su recurso de Agent Gateway, y adjunta elExtensionBindingde IAP en el proyecto B. - Para aplicar las protecciones centralizadas de Model Armor en el proyecto B,
crea tus plantillas regionales de Model Armor, otorga los
roles necesarios al agente de servicio de extensiones de servicio del proyecto B
y adjunta el
ExtensionBindingde Model Armor al recurso de Agent Gateway en el proyecto B.
Visualiza registros y seguimientos
Las interacciones de agentes salientes enrutadas a través de Agent Gateway generan registros y seguimientos distribuidos para que puedas supervisar las decisiones basadas en políticas y depurar el comportamiento de los agentes:
- Visualiza los registros de solicitudes de tu servicio de Cloud Run y la puerta de enlace de Secure Web Proxy en Cloud Logging. Para obtener más información, consulta Visualiza y escribe registros de contenedores y Entradas de registro de transacciones de Agent Gateway.
- Analiza la latencia y los seguimientos de las solicitudes de extremo a extremo en tu agente y puerta de enlace en Cloud Trace. Para obtener más información, consulta Realiza un seguimiento de las solicitudes con Trace.
Si las solicitudes salientes fallan o omiten la puerta de enlace, consulta Soluciona problemas de Agent Gateway.
Regiones admitidas
Puedes usar Agent Gateway en Cloud Run en las siguientes regiones:
europe-west1us-central1
Limitaciones
Además de las limitaciones de Ambient Networking y las consideraciones de Secure Web Proxy en Implementa Secure Web Proxy como un Agent Gateway, se aplican las siguientes limitaciones cuando usas Agent Gateway con Cloud Run:
- Las solicitudes de agentes salientes enrutadas a través de una instancia de Secure Web Proxy que inspecciona TLS a los extremos
*.mtls.googleapis.comy*.mtls.run.appfallan con errores503porque Secure Web Proxy finaliza y vuelve a originar sesiones de TLS sin reenviar el certificado de cliente. - Cada Agent Gateway regional autoadministrada admite, como máximo, un
Agent Registry regional en su lista
registries. - De forma predeterminada, cada proyecto admite hasta 10 recursos
AgentGatewayregionales y 10 recursosEgressRoutingregionales por región. Los proyectos nuevos pueden comenzar con un límite de 2 por región. Para solicitar un aumento de cuota, comunícate con tu equipo de cuentas. - Debes exportar el certificado raíz o subordinado de tu grupo de Certificate Authority Service o PKI empresarial privada y configurar el contenedor de tu agente para que confíe en él.
¿Qué sigue?
- Soluciona problemas de Agent Gateway
- Configura las funciones de Gemini Enterprise Agent Platform para Cloud Run
- Configura Ambient Networking para Cloud Run
- Envía tráfico a una red de VPC con la salida de VPC directa
- Descripción general de Agent Gateway
- Descripción general de la administración de tokens