Traffic der Laufzeit für KI-Agenten über das Agent Gateway weiterleiten

Auf dieser Seite wird beschrieben, wie Sie den Agent Runtime-Traffic über das Agent Gateway leiten. Das Agent Gateway ist eine zentrale Netzwerk- und Sicherheitskomponente des Gemini Enterprise Agent Platform-Ökosystems. Es bietet sichere und verwaltete Verbindungen für alle agentischen Interaktionen, unabhängig davon, ob sie zwischen Nutzern und Agents, Agents und Tools oder zwischen Agents selbst stattfinden.

Hinweis

  • Sie müssen mit der Bereitstellung von Agents in Agent Runtime vertraut sein.

  • Weitere Informationen zum Agent Gateway. Sie können das Agent Gateway im Modus „Agent zu beliebigem Ziel (ausgehend)“ verwenden, um die gesamte ausgehende Kommunikation mit ausgehendem Traffic zu Tools, Modellen, APIs und anderen Agents zu sichern und zu verwalten. Im Modus „Client zu Agent (eingehend)“ können Sie mit dem Gateway steuern, welche Clients auf Ihre Agents zugreifen können. Mit dem Gateway können Sie auswählen, welche IAP-Richtlinien und Model Armor-Vorlagen auf diese Interaktionen angewendet werden müssen.

    Eine einzelne Runtime-Instanz kann gleichzeitig an ein Gateway für „Agent zu beliebigem Ziel (ausgehend)“ und ein Gateway für „Client zu Agent (eingehend)“ gebunden werden.

Beschränkungen

  • Ein Agent Gateway kann nicht an Runtime Reasoning Engines gebunden werden, die vor dem 29. April 2026 erstellt wurden.
  • In einem einzelnen Projekt und einer einzelnen Region können zwar mehrere Agent Gateway-Instanzen für „Agent zu beliebigem Ziel (ausgehend)“ und „Client zu Agent (eingehend)“ gehostet werden, aber alle Agent Runtime-Agents, die in diesem Projekt und in dieser Region bereitgestellt werden, müssen an dieselben spezifischen Agent Gateway-Instanzen für ausgehenden und eingehenden Traffic gebunden werden.

    Wenn ein Projekt und eine Region beispielsweise egress-gateway-X und egress-gateway-Y enthält, müssen alle Agents in diesem Projekt und in dieser Region so konfiguriert sein, dass sie dasselbe Gateway für ausgehenden Traffic verwenden. Das heißt, entweder verwenden alle Agents egress-gateway-X oder alle Agents verwenden egress-gateway-Y. Sie können nicht konfigurieren, dass agent-A egress-gateway-X und agent-B egress-gateway-Y verwendet.

    Dieselbe Bindungsregel gilt auch für Ingress-Gateways in einem Projekt und einer Region.

  • Der Security Command Center-Dienst zur Erkennung von Bedrohungen für Agent Engine ist nicht verfügbar, wenn das Agent Gateway für einen Agent aktiviert ist.

  • Im Modus „Client zu Agent (eingehend)“ kann das Agent Gateway nur die Methoden query und streamQuery von Agent Runtime verwalten. Um andere nicht unterstützte Methoden wie asyncQuery zu schützen, können Sie Model Armor-Vorlagen direkt aus Ihrer Anwendung oder Ihrem Agent anwenden. Weitere Informationen finden Sie unter Prompts und Antworten bereinigen oder in diesem Codelab zum Erstellen eines sicheren Agentensystems mit Model Armor.

Agent Runtime-Traffic über das Agent Gateway leiten

So leiten Sie den Agent Runtime-Traffic über das Agent Gateway:

  1. Erstellen Sie eine Agent Gateway-Ressource und fügen Sie bei Bedarf Autorisierungsrichtlinien hinzu. Sie können ein Gateway entweder im Modus „Agent zu beliebigem Ziel (ausgehend)“ oder „Client zu Agent (eingehend)“ erstellen. Der Agent und das Gateway müssen im selben Projekt und in derselben Region erstellt werden. Eine Anleitung finden Sie unter Set up Agent Gateway.

    Achten Sie darauf, dass das Gateway so konfiguriert ist, dass es den Anforderungen Ihrer Bereitstellung entspricht. Wenn Ihr Agent beispielsweise LLM-Zugriff benötigt, konfigurieren Sie das Gateway so, dass dieser Zugriff zulässig ist, um potenzielle Bereitstellungsfehler in Agent Runtime zu vermeiden.

  2. Konfigurieren Sie Ihren Agent so, dass der Traffic über das Agent Gateway geleitet wird.

    • Für neue Agents

      Geben Sie die Gateway-Ressource an, während Sie Ihren Agent bereitstellen. Wenn Sie den Agent beispielsweise in Agent Runtime bereitstellen möchten, verwenden Sie client.agent_engines.create, um das local_agent-Objekt zusammen mit optionalen Konfigurationen zu übergeben.

      Wenn Sie mit diesem Agent Gateway-vermittelte Plattformfunktionen wie Model Armor oder Semantic Governance Policies verwenden möchten, legen Sie im Aufruf zum Erstellen sowohl agent_gateway_config als auch identity_type=AGENT_IDENTITY fest, wie in diesem Beispiel gezeigt. Ohne identity_type=AGENT_IDENTITY wird für effectiveIdentity der Runtime-Instanz das Standarddienstkonto von Vertex AI verwendet und Semantic Governance Policies filtern den Agent stillschweigend aus der Auswahl zur Richtlinienerstellung heraus.

      remote_agent = client.agent_engines.create(
        agent=local_agent,
        config={
            "agent_gateway_config": {
              "agent_to_anywhere_config": {"agent_gateway": projects/PROJECT_ID/locations/REGION/agentGateways/AGENT_GATEWAY_TO_ANYWHERE_NAME},
              # "client_to_agent_config": {"agent_gateway": projects/PROJECT_ID/locations/REGION/agentGateways/AGENT_GATEWAY_CLIENT_TO_AGENT_NAME}
            },
            "identity_type": types.IdentityType.AGENT_IDENTITY,
            # Other optional configuration ...
            # "requirements": requirements,
            # "gcs_dir_name": gcs_dir_name,
            # https://docs.cloud.google.com/gemini-enterprise-agent-platform/scale/runtime/agent-identity#opt-out-caa
            "env_vars": {
              "GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES": False,
            }
        },
      )

      Ersetzen Sie AGENT_GATEWAY_TO_ANYWHERE_NAME durch den Namen des Agent Gateway, das Sie im Modus „Agent zu beliebigem Ziel (ausgehend)“ erstellt haben.

      Wenn Sie ein Gateway im Modus „Client zu Agent (eingehend)“ erstellt haben, verwenden Sie stattdessen das Feld client_to_agent_config und ersetzen Sie AGENT_GATEWAY_CLIENT_TO_AGENT_NAME durch den Namen des Agent Gateway, das Sie für eingehenden Traffic erstellt haben.

    • Für vorhandene Agents

      Agent zu beliebigem Ziel

      Verwenden Sie die folgende REST API-Anfrage, um einen vorhandenen Agent mit einem Agent Gateway für „Agent zu beliebigem Ziel“ (ausgehend) zu verknüpfen.

      curl -X PATCH \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json; charset=utf-8" \
      -d '{
        "spec": {
          "deploymentSpec": {
            "agentGatewayConfig": {
              "agentToAnywhereConfig": {
                "agentGateway": "projects/PROJECT_ID/locations/REGION/agentGateways/AGENT_GATEWAY_TO_ANYWHERE_NAME"
              }
            }
          }
        }
      }' \
      "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/reasoningEngines/RESOURCE_ID?updateMask=spec.deploymentSpec.agentGatewayConfig"

      Ersetzen Sie Folgendes:

      • PROJECT_ID: die Projekt-ID
      • REGION: die Region, in der der Agent bereitgestellt wird
      • AGENT_GATEWAY_TO_ANYWHERE_NAME: der Name des Agent Gateway, das Sie im Modus „Agent zu beliebigem Ziel (ausgehend)“ erstellt haben
      • RESOURCE_ID: die Ressourcen ID des Agent

      Client zu Agent

      Verwenden Sie die folgende REST API-Anfrage, um einen vorhandenen Agent mit einem Agent Gateway für „Client zu Agent“ (eingehend) zu verknüpfen.

      curl -X PATCH \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json; charset=utf-8" \
      -d '{
        "spec": {
          "deploymentSpec": {
            "agentGatewayConfig": {
              "clientToAgentConfig": {
                "agentGateway": "projects/PROJECT_ID/locations/REGION/agentGateways/AGENT_GATEWAY_CLIENT_TO_AGENT_NAME"
              }
            }
          }
        }
      }' \
      "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/reasoningEngines/RESOURCE_ID?updateMask=spec.deploymentSpec.agentGatewayConfig"

      Ersetzen Sie Folgendes:

      • PROJECT_ID: die Projekt-ID
      • REGION: die Region, in der der Agent bereitgestellt wird
      • AGENT_GATEWAY_CLIENT_TO_AGENT_NAME: der Name des Agent Gateway, das Sie im Modus „Client zu Agent (eingehend)“ erstellt haben
      • RESOURCE_ID: die Ressourcen-ID des Agent
  3. Registrieren Sie sich bei der Agent Registry-Instanz im selben Projekt und in derselben Region wie der Agent und das Gateway.

    gcloud agent-registry services create SERVICE_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --display-name="DISPLAY_NAME" \
      --endpoint-spec-type=no-spec \
      --interfaces='[{url="https://REGION-aiplatform.mtls.googleapis.com",protocolBinding="jsonrpc"}]' \
      --format="value(registryResource)"
    

    Ersetzen Sie Folgendes:

    • SERVICE_NAME: Der Name, den Sie Ihrer Ressource geben möchten, z. B. allow-aiplatform-region-eu3.
    • PROJECT_ID: Die Projekt-ID.
    • REGION: Die Registrierungsregion.
    • DISPLAY_NAME: Der für Nutzer lesbare Name des Endpunkts.

    Weitere Informationen finden Sie unter Agent registrieren.

  4. Erstellen Sie eine IAM-Richtlinienbindung für den Agent, die den Zugriff auf die Registrierung ermöglicht.

    gcloud iap web add-iam-policy-binding \
      --resource-type=agent-registry \
      --endpoint=ENDPOINT_ID \
      --region=REGION \
      --project=PROJECT_ID \
      --member=MEMBER \
      --role=roles/iap.egressor
    

    Ersetzen Sie Folgendes:

    • ENDPOINT_ID: Die Dienstendpunkt-ID des registrierten Agent. Sie erhalten sie aus der Ausgabe des vorherigen Schritts.
    • MEMBER: Das Agent-Identitätsprinzip, dem die Rolle zugewiesen werden soll. Das Format ist in der Regel: principal://TRUST_DOMAIN/resources/aiplatform/projects/PROJECT_ID/locations/REGION/reasoningEngines/ENGINE_ID.

  5. An diesem Punkt wird der Agent-Traffic über das Agent Gateway geleitet. Das Agent Gateway verwendet jedoch eine Standardablehnungsrichtlinie. Um bestimmte Agent Platform-Funktionen zu aktivieren, müssen Sie dafür sorgen, dass der Agent mit den folgenden Endpunkten kommunizieren kann:

    • Wenn Cloud Trace aktiviert ist, muss das Agent Gateway Traffic zum Endpunkt https://telemetry.googleapis.com/ zulassen.

      Wenn die Umgebungsvariablen GOOGLE_API_USE_CLIENT_CERTIFICATE und GOOGLE_API_USE_MTLS_ENDPOINT festgelegt sind, muss auch Traffic zu https://telemetry.mtls.googleapis.com/ zugelassen werden.

    • Wenn Cloud Logging aktiviert ist, muss das Agent Gateway Traffic zum Endpunkt https://logging.googleapis.com/ zulassen.

      Wenn die Umgebungsvariablen GOOGLE_API_USE_CLIENT_CERTIFICATE und GOOGLE_API_USE_MTLS_ENDPOINT festgelegt sind, muss auch Traffic zu https://logging.mtls.googleapis.com/ zugelassen werden.

    Wenn Ihre Agents LLMs aufrufen oder Funktionen wie Sitzungen und Memory Bank verwenden, müssen Sie außerdem dafür sorgen, dass die Agents mit den Endpunkten kommunizieren können, die von diesen Diensten verwendet werden. Beispiel:

    • Für Sitzungen: https://REGION-aiplatform.googleapis.com/API_VERSION/projects/PROJECT_ID/locations/REGION/reasoningEngines/RESOURCE_ID/sessions
    • Für Memory Bank: https://REGION-aiplatform.googleapis.com/API_VERSION/projects/PROJECT_ID/locations/REGION/reasoningEngines/RESOURCE_ID/memories

    Aus Sicherheitsgründen empfehlen wir, nur die spezifischen URIs zu registrieren und auf die Zulassungsliste zu setzen, auf die der Agent zugreift. Da das Gateway Hostnamen direkt abgleicht, müssen Sie alle Varianten registrieren, die das Agent SDK verwendet. Je nach SDK-Version, regionaler Clientkonfiguration oder mTLS-Verwendung kann eine Google API beispielsweise über die folgenden Endpunkt-Hostnamen aufgelöst werden:

    • https://REGION-aiplatform.googleapis.com
    • https://REGION-aiplatform.mtls.googleapis.com
    • https://aiplatform.REGION.rep.googleapis.com

    Informationen zum Registrieren von Endpunkten finden Sie unter Endpunkte registrieren. Der Agent muss außerdem die Rolle „IAP-Ausgangs-Traffic-Nutzer“ für diese Endpunkte haben. Eine Anleitung finden Sie unter Ausgangsrichtlinie für Agent zu Endpunkt erstellen policy.

  6. Prüfen Sie die Agent-Konfiguration.

    Console

    1. Rufen Sie in der Google Cloud Console die Seite Deployments der Agent Platform auf.

      Zu Deployments

    2. Klicken Sie auf den Namen des bereitgestellten Agent.

    3. Klicken Sie auf Dienstkonfiguration. Der Bereich Beobachtbarkeit für den Agent wird geöffnet.

    4. Klicken Sie auf Bereitstellungsdetails. Die Ingress- und Egress-Konfigurationen des Agent Gateway sind im Feld Bereitstellungsspezifikation verfügbar.

    gcloud

    Verwenden Sie die folgende REST API-Anfrage, um zu prüfen, ob der Agent jetzt mit dem Gateway verknüpft ist. Wenn die Ausgabe null ist, konnte keine Bindung zwischen Runtime und dem Gateway hergestellt werden.

    curl -s -X GET \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/reasoningEngines/RESOURCE_ID" \
      | jq '.spec.deploymentSpec.agentGatewayConfig'

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die Projekt-ID
    • REGION: die Region, in der der Agent bereitgestellt wird
    • RESOURCE_ID: die Ressourcen-ID des Agent

Agent Runtime auf genehmigte Agent Gateways beschränken

Sie können benutzerdefinierte Einschränkungen für Organisationsrichtlinien erstellen, um die Gruppe der infrage kommenden Agent Gateway-Ressourcen zu definieren, die beim Bereitstellen von Agents verwendet werden können.

Benutzerdefinierte Einschränkungen für Organisationsrichtlinien erstellen

In diesem Beispiel werden benutzerdefinierte Einschränkungen erstellt, die nur Traffic zu und von einer vorab genehmigten Liste von Gateways zulassen.

Agent zu beliebigem Ziel

  1. Erstellen Sie eine Datei mit dem Namen constraint-agent-gateway-egress.yaml, um eine benutzerdefinierte Einschränkung für den Modus „Agent zu beliebigem Ziel (ausgehend)“ zu definieren.

    Im folgenden Beispiel gibt das Feld condition an, dass der Vorgang nur zulässig ist, wenn eine Agent Gateway-Ressource angegeben ist (Feld ist vorhanden und nicht leer) und wenn sich das angegebene Gateway in der vorab genehmigten Liste befindet.

    name: organizations/ORGANIZATION_ID/customConstraints/custom.allowlistedEgressAgentGatewaysForAgentEngine
    resource_types:
    - aiplatform.googleapis.com/ReasoningEngine
    condition: >-
    has(resource.spec.deploymentSpec.agentGatewayConfig.agentToAnywhereConfig.agentGateway) &&
    resource.spec.deploymentSpec.agentGatewayConfig.agentToAnywhereConfig.agentGateway != '' &&
    (resource.spec.deploymentSpec.agentGatewayConfig.agentToAnywhereConfig.agentGateway in [
      'projects/AGENT_PROJECT_ID_1/locations/REGION_1/agentGateways/AGENT_GATEWAY_ID_1',
      'projects/AGENT_PROJECT_ID_2/locations/REGION_2/agentGateways/AGENT_GATEWAY_ID_2',
    ])
    method_types:
    - CREATE
    - UPDATE
    action_type: ALLOW
    display_name: Restrict Reasoning Engine Egress to Approved Agent Gateways
    description: Reasoning Engines can only be bound to a pre-approved list of
    Agent Gateway instances. Binding to any other gateway is denied.
    

    Ersetzen Sie Folgendes:

    • ORGANIZATION_ID: Ihre Organisations-ID.
    • AGENT_PROJECT_ID: Ihre Projekt-ID.
    • REGION: die Region, in der das Gateway erstellt wurde.
    • AGENT_GATEWAY_ID: Ihre Gateway-ID.
  2. Wenden Sie die benutzerdefinierte Einschränkung an.

    gcloud org-policies set-custom-constraint EGRESS_CONSTRAINT_PATH
    

    Ersetzen Sie EGRESS_CONSTRAINT_PATH durch den vollständigen Pfad zur benutzerdefinierten Einschränkungsdatei, die Sie im vorherigen Schritt erstellt haben.

  3. Erstellen Sie die Organisationsrichtlinie, um die Einschränkung zu erzwingen. Erstellen Sie eine YAML-Richtliniendatei mit dem Namen policy-agent-gateway-egress.yaml, um die Organisationsrichtlinie zu definieren. In diesem Beispiel wird diese Einschränkung auf Projektebene erzwungen. Sie können diese Einschränkung aber auch auf Organisations- oder Ordnerebene festlegen.

    name: projects/AGENT_PROJECT_ID/policies/custom.allowlistedEgressAgentGatewaysForAgentEngine
    spec:
      rules:
      - enforce: true
    

    Ersetzen Sie AGENT_PROJECT_ID durch Ihre Projekt-ID.

  4. Erzwingen Sie die Organisationsrichtlinie.

    gcloud org-policies set-policy EGRESS_POLICY_PATH
    

    Ersetzen Sie EGRESS_POLICY_PATH durch den vollständigen Pfad zur YAML-Datei der Organisationsrichtlinie, die Sie im vorherigen Schritt erstellt haben. Es kann bis zu 15 Minuten dauern, bis die Richtlinie wirksam wird.

Client zu Agent

  1. Erstellen Sie eine Datei mit dem Namen constraint-agent-gateway-ingress.yaml, um eine benutzerdefinierte Einschränkung für den Modus „Client zu Agent (eingehend)“ zu definieren.

    Im folgenden Beispiel gibt das Feld condition an, dass der Vorgang nur zulässig ist, wenn eine Agent Gateway-Ressource angegeben ist (Feld ist vorhanden und nicht leer) und wenn sich das angegebene Gateway in der vorab genehmigten Liste befindet.

    name: organizations/ORGANIZATION_ID/customConstraints/custom.allowlistedIngressAgentGatewaysForAgentEngine
    resource_types:
    - aiplatform.googleapis.com/ReasoningEngine
    condition: >-
    has(resource.spec.deploymentSpec.agentGatewayConfig.clientToAgentConfig.agentGateway) &&
    resource.spec.deploymentSpec.agentGatewayConfig.clientToAgentConfig.agentGateway != '' &&
    (resource.spec.deploymentSpec.agentGatewayConfig.clientToAgentConfig.agentGateway in [
      'projects/AGENT_PROJECT_ID_1/locations/REGION_1/agentGateways/AGENT_GATEWAY_ID_1',
      'projects/AGENT_PROJECT_ID_2/locations/REGION_2/agentGateways/AGENT_GATEWAY_ID_2',
    ])
    method_types:
    - CREATE
    - UPDATE
    action_type: ALLOW
    display_name: Restrict Reasoning Engine Ingress to Approved Agent Gateways
    description: Reasoning Engines can only be bound to a pre-approved list of
    Agent Gateway instances. Binding to any other gateway is denied.
    

    Ersetzen Sie Folgendes:

    • ORGANIZATION_ID: Ihre Organisations-ID.
    • AGENT_PROJECT_ID: Ihre Projekt-ID.
    • REGION: die Region, in der das Gateway erstellt wurde.
    • AGENT_GATEWAY_ID: Ihre Gateway-ID.
  2. Wenden Sie die benutzerdefinierte Einschränkung an.

    gcloud org-policies set-custom-constraint INGRESS_CONSTRAINT_PATH
    

    Ersetzen Sie INGRESS_CONSTRAINT_PATH durch den vollständigen Pfad zur benutzerdefinierten Einschränkungsdatei, die Sie im vorherigen Schritt erstellt haben.

  3. Erstellen Sie die Organisationsrichtlinie, um die Einschränkung zu erzwingen. Erstellen Sie eine YAML-Richtliniendatei mit dem Namen policy-agent-gateway-ingress.yaml, um die Organisationsrichtlinie zu definieren. In diesem Beispiel wird diese Einschränkung auf Projektebene erzwungen. Sie können diese Einschränkung aber auch auf Organisations- oder Ordnerebene festlegen.

    name: projects/AGENT_PROJECT_ID/policies/custom.allowlistedIngressAgentGatewaysForAgentEngine
    spec:
      rules:
      - enforce: true
    

    Ersetzen Sie AGENT_PROJECT_ID durch Ihre Projekt-ID.

  4. Erzwingen Sie die Organisationsrichtlinie.

    gcloud org-policies set-policy INGRESS_POLICY_PATH
    

    Ersetzen Sie INGRESS_POLICY_PATH durch den vollständigen Pfad zur YAML-Datei der Organisationsrichtlinie , die Sie im vorherigen Schritt erstellt haben. Es kann bis zu 15 Minuten dauern, bis die Richtlinie wirksam wird.

Weitere Informationen zur Verwendung benutzerdefinierter Einschränkungen für Organisationsrichtlinien finden Sie unter Benutzerdefinierte Einschränkungen erstellen.

Nächste Schritte

Codelab

Informationen zum Verwalten agentischer Arbeitslasten mit dem Agent Gateway auf der Gemini Enterprise Agent Platform.

Anleitung

Informationen zum Delegieren der Autorisierung für das Agent Gateway an IAP, Model Armor oder Ihren eigenen benutzerdefinierten Autorisierungsdienst.

Anleitung

Informationen zum Überwachen des Agent Gateway.

Fehlerbehebung

Informationen zur Fehlerbehebung bei der Konnektivität des Agent Gateway.