Instradare il traffico di Gemini Enterprise tramite Agent Gateway

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.

Tabella: mappature di località e Agent Registry dell'app Gemini Enterprise
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):

  • 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

Scegli fino a due delle seguenti opzioni (una globale e una regionale o multiregionale):

  • 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

Scegli fino a due delle seguenti opzioni (una globale e una regionale o multiregionale):

  • 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)

Instradare il traffico di Gemini Enterprise tramite Agent Gateway

Per instradare il traffico di Gemini Enterprise tramite Agent Gateway:

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

    1. Nella console Cloud de Confiance , vai alla pagina Gemini Enterprise.

      Gemini Enterprise

    2. Fai clic sul nome dell'app che vuoi associare a un Agent Gateway.

    3. Fai clic su Sicurezza.

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

    5. Fai clic su Salva.

    REST

    1. 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, us o global).
      • GE_APP_ID: l'ID dell'app Gemini Enterprise.
    2. 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"
        }
      }
      }
      
  3. 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:

  4. Per verificare che il traffico in uscita funzioni correttamente, procedi nel seguente modo:

    1. Apri l'applicazione web Gemini Enterprise.
    2. Invia una query progettata per attivare uno strumento esterno (ad esempio, "Dammi un elenco dei problemi recenti di GitHub").
    3. 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

  1. 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 condition specifica 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."
  2. Sostituisci quanto segue:

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

  4. 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
  5. Sostituisci PROJECT_ID con l'ID progetto.

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

Per saperne di più su come utilizzare i vincoli personalizzati delle policy dell'organizzazione, consulta Creare vincoli personalizzati.

Passaggi successivi

Codelab

Scopri come gestire i carichi di lavoro agentici con Agent Gateway su Gemini Enterprise Agent Platform.

Guida

Scopri come delegare l'autorizzazione per Agent Gateway a IAP, Model Armor o al tuo servizio di autorizzazione personalizzato.

Guida

Scopri come monitorare Agent Gateway.

Risoluzione dei problemi

Scopri come risolvere i problemi di connettività di Agent Gateway.