Questa pagina descrive come instradare il traffico di Gemini Enterprise tramite Agent Gateway. Agent Gateway è un componente centrale di rete e sicurezza dell'ecosistema di Gemini Enterprise Agent Platform. Fornisce connettività sicura e controllata per tutte le interazioni agentiche, sia tra utenti e agenti, agenti e strumenti o tra gli agenti stessi.
Prima di iniziare
- Assicurati di avere familiarità con i concetti di Gemini Enterprise.
- Scopri di più su Agent Gateway. Tieni presente che Agent Gateway supporta solo Gemini Enterprise in modalità Da agente a ovunque (in uscita). Il traffico in entrata non è supportato.
- Esegui il deployment di un'app Gemini Enterprise (chiamata anche motore). La procedura descritta in questa pagina presuppone che tu abbia già eseguito il deployment di un'app. Per maggiori dettagli, consulta Creare un'app.
Pianificare le mappature di località e Agent Registry
Prima di eseguire il deployment di Agent Gateway, scegli la regione in cui eseguire il deployment del gateway e l'Agent Registry in cui registrare le risorse. Tieni presente i seguenti requisiti:
Mappatura delle località: esegui il deployment di Agent Gateway nella regione specifica che corrisponde alla configurazione multiregionale dell'app Gemini Enterprise per garantire un routing corretto.
Mappatura dei registry: puoi associare fino a due registry a un Agent Gateway (un registry globale e un registry regionale o multiregionale). Per ulteriori indicazioni sui pattern di deployment e sulle scelte dei registry, consulta Pianificare il deployment di Agent Gateway.
| Località dell'app Gemini Enterprise | Regione di Agent Gateway richiesta | Istanze di Agent Registry supportate per Agent Gateway |
|---|---|---|
global |
us-central1 |
Scegli fino a due delle seguenti opzioni (una globale e una regionale o multiregionale):
|
us |
us-central1 |
Scegli fino a due delle seguenti opzioni (una globale e una regionale o multiregionale):
|
eu |
europe-west1 |
Scegli fino a due delle seguenti opzioni (una globale e una regionale o multiregionale):
|
Instradare il traffico di Gemini Enterprise tramite Agent Gateway
Per instradare il traffico di Gemini Enterprise tramite Agent Gateway:
Crea una risorsa Agent Gateway e assicurati di rispettare la regione e il registry selezionati nella sezione precedente. Per istruzioni, consulta Configurare Agent Gateway.
Verifica la configurazione del gateway. Utilizza l'API Network Services per recuperare la configurazione di Agent Gateway e ispezionare le impostazioni.
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"
Ecco un esempio di output per un gateway configurato correttamente:
{ "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" ] }Collega il gateway all'app Gemini Enterprise utilizzando l'API
UpdateEngine. Tieni presente che il completamento di questo passaggio instrada immediatamente tutto il traffico degli agenti esistenti tramite l'Agent Gateway specificato.Console
Nella console Cloud de Confiance , vai alla pagina Gemini Enterprise.
Fai clic sul nome dell'app che vuoi associare a un Agent Gateway.
Fai clic su Sicurezza.
Nella scheda Configurazione, in Configurazione di Agent Gateway , inserisci il nome completo della risorsa per il gateway. Utilizza il formato:
projects/PROJECT_ID/locations/LOCATION/agentGateways/AGENT_GATEWAY_NAME.Fai clic su Salva.
REST
Utilizza la seguente richiesta per aggiornare l'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"
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto.AGENT_GATEWAY_REGION: la regione di Agent Gateway.AGENT_GATEWAY_NAME: il nome di Agent Gateway.PROJECT_NUMBER: il numero del progetto.GE_APP_LOCATION: la località dell'app Gemini Enterprise (ad esempio,usoglobal).GE_APP_ID: l'ID dell'app Gemini Enterprise.
Per verificare la configurazione dell'app, utilizza il seguente comando per recuperare la configurazione e ispezionare le impostazioni:
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}'Ecco un esempio di output per un'app configurata correttamente:
{ "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" } } }
Sebbene la governance in uscita sia ora abilitata per l'app Gemini Enterprise, l'app non sa automaticamente con quali risorse esterne di Agent Registry può interagire.
Devi importare esplicitamente gli agenti, gli endpoint e i server MCP scelti nell'app Gemini Enterprise. La risorsa importata deve essere referenziata utilizzando il nome esatto della risorsa basato sul registry. Per istruzioni, consulta le guide seguenti:
Per verificare che il traffico in uscita funzioni correttamente, procedi nel seguente modo:
- Apri l'applicazione web Gemini Enterprise.
- Invia una query progettata per attivare uno strumento esterno (ad esempio, "Dammi un elenco dei problemi recenti di GitHub").
- Monitora l'esecuzione per assicurarti che la risposta venga recuperata correttamente. Dietro le quinte, l'agente Gemini Enterprise impacchetta la richiesta, la instrada tramite Agent Gateway (che applica tutte le policy di autorizzazione configurate) e recupera la risposta dalla destinazione.
Limitare il binding di Gemini Enterprise agli Agent Gateway approvati
Puoi creare vincoli personalizzati delle policy dell'organizzazione per limitare se un'app Gemini Enterprise può eseguire il binding a tutti o ad alcuni Agent Gateway.
Creare vincoli personalizzati delle policy dell'organizzazione
Questo esempio crea un vincolo personalizzato che blocca tutti i binding tra le app Gemini Enterprise e gli Agent Gateway.
Da agente a ovunque
Per definire un vincolo personalizzato per la modalità Da agente a ovunque (in uscita), crea un file denominato
constraint-agent-gateway-egress.yaml.Il seguente esempio mostra come applicare un isolamento di rete rigoroso impedendo qualsiasi binding. Il campo
conditionspecifica che l'operazione viene negata se viene specificata una risorsa Agent Gateway (il campo è presente e non è vuoto).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: l'ID organizzazione.
- PROJECT_ID: l'ID progetto.
- REGION: la regione in cui è stato creato il gateway.
- AGENT_GATEWAY_NAME: il nome del gateway.
Applica il vincolo personalizzato.
gcloud org-policies set-custom-constraint EGRESS_CONSTRAINT_PATH
Sostituisci EGRESS_CONSTRAINT_PATH con il percorso completo del file del vincolo personalizzato creato nel passaggio precedente.
Crea la policy dell'organizzazione per applicare il vincolo. Per definire la policy dell'organizzazione, crea un file YAML della policy denominato
policy-agent-gateway-egress.yaml. In questo esempio applichiamo questo vincolo a livello di progetto, ma puoi impostarlo anche a livello di organizzazione o cartella.name: projects/PROJECT_ID/policies/custom.disallowGeminiEnterpriseAgentGatewayBinding spec: rules:
- enforce: true
Applica la policy dell'organizzazione.
gcloud org-policies set-policy EGRESS_POLICY_PATH
Sostituisci EGRESS_POLICY_PATH con il percorso completo del file YAML della policy dell'organizzazione creato nel passaggio precedente. L'applicazione della policy può richiedere fino a 15 minuti.
Sostituisci quanto segue:
Sostituisci PROJECT_ID con l'ID progetto.
Per saperne di più su come utilizzare i vincoli personalizzati delle policy dell'organizzazione, consulta Creare vincoli personalizzati.
Passaggi successivi
Codelab: Governare i carichi di lavoro agentici con Agent Platform
Scopri come gestire i carichi di lavoro agentici con Agent Gateway su Gemini Enterprise Agent Platform.
Delegare l'autorizzazione per Agent Gateway
Scopri come delegare l'autorizzazione per Agent Gateway a IAP, Model Armor o al tuo servizio di autorizzazione personalizzato.
Risolvere i problemi di Agent Gateway
Scopri come risolvere i problemi di connettività di Agent Gateway.