O Gateway de Agente permite que você controle o tráfego de saída dos agentes de IA que você cria e hospeda no Cloud Run. Ao rotear o tráfego de saída do serviço do Cloud Run por um Gateway de Agente autogerenciado que é executado no Secure Web Proxy, é possível aplicar políticas de acesso centralizadas, inspecionar payloads para garantir a segurança do conteúdo e coletar telemetria de observabilidade em todas as cargas de trabalho do agente.
Neste documento, descrevemos como configurar uma arquitetura centralizada para o Gateway de Agente no Cloud Run e abordamos como fazer o seguinte:
- Estabelecer os papéis e pré-requisitos necessários do Identity and Access Management (IAM)
- Criar um Gateway de Agente autogerenciado
- Configurar a rede ambiente do Cloud Run para acessar a API Traffic Director
- Implantar ou atualizar um serviço do Cloud Run com rede ambiente e saída VPC direta
- Configurar o agente do Cloud Run para confiar no Gateway de Agente
- Rotear o tráfego de saída para o Gateway de Agente
- Configurar políticas de acesso e segurança de conteúdo no Gateway de Agente
- Configurar uma implantação centralizada entre projetos com VPC compartilhada
Arquitetura
Em uma implantação autogerenciada centralizada, o Secure Web Proxy atua como o ponto de aplicação de políticas e é executado na rede de nuvem privada virtual (VPC). O contêiner secundário de rede de ambiente intercepta o tráfego de saída do agente do Cloud Run e o encaminha pela saída de VPC direta para a instância do Secure Web Proxy. O Secure Web Proxy aplica regras de acesso e conteúdo de pontos de decisão de política, como o Identity-Aware Proxy (IAP) e o Model Armor.
Para rotear e controlar o tráfego nessa arquitetura, configure os seguintes componentes:
- Saída de VPC direta e rede de ambiente: o serviço do Cloud Run
se conecta à rede VPC com
--vpc-egress=alle--ambient-networking, que usa o escopo regional por padrão e encaminha todo o tráfego de saída para a rede VPC. - Gateway de Agente autogerenciado: um recurso lógico do Gateway de Agente no modo autogerenciado aponta para a instância do Secure Web Proxy na sua rede VPC.
- Política de roteamento de saída: uma política
EgressRoutingda API Network Services direciona o tráfego de saída do serviço do Cloud Run para a instância do Secure Web Proxy.
Antes de começar
- Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloudagora, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho sem custos financeiros.
-
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 Ative as APIs Cloud Run Admin, Network Services, Network Security, Service Extensions, Model Armor, Certificate Authority Service, Certificate Manager, Cloud Resource Manager, App Hub, Identity and Access Management, Identity-Aware Proxy, API Compute Engine, Traffic Director, Cloud DNS, API Network Connectivity e Agent Registry, se ainda não estiverem ativadas.
Funções necessárias para ativar APIs
Para ativar APIs, você precisa da permissão
serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão pelo papel de proprietário (roles/owner). Caso contrário, é possível conseguir essa permissão pelo papel de administrador do Service Usage (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.- Crie uma rede VPC e uma sub-rede com o Acesso privado do Google ativado na sub-rede.
- Configure o Agent Registry no seu projeto ou organização.
- Instale e inicialize a Google Cloud CLI.
-
Atualize os componentes da CLI gcloud:
gcloud components update
Funções exigidas
Para receber as permissões necessárias para configurar o Gateway de Agente para o Cloud Run, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
-
Implantar e gerenciar recursos do Cloud Run:
Administrador do Cloud Run (
roles/run.admin) -
Gerenciar recursos do Agent Registry:
Administrador da API Agent Registry (
roles/agentregistry.admin) -
Implantar com uma identidade específica:
Usuário da conta de serviço do IAM (
roles/iam.serviceAccountUser) -
Gerenciar redes e sub-redes VPC:
Administrador de rede do Compute (
roles/compute.networkAdmin) -
Gerenciar o Gateway de Agente e os recursos de roteamento de saída:
Administrador de serviços de rede (
roles/networkservices.admin) -
Configurar políticas de autorização no Gateway de Agente:
Administrador de segurança de rede (
roles/networksecurity.admin) -
Criar vinculações de extensão:
Administrador de extensões de serviço (
roles/serviceextensions.admin) -
Gerenciar zonas de DNS e conjuntos de registros do Cloud DNS:
Administrador do DNS (
roles/dns.admin) -
Exporte os certificados de CA do serviço de CA:
- Administrador do CA Service (
roles/privateca.admin) - Auditor de serviço de CA (
roles/privateca.auditor)
- Administrador do CA Service (
-
Configurar políticas de acesso do IAP e do IAM:
Administrador de políticas do IAP (
roles/iap.admin) e Administrador de políticas de acesso (roles/iam.accessPolicyAdmin) -
Criar modelos do Model Armor:
Administrador do Model Armor (
roles/modelarmor.admin) -
Conceder papéis do IAM para envolvidos no projeto aos agentes de serviço:
Administrador do IAM do projeto (
roles/resourcemanager.projectIamAdmin)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Se você configurar uma implantação entre projetos com a VPC compartilhada, peça ao
administrador para conceder a você
roles/compute.xpnAdmin
no nível da organização ou da pasta.
Criar um Gateway de Agente autogerenciado
Antes de criar o recurso de Gateway de Agente, implante e configure uma instância do Secure Web Proxy na sua rede VPC, conforme descrito em Implantar o Secure Web Proxy como um Gateway de Agente:
- Configure a inspeção de TLS
e
crie uma política de segurança de gateway
que anexe seu
TlsInspectionPolicy. Não é necessário ter regras de política de segurança ou listas de URLs do Secure Web Proxy. - Crie um recurso
ServerTlsPolicycomallowOpen: falseemtlsPolicy.clientValidationMode: ALLOW_INVALID_OR_MISSING_CLIENT_CERT. Não definaclientValidationTrustConfig. - Implante uma instância do Secure Web Proxy
no modo de roteamento de proxy explícito com
addresses,ports,certificateUrls,gatewaySecurityPolicyeserverTlsPolicyconfigurados ao criar o gateway para que o Cloud Run transmita a identidade da carga de trabalho do agente para o Secure Web Proxy e o IAP por mTLS.
Depois que a instância do Secure Web Proxy estiver pronta, crie um recurso de Gateway de Agente autogerenciado que aponte para ela:
Crie um arquivo de configuração YAML chamado
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"
Substitua:
AGENT_GATEWAY_NAME: o nome que você quer atribuir ao recurso do Gateway de Agente.PROJECT_ID: o ID do projeto que hospeda sua instância do Secure Web Proxy.REGION: a região da instância do Secure Web Proxy, comous-central1.SWP_NAME: o nome da instância do Secure Web Proxy.
Importe a configuração do Gateway de Agente:
gcloud beta network-services agent-gateways import AGENT_GATEWAY_NAME \ --source="my-agent-gateway.yaml" \ --location=REGION \ --project=PROJECT_ID
Verifique o recurso do Gateway de Agente:
gcloud beta network-services agent-gateways describe AGENT_GATEWAY_NAME \ --location=REGION \ --project=PROJECT_ID
Confirme se a saída mostra a configuração de
selfManagede o URI do recurso da instância do Secure Web Proxy antes de prosseguir para a próxima seção.
Configurar a rede de ambiente do Cloud Run para acessar a API Traffic Director
Quando você configura um serviço do Cloud Run com saída VPC direta
e --vpc-egress=all, todas as conexões de saída da instância de contêiner
são roteadas pela rede VPC. Isso inclui a conexão do sidecar do Envoy com o trafficdirector.REGION.rep.googleapis.com.
Para permitir que o arquivo secundário resolva e alcance a API Traffic Director, configure uma zona particular do Cloud DNS na sua rede VPC com base no uso do VPC Service Controls pelo ambiente:
Sem o VPC Service Controls
Se o projeto não usar o VPC Service Controls, crie uma zona de DNS particular do Cloud DNS que encaminhe solicitações de trafficdirector.REGION.rep.googleapis.com para o endereço IP do gateway do Secure Web Proxy para que o Secure Web Proxy permita o tráfego:
Recupere o endereço IP interno do gateway do Secure Web Proxy:
SWP_IP=$(gcloud network-services gateways describe SWP_NAME \ --project="PROJECT_ID" \ --location="REGION" \ --format="value(addresses[0])")
Substitua:
SWP_NAME: o nome da instância do Secure Web Proxy.PROJECT_ID: o ID do projeto Google Cloud .REGION: a região da implantação.
Crie uma zona gerenciada particular do Cloud DNS para a API 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"
Substitua
VPC_NETWORK_NAMEpelo nome da rede VPC.Adicione um registro
Aque aponte o domínio regional da API Traffic Director para o endereço IP do 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}"
Verifique se o conjunto de registros DNS está ativo na zona particular:
gcloud dns record-sets list \ --project="PROJECT_ID" \ --zone="td-swp-zone"
Confirme se o registro
Adetrafficdirector.REGION.rep.googleapis.com.é resolvido para o endereço IP do Secure Web Proxy.
Com o VPC Service Controls
Para ambientes do VPC Service Controls, provisione um endpoint regional do Private Service Connect visando a API Traffic Director regional dentro da sub-rede VPC e mapeie o domínio usando uma zona particular do Cloud DNS:
Crie um endpoint regional do Private Service Connect que tenha como destino a API 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"
Substitua:
PROJECT_ID: o ID do projeto Google Cloud .REGION: a região da implantação.VPC_NETWORK_NAME: o nome da sua rede VPC.VPC_SUBNET_NAME: o nome da sub-rede VPC.
Recupere o endereço IP interno do endpoint regional:
TD_ENDPOINT_IP=$(gcloud network-connectivity regional-endpoints describe td-rep-endpoint \ --project="PROJECT_ID" \ --region="REGION" \ --format="value(address)")
Crie uma zona gerenciada particular do Cloud DNS para a API 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"
Adicione um registro
Aque resolva o domínio regional da API Traffic Director para o endereço IP do endpoint 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}"
Verifique o endpoint regional e o conjunto de registros DNS:
gcloud dns record-sets list \ --project="PROJECT_ID" \ --zone="td-psc-zone"
Confirme se o registro
Adetrafficdirector.REGION.rep.googleapis.com.aponta para o endereço IP do endpoint regional.
Implantar ou atualizar um serviço do Cloud Run com rede ambiente e saída de VPC direta
Para conectar o agente do Cloud Run à instância do Secure Web Proxy
na rede VPC, ative a
saída de VPC direta e a
rede ambiente regional e configure
o serviço com uma
identidade de agente.
Quando você implanta com --functional-type=agent e
--identity-type=agent-identity, o Cloud Run concede
roles/run.agentDefaultAccess, que inclui as permissões roles/trafficdirector.client
e roles/cloudtrace.agent:
Implante um novo serviço de agente do Cloud Run ou atualize um serviço existente para ativar a rede regional de ambiente, a saída de VPC direta para todo o tráfego de saída e a identidade do agente:
Novo serviço
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
Serviço atual
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
Substitua:
SERVICE_NAME: o nome do serviço do agente do Cloud Run.IMAGE_URL: uma referência à imagem do contêiner, por exemplo,us-docker.pkg.dev/cloudrun/container/hello:latest. Se você usa o Artifact Registry, o repositório REPO_NAME já precisará ter sido criado. O URL segue o formato deLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.VPC_NETWORK_NAME: o nome da rede VPC que hospeda sua instância do Secure Web Proxy. Para informações sobre como criar uma rede VPC e uma sub-rede, consulte Criar e gerenciar redes VPC.VPC_SUBNET_NAME: o nome da sub-rede VPC em que sua instância do Secure Web Proxy pode ser acessada.REGION: a região do serviço.PROJECT_ID: o ID do projeto Google Cloud .
Verifique se o serviço do Cloud Run usa rede de ambiente, saída de VPC direta e identidade do agente:
gcloud beta run services describe SERVICE_NAME \ --region=REGION \ --project=PROJECT_ID
Confirme se a saída mostra a sub-rede de saída de VPC direta, a saída
all-traffic, a rede de ambiente regional e o principal de identidade do agente atribuído.
Configurar o agente do Cloud Run para confiar no Gateway de Agente
Para que o Secure Web Proxy inspecione payloads HTTPS e aplique políticas, ele precisa encerrar as sessões TLS de saída do agente. O contêiner do agente do Cloud Run precisa confiar no certificado da autoridade certificadora (CA) raiz ou subordinada associado à política de inspeção de TLS do Secure Web Proxy no CA Service ou na ICP da sua empresa particular:
Exporte o certificado de CA codificado em PEM do pool do serviço de CA para sua instância do Secure Web Proxy:
gcloud privateca pools get-ca-certs CA_POOL_NAME \ --location=REGION \ --project=PROJECT_ID \ --output-file=agent-gateway-root.crt
Substitua:
CA_POOL_NAME: o nome do pool de CAs associado à política de inspeção de TLS do Secure Web Proxy.REGION: a região do pool de CAs.PROJECT_ID: o ID do projeto Google Cloud .
Atualize o serviço do Cloud Run para transmitir o conteúdo do certificado em uma variável de ambiente:
gcloud beta run services update SERVICE_NAME \ --region=REGION \ --project=PROJECT_ID \ --update-env-vars="AGENT_GATEWAY_ROOT_CERT=$(cat agent-gateway-root.crt)"
Substitua:
SERVICE_NAME: o nome do serviço do agente do Cloud Run.REGION: a região do serviço.PROJECT_ID: o ID do projeto Google Cloud .
Por exemplo, o seguinte script de ponto de entrada de contêiner do Debian ou Ubuntu,
entrypoint.sh, instalaAGENT_GATEWAY_ROOT_CERTno repositório de confiança do sistema e exporta os caminhos do pacote de CA para clientes Python e gRPC antes de iniciar o aplicativo:#!/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 "$@"
Verifique se o serviço define a variável de ambiente
AGENT_GATEWAY_ROOT_CERT:gcloud beta run services describe SERVICE_NAME \ --region=REGION \ --project=PROJECT_ID \ --format="yaml(spec.template.spec.containers[0].env)"
Rotear o tráfego de saída para o Gateway de Agente
Depois de configurar o serviço do Cloud Run e o
Gateway de Agente, crie uma política EgressRouting da API Network Services para
direcionar o tráfego de saída do serviço do Cloud Run para o
gateway do Secure Web Proxy:
Criar o 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"
Substitua:
REGION: a região do serviço e do gateway do Cloud Run.PROJECT_ID: o ID do projeto Google Cloud .SWP_NAME: o nome do recurso subjacente do Secure Web ProxyGateway, não o recursoAgentGateway.SERVICE_NAME: o nome do serviço do agente do Cloud Run. Para rotear todos os serviços do Cloud Run no projeto pelo gateway com uma única política, definaworkloadUricomo//run.googleapis.com/projects/PROJECT_IDou//run.googleapis.com/projects/PROJECT_NUMBER.
Depois que
EgressRoutingentrar em vigor, todo o tráfego de saída do serviço do Cloud Run será roteado pelo Secure Web Proxy. Configure as políticas na próxima seção para permitir e controlar as solicitações de saída.Verifique se o recurso
EgressRoutingestá ativo:gcloud alpha network-services egress-routings describe my-run-egress-routing \ --location=REGION \ --project=PROJECT_ID
Confirme se
sourceslista o URI da carga de trabalho do Cloud Run e segatewayfaz referência ao recurso de gateway do Secure Web Proxy.
Configurar políticas no Gateway de Agente
Depois de rotear o tráfego de saída pelo Gateway de Agente, controle as solicitações de saída do agente anexando políticas de autorização e vinculações de extensão de extensões de serviço ao recurso do Gateway de Agente:
- Tráfego de referência e filtragem de ferramentas do MCP: permita endpoints de modelo e
métodos e ferramentas aprovados do Protocolo de Contexto de Modelo (MCP) usando políticas de autorização
ALLOW. - Controle de acesso baseado em identidade: vincule o
IAP
a um
ExtensionBindingrecurso e configure uma Política de acesso unificado do IAM para controlar quais agentes podem chamar servidores MCP, ferramentas ou endpoints específicos. - Segurança de conteúdo: vincule o
Model Armor a um
recurso
ExtensionBindingpara inspecionar e higienizar comandos e respostas em busca de injeção de comandos, vazamento de dados sensíveis ou violações de políticas.
Todas as políticas de autorização ou regras de política de segurança de gateway anexadas ao
recurso Gateway do Secure Web Proxy são ignoradas. Depois de criar
ou atualizar um recurso ExtensionBinding, as mudanças podem levar até cinco minutos
para serem propagadas para o gateway. Para ver a sequência de avaliação de regras em regras de rede, inspeção de TLS, vinculações de extensão e regras HTTP, consulte Ordem de avaliação para regras de autorização.
Permitir tráfego de saída de referência e MCP
O Secure Web Proxy nega todo o tráfego de saída com erros 403 Forbidden por
padrão até que um ALLOW AuthzPolicy no recurso do Gateway de Agente
permita.
Como o serviço do Cloud Run usa --vpc-egress=all, todo o tráfego de saída do contêiner, incluindo chamadas de ferramenta do MCP e solicitações de LLM, é roteado pelo gateway. Anexe políticas de autorização ALLOW ao recurso do Gateway de Agente para os dois tipos de tráfego:
- Servidores e ferramentas do MCP: permita métodos e ferramentas do MCP autorizados seguindo as instruções em Restringir ferramentas do MCP usando políticas de autorização.
- Endpoints de modelo e não MCP: permitem solicitações para endpoints de modelo, como
a Vertex AI em
REGION-aiplatform.googleapis.com, usando uma regra de SNI da camada 4 ou uma regra de hosthttpRulesda camada 7. Uma regra de SNI da camada 4 ignora a inspeção de TLS, conforme mostrado em Ignorar a interceptação de TLS usando a correspondência de SNI. Uma regra de hosthttpRulesda camada 7 mantém a inspeção de TLS ativa se você inspecionar payloads de modelo com o Model Armor, conforme mostrado em Configurar políticas de autorização para destinos de agentes.
Configurar políticas de saída do IAP
O Gateway de Agente usa o IAP como mecanismo de decisão de política para avaliar as Políticas de Acesso Unificadas do IAM. Para aplicar políticas de identidade de agente, defina suas regras de acesso em uma política de acesso unificada do IAM e vincule o IAP ao gateway:
- Crie uma política de acesso unificado do IAM usando o principal
Identidade do agente
do serviço do Cloud Run,
principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/run/projects/PROJECT_NUMBER/locations/REGION/services/SERVICE_NAME, e vincule a política ao projeto ou gateway seguindo Criar políticas de acesso do IAM e Vincular uma política de acesso unificado a um projeto. - Vincule o IAP,
iap.googleapis.com, ao Gateway de Agente com umExtensionBindingseguindo as instruções em Vincular o IAP ao Gateway de Agente.
Como o --vpc-egress=all envia chamadas de modelo, como
REGION-aiplatform.googleapis.com, pelo gateway,
defina o escopo de matchConditions no ExtensionBinding do IAP como
prefix: "urn:mcp" para que as chamadas de modelo ignorem a avaliação do IAP. Para
também controlar o tráfego de agente para agente, adicione prefix: "urn:agent". Se a
vinculação de extensão corresponder a outros hosts, adicione uma regra de permissão para cada host na
política de acesso unificado do IAM, como
destination.unregistered.host == 'REGION-aiplatform.googleapis.com'.
Por exemplo, consulte
Criar uma política de agente para endpoint não registrado.
Configurar políticas do Model Armor
Para inspecionar e limpar comandos e respostas que passam pelo Gateway de Agente, crie modelos do Model Armor e vincule-os ao gateway:
- Crie modelos regionais de solicitação e resposta do Model Armor e conceda os papéis necessários ao agente de serviço das Extensões de Serviço seguindo as instruções em Configurar o Model Armor em um gateway.
- Anexe seus modelos ao Gateway de Agente com um
ExtensionBindingseguindo as instruções em Vincular o Model Armor para higienização de comandos e respostas.
Configurar uma implantação centralizada entre projetos com VPC compartilhada
Em uma organização com vários projetos, é possível implantar os agentes do Cloud Run em um ou mais projetos de serviço enquanto hospeda um Gateway de Agente, uma instância do Secure Web Proxy e um Registro de Agente em um projeto host de rede dedicado usando a VPC compartilhada:
- Projeto A, projeto de serviço do agente: hospeda o serviço do agente do Cloud Run e a política local
EgressRouting. - Projeto B, projeto host de gateway e rede: atua como o
projeto host da VPC compartilhada e precisa hospedar o
Gateway de Agente, a instância do Secure Web Proxy,
o Agent Registry, os recursos
ExtensionBindinge as vinculações de política do IAM.
Antes de iniciar essas etapas, ative run.googleapis.com,
compute.googleapis.com, networkservices.googleapis.com e
trafficdirector.googleapis.com no Projeto A, além de
aiplatform.googleapis.com se o agente chamar a Vertex AI. No
Projeto B, implante a instância do Secure Web Proxy e
o recurso do Gateway de Agente na rede VPC compartilhada, conforme
descrito em
Criar um Gateway de Agente autogerenciado,
e configure o roteamento de DNS ou do Private Service Connect, conforme descrito em
Configurar a rede de ambiente do Cloud Run para acessar a API Traffic Director,
para que os sidecars de ambiente no Projeto A possam acessar a API Traffic Director.
Para configurar uma implantação entre projetos, siga estas etapas:
Configure o Projeto B como um projeto host de VPC compartilhada, anexe o Projeto A como um projeto de serviço e compartilhe a sub-rede que hospeda sua instância do Secure Web Proxy. Para ativar a VPC compartilhada e anexar projetos de serviço, é necessário ter
roles/compute.xpnAdminno nível da organização ou da pasta. Para instruções, consulte Enviar tráfego para uma rede VPC compartilhada com saída de VPC direta e Provisionar VPC compartilhada.No Projeto B, conceda
roles/compute.networkUserna sub-rede compartilhada ao agente de serviço do Cloud Run do Projeto 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"
Substitua:
SHARED_SUBNET_NAME: o nome da sub-rede compartilhada no Projeto B.PROJECT_B_ID: o ID do projeto B, o gateway e o projeto host da VPC compartilhada.REGION: a região da sub-rede compartilhada.PROJECT_A_NUMBER: o número do Projeto A, o projeto de serviço do agente.
Implante o serviço do agente do Cloud Run no Projeto A apontando para a sub-rede compartilhada no Projeto 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
Substitua:
SERVICE_NAME: o nome do serviço de agente do Cloud Run no Projeto A.PROJECT_A_ID: o ID do Projeto A, o projeto de serviço do agente.IMAGE_URL: uma referência à imagem do contêiner, por exemplo,us-docker.pkg.dev/cloudrun/container/hello:latest. Se você usa o Artifact Registry, o repositório REPO_NAME já precisará ter sido criado. O URL segue o formato deLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
Depois de implantar o serviço, configure o agente no Projeto A para confiar no certificado de CA raiz da instância do Secure Web Proxy no Projeto B seguindo as etapas em Configurar o agente do Cloud Run para confiar no Gateway de Agente.
Crie uma política
EgressRoutingno Projeto A que faça referência ao gateway do Secure Web Proxy no Projeto B. Você precisa terroles/networkservices.adminno Projeto 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"
Substitua
CENTRAL_SWP_NAMEpelo nome do gateway do Secure Web Proxy no Projeto B. Para rotear todos os serviços do Cloud Run no Projeto A pelo gateway do Projeto B, definaworkloadUricomo//run.googleapis.com/projects/PROJECT_A_IDou//run.googleapis.com/projects/PROJECT_A_NUMBER.Confirme se o recurso
EgressRoutingentre projetos está ativo no Projeto A:gcloud alpha network-services egress-routings describe my-central-egress-routing \ --location=REGION \ --project=PROJECT_A_ID
Configure as políticas centralizadas de referência, IAP e Model Armor no recurso Gateway de Agente no Projeto B, conforme descrito em Configurar políticas no Gateway de Agente:
- Permita o tráfego de modelo e MCP de referência no recurso de Gateway de Agente no Projeto B seguindo Permitir tráfego de saída e MCP de referência.
- Para autorizar o agente no Projeto A a chamar servidores MCP registrados no
Projeto B, crie uma política de acesso unificado do IAM no Projeto B
com uma lista
principalsque faça referência ao número do Projeto A,principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/run/projects/PROJECT_A_NUMBER/locations/REGION/services/SERVICE_NAME, vincule a política ao Projeto B ou ao recurso do Gateway de Agente e anexe oExtensionBindingdo IAP no Projeto B. - Para aplicar as proteções centralizadas do Model Armor no Projeto B,
crie seus modelos regionais do Model Armor, conceda os
papéis necessários ao agente de serviço das Extensões de Serviço do
Projeto B e anexe o
ExtensionBindingdo Model Armor ao recurso do Gateway de Agente no Projeto B.
Ver registros e traces
As interações de agentes de saída roteadas pelo Gateway de Agente geram registros e traces distribuídos para que você possa monitorar decisões baseadas em política e depurar o comportamento do agente:
- Confira os registros de solicitações do serviço do Cloud Run e do gateway do Secure Web Proxy no Cloud Logging. Para mais informações, consulte Ver e gravar registros de contêiner e Entradas de registro de transações do Gateway de Agente.
- Analise a latência e os traces de solicitações de ponta a ponta no agente e no gateway no Cloud Trace. Para mais informações, consulte Solicitações de trace com o Trace.
Se as solicitações de saída falharem ou ignorarem o gateway, consulte Resolver problemas do Gateway de Agente.
Regiões compatíveis
É possível usar o Gateway de Agente no Cloud Run nas seguintes regiões:
europe-west1us-central1
Limitações
Além das limitações de rede ambiente e das considerações sobre o Secure Web Proxy em Implantar o Secure Web Proxy como um Gateway de Agente, as seguintes limitações se aplicam ao usar o Gateway de Agente com o Cloud Run:
- As solicitações de agente de saída roteadas por uma instância do Secure Web Proxy com inspeção de TLS para os endpoints
*.mtls.googleapis.come*.mtls.run.appfalham com erros503porque o Secure Web Proxy encerra e reinicia as sessões de TLS sem encaminhar o certificado do cliente. - Cada Gateway de Agente regional autogerenciado aceita no máximo um
Registro de Agente regional na lista
registries. - Por padrão, cada projeto é compatível com até 10 recursos regionais
AgentGatewaye 10 recursos regionaisEgressRoutingpor região. Os novos projetos podem começar com um limite de 2 por região. Para solicitar um aumento de cota, entre em contato com a equipe de conta. - É preciso exportar o certificado raiz ou subordinado do pool do CA Service ou da ICP empresarial particular e configurar o contêiner do agente para confiar nele.
A seguir
- Resolver problemas do Gateway de Agente
- Configurar os recursos da Gemini Enterprise Agent Platform para o Cloud Run
- Configurar a rede de ambiente para o Cloud Run
- Enviar tráfego para uma rede VPC com saída de VPC direta
- Visão geral do Gateway de Agente
- Visão geral do gerenciamento de tokens