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

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

Hinweis

  • Machen Sie sich mit der Bereitstellung von Agenten in der Agent Runtime vertraut.

  • Weitere Informationen zum KI-Agenten-Gateway Sie können Agent Gateway im Agent-to-Anywhere-Modus (Egress) verwenden, um die gesamte ausgehende Kommunikation mit ausgehendem Traffic zu Tools, Modellen, APIs und anderen Agents zu sichern und zu steuern. Sie verwenden das Gateway im Client-to-Agent-Modus (Ingress), um zu steuern, welche Clients auf Ihre Agents zugreifen können. Über das 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 Agent-to-Anywhere-Gateway (Egress) und ein Client-to-Agent-Gateway (Ingress) gebunden werden.

  • Lesen Sie die Einschränkungen für Laufzeitbereitstellungen, die mit Agent Gateway verknüpft sind.

Agent Runtime-Traffic über das Agent Gateway weiterleiten

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

  1. Agenten-Gateway erstellen

    Erstellen Sie eine Agent Gateway-Ressource und hängen Sie bei Bedarf Autorisierungsrichtlinien an. Sie können ein Gateway entweder im Agent-to-Anywhere-Modus (Ausgang) oder im Client-to-Agent-Modus (Eingang) erstellen.

    • Im Client-to-Agent-Modus (Ingress) müssen der Agent und das Gateway im selben Projekt und in derselben Region erstellt werden.
    • Im Modus „Agent-to-Anywhere“ (Ausgang) kann das Gateway in einem anderen Projekt als der Agent erstellt werden, muss aber in derselben Region erstellt werden. Alle zugehörigen Agent Registry-Registrierungen und IAM-Richtlinienbindungen müssen im selben Projekt wie das Agent Gateway erstellt werden.

    Eine Anleitung finden Sie unter Agent Gateway einrichten.

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

  2. Optional: Projektübergreifenden Zugriff auf das Egress-Gateway konfigurieren

    Wenn sich Ihr Agent-to-Anywhere-Gateway (Egress) in einem anderen Projekt als Ihr Runtime-Agent befindet, führen Sie die folgenden Schritte aus, um dem Runtime-Dienst-Agent Zugriff auf das Egress-Gateway-Projekt zu gewähren:

    1. Erstellen Sie eine benutzerdefinierte IAM-Rolle im Agent Gateway-Projekt:

      gcloud iam roles create ar_agw_cross_project_sa \
        --project=AGENT_GATEWAY_PROJECT_ID \
        --title="Runtime Agent Gateway Cross-Project SA" \
        --description="Custom role for the cross-project service agent to access Agent Gateway" \
        --permissions="networkservices.agentGateways.get,networkservices.operations.get"

      Ersetzen Sie AGENT_GATEWAY_PROJECT_ID durch die Projekt-ID, in der das Agent Gateway bereitgestellt wird.

    2. Weisen Sie dem Dienst-Agent für die Agent Runtime des Agent-Projekts die benutzerdefinierte Rolle im Gateway-Projekt zu:

      gcloud projects add-iam-policy-binding AGENT_GATEWAY_PROJECT_ID \
        --member="serviceAccount:service-AGENT_RUNTIME_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com" \
        --role="projects/AGENT_GATEWAY_PROJECT_ID/roles/ar_agw_cross_project_sa"

      Ersetzen Sie AGENT_RUNTIME_PROJECT_NUMBER durch die Projektnummer des Projekts, in dem der Runtime-Agent bereitgestellt wird.

  3. KI-Agenten so konfigurieren, dass Traffic über das KI-Agenten-Gateway weitergeleitet wird

    Wählen Sie je nachdem, ob Sie einen neuen Agent bereitstellen oder einen vorhandenen Agent konfigurieren, eine der folgenden Optionen aus:

    • Für neue Agents

      Geben Sie die Gateway-Ressource beim Bereitstellen des Agents an. Wenn Sie den KI-Agenten beispielsweise in der Agent Runtime bereitstellen möchten, verwenden Sie client.agent_engines.create, um das local_agent-Objekt zusammen mit allen optionalen Konfigurationen zu übergeben.

      Wenn Sie Gateway-basierte Plattformfunktionen wie Model Armor oder Semantic Governance Policies mit diesem Agent verwenden möchten, legen Sie sowohl agent_gateway_config als auch identity_type=AGENT_IDENTITY im Erstellungsaufruf fest, wie in diesem Beispiel gezeigt. Ohne identity_type=AGENT_IDENTITY wird für die effectiveIdentity der Runtime-Instanz das standardmäßige Vertex AI-Dienstkonto verwendet und der Agent wird durch Semantic Governance Policies im Auswahlfeld für die Richtlinienerstellung herausgefiltert.

      Agent zu beliebigem Ziel

      remote_agent = client.agent_engines.create(
        agent=local_agent,
        config={
            "agent_gateway_config": {
              "agent_to_anywhere_config": {"agent_gateway": projects/AGENT_GATEWAY_PROJECT_ID/locations/REGION/agentGateways/AGENT_GATEWAY_TO_ANYWHERE_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 Folgendes:

      • AGENT_GATEWAY_PROJECT_ID: Die Projekt-ID, in der das Agent Gateway bereitgestellt wird
      • REGION: die Region, in der der Agent und das Gateway bereitgestellt werden
      • AGENT_GATEWAY_TO_ANYWHERE_NAME: Der Name des Agent-Gateways, das Sie im Modus „Agent zu beliebigem Ziel (ausgehend)“ erstellt haben.

      Client zu Agent

      remote_agent = client.agent_engines.create(
        agent=local_agent,
        config={
            "agent_gateway_config": {
              "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 Folgendes:

      • PROJECT_ID: die Projekt-ID, in der der Agent und das Gateway bereitgestellt werden
      • REGION: die Region, in der der Agent und das Gateway bereitgestellt werden
      • AGENT_GATEWAY_CLIENT_TO_AGENT_NAME: Der Name des Agent-Gateways, das Sie im Modus „Client zu Agent (eingehend)“ erstellt haben.
    • Für vorhandene Agents

      Agent zu beliebigem Ziel

      Mit der folgenden REST API-Anfrage können Sie einen vorhandenen Agent mit einem Agent-to-Anywhere-Gateway für den Egress 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/AGENT_GATEWAY_PROJECT_ID/locations/REGION/agentGateways/AGENT_GATEWAY_TO_ANYWHERE_NAME"
              }
            }
          }
        }
      }' \
      "https://REGION-aiplatform.googleapis.com/v1/projects/AGENT_RUNTIME_PROJECT_ID/locations/REGION/reasoningEngines/RESOURCE_ID?updateMask=spec.deploymentSpec.agentGatewayConfig"

      Ersetzen Sie Folgendes:

      • AGENT_GATEWAY_PROJECT_ID: die Projekt-ID, in der das Gateway bereitgestellt wird
      • AGENT_RUNTIME_PROJECT_ID: die Projekt-ID, in der der Agent bereitgestellt wird
      • REGION: die Region, in der der Agent und das Gateway bereitgestellt werden
      • AGENT_GATEWAY_TO_ANYWHERE_NAME: Der Name des Agent-Gateways, das Sie im Modus „Agent zu beliebigem Ziel (ausgehend)“ erstellt haben.
      • RESOURCE_ID: Die Ressourcen-ID des Agenten.

      Client zu Agent

      Mit der folgenden REST API-Anfrage können Sie einen vorhandenen Agenten einem Client-to-Agent-Gateway für den Ingress zuordnen.

      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/v1/projects/PROJECT_ID/locations/REGION/reasoningEngines/RESOURCE_ID?updateMask=spec.deploymentSpec.agentGatewayConfig"

      Ersetzen Sie Folgendes:

      • PROJECT_ID: die Projekt-ID, in der der Agent und das Gateway bereitgestellt werden
      • REGION: die Region, in der der Agent und das Gateway bereitgestellt werden
      • AGENT_GATEWAY_CLIENT_TO_AGENT_NAME: Der Name des Agent-Gateways, das Sie unter „Client zu Agent (eingehend)“ erstellt haben.
      • RESOURCE_ID: Die Ressourcen-ID des Agenten.
  4. KI-Agenten in Agent Registry registrieren

    Achten Sie darauf, dass der Agent bei der Agent Registry-Instanz im selben Projekt und in derselben Region wie das Agent Gateway registriert ist.

    gcloud agent-registry services create RUNTIME_AGENT_SERVICE_NAME \
      --project=AGENT_GATEWAY_PROJECT_ID \
      --location=REGION \
      --display-name="RUNTIME_AGENT_DISPLAY_NAME" \
      --endpoint-spec-type=no-spec \
      --interfaces=url="https://REGION-aiplatform.mtls.googleapis.com/v1/projects/RUNTIME_AGENT_PROJECT_NUMBER/locations/REGION/reasoningEngines/ENGINE_ID",protocolBinding="jsonrpc" \
      --format="value(registryResource)"
    

    Ersetzen Sie Folgendes:

    • RUNTIME_AGENT_SERVICE_NAME: Der Name, den Sie dem Agenteneintrag in der Registrierung geben möchten.
    • AGENT_GATEWAY_PROJECT_ID: die Projekt-ID, in der das Gateway bereitgestellt wird
    • REGION: die Region, in der der Agent und das Gateway bereitgestellt werden
    • RUNTIME_AGENT_DISPLAY_NAME: Der menschenlesbare Anzeigename des Agenteneintrags in der Registry.
    • RUNTIME_AGENT_PROJECT_NUMBER: die Projektnummer des Projekts, in dem der Runtime-Agent bereitgestellt wird
    • ENGINE_ID: Die Ressourcen-ID des Agenten.

    Weitere Informationen finden Sie unter Agent registrieren.

  5. IAM-Richtlinienbindung für Agent zu Registry erstellen

    Führen Sie diesen Schritt im selben Projekt und in derselben Region wie das Agent Gateway aus.

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

    Ersetzen Sie Folgendes:

    • AGENT_ENDPOINT_ID: Die Dienstendpunkt-ID des registrierten Agenten. Sie erhalten diese aus der Ausgabe des vorherigen Schritts.
    • MEMBER: Das Hauptkonto der Agentenidentität, 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.

  6. Wichtige APIs für Laufzeitvorgänge auf die Zulassungsliste setzen

    Der Agent-Traffic wird jetzt über das Agent Gateway geleitet. Agent Gateway verwendet jedoch eine Standardablehnungsrichtlinie. Damit bestimmte Funktionen der Agent Platform aktiviert werden können, muss der Agent mit den folgenden Endpunkten kommunizieren können:

    • Damit Agents, MCP-Server und Endpunkte automatisch erkannt werden können, muss das Agent Gateway Traffic zum Endpunkt https://agentregistry.googleapis.com/ zulassen.

    • 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 außerdem LLMs aufrufen oder Funktionen wie Sitzungen und Memory Bank verwenden, müssen Sie dafür sorgen, dass die Agents mit den von diesen Diensten verwendeten Endpunkten kommunizieren können. 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 vom Agent-SDK verwendet werden. Je nach SDK-Version, regionaler Clientkonfiguration oder mTLS-Nutzung kann eine Google API beispielsweise über die folgenden Endpunkthostnamen 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. Außerdem müssen Sie dafür sorgen, dass der Agent die Rolle „IAP Egressor“ für diese Endpunkte hat. Eine Anleitung finden Sie unter Egress-Richtlinie für Agent-zu-Endpunkt erstellen.

  7. Agent-Konfiguration überprüfen

    Console

    1. Rufen Sie in der Google Cloud Console die Seite Bereitstellungen der Agent-Plattform auf.

      Zu Deployments

    2. Klicken Sie auf den Namen des Agents, den Sie bereitgestellt haben.

    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 KI-Agenten-Gateways 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 zurückgegebene Ausgabe null ist, konnte die Laufzeit nicht an das Gateway gebunden werden.

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

    Ersetzen Sie Folgendes:

    • AGENT_RUNTIME_PROJECT_ID: die Projekt-ID
    • REGION: die Region, in der der Agent bereitgestellt wird
    • RESOURCE_ID: Die Ressourcen-ID des Agenten.

Benutzerdefinierte Container-Agents (BYOC) für das KI-Agenten-Gateway konfigurieren

Wenn Sie ausgehenden Traffic für einen Agent, der mit einem benutzerdefinierten Container-Image (Bring Your Own Container / BYOC) bereitgestellt wird, über ein Agent-to-Anywhere-Agent-Gateway (Egress) weiterleiten möchten, müssen Sie das Root-Zertifizierungsstellenzertifikat (CA) des Gateways in den Trust Store des benutzerdefinierten Container-Image einbinden.

Da Agent Gateway die TLS-Entschlüsselung und -Prüfung für ausgehende Agent-Kommunikation durchführt, wird das Zertifikat der Zertifizierungsstelle bei Agent-Bereitstellungen ohne BYOC (quellenbasiert) automatisch während der Image-Erstellung eingefügt. Bei benutzerdefinierten Container-Images müssen Sie das CA-Zertifikat des Gateways explizit abrufen, es im System-CA-Trust Store in Ihrem Dockerfile installieren und die Umgebungsvariablen für das Zertifikatsbündel festlegen, die von Python-SDKs, HTTP-Clientbibliotheken und gRPC benötigt werden.

So konfigurieren Sie ein BYOC-Container-Image für den Agent Gateway-Ausgang:

  1. Rufen Sie die Root-Zertifikate aus der Ressource des KI-Agenten-Gateways ab.

    Exportieren Sie den PEM-String des CA-Root-Zertifikats direkt aus dem Feld agentGatewayCard.rootCertificates Ihrer Agent Gateway-Ressource:

    export AGW_CERT=$(gcloud network-services agent-gateways describe AGENT_GATEWAY_NAME \
       --location=REGION \
       --project=PROJECT_ID \
       --format="value[delimiter=\\n](agentGatewayCard.rootCertificates)")

    Alternativ können Sie die REST API verwenden, um die Gateway-Ressource abzurufen:

    curl -s -X GET \
       -H "Authorization: Bearer $(gcloud auth print-access-token)" \
       "https://networkservices.googleapis.com/v1/projects/AGENT_GATEWAY_PROJECT_ID/locations/REGION/agentGateways/AGENT_GATEWAY_NAME" \
       | jq -r '.agentGatewayCard.rootCertificates[]'

    Ersetzen Sie Folgendes:

    • AGENT_GATEWAY_NAME: der Name Ihres Egress-Agent-Gateways
    • REGION: die Region, in der das Gateway bereitgestellt wird
    • AGENT_GATEWAY_PROJECT_ID: die Projekt-ID, in der das Gateway bereitgestellt wird
  2. Aktualisieren Sie Ihre Dockerfile, damit das CA-Zertifikat als vertrauenswürdig eingestuft wird.

    Fügen Sie das Build-Argument AGENT_GATEWAY_ROOT_CERTIFICATES zu Ihrem Dockerfile hinzu. Die Build-Befehle teilen die Zertifikate in separate Dateien auf, installieren sie mit update-ca-certificates und legen Umgebungsvariablen fest, damit OpenSSL, Python-HTTP-Clientbibliotheken (requests, httpx) und gRPC die benutzerdefinierte Zertifizierungsstelle erkennen:

    # Install root certificates under root user
    USER root
    
    ARG AGENT_GATEWAY_ROOT_CERTIFICATES
    RUN if [ -n "$AGENT_GATEWAY_ROOT_CERTIFICATES" ]; then \
         echo "Installing Agent Gateway root certificates..."; \
         printf "%b" "$AGENT_GATEWAY_ROOT_CERTIFICATES" | awk 'BEGIN {c=0} /BEGIN CERTIFICATE/ {c++} c > 0 { print > "/usr/local/share/ca-certificates/agw-" c ".crt" }'; \
         update-ca-certificates; \
       fi
    
    # Configure SSL/TLS trust paths for Python HTTP libraries, OpenSSL, and gRPC
    ENV GRPC_DEFAULT_SSL_ROOTS_FILE_PATH=${AGENT_GATEWAY_ROOT_CERTIFICATES:+/etc/ssl/certs/ca-certificates.crt}
    ENV REQUESTS_CA_BUNDLE=${AGENT_GATEWAY_ROOT_CERTIFICATES:+/etc/ssl/certs/ca-certificates.crt}
    ENV SSL_CERT_FILE=${AGENT_GATEWAY_ROOT_CERTIFICATES:+/etc/ssl/certs/ca-certificates.crt}
    ENV AGENT_GATEWAY_ROOT_CERT_302034098528=${AGENT_GATEWAY_ROOT_CERTIFICATES:+/etc/ssl/certs/ca-certificates.crt}
    
    # Switch back to application execution user
    USER 1000
  3. Erstellen Sie das Container-Image mit Cloud Build.

    Erstellen Sie eine cloudbuild.yaml-Datei, um den Root-Zertifikatstring mithilfe von Substitutionen an Cloud Build zu übergeben:

    steps:
    - name: 'gcr.io/cloud-builders/docker'
      args:
      - 'build'
      - '--build-arg'
      - 'AGENT_GATEWAY_ROOT_CERTIFICATES=${_AGW_CERT}'
      - '-t'
      - '$_IMAGE_URI'
      - '.'
    
    images:
    - '$_IMAGE_URI'
    

    Senden Sie den Container-Image-Build an Cloud Build:

    export IMAGE_URI="REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/IMAGE_NAME:latest"
    
    gcloud builds submit \
       --project=PROJECT_ID \
       --region=REGION \
       --config=cloudbuild.yaml \
       --substitutions=_IMAGE_URI="$IMAGE_URI",_AGW_CERT="$AGW_CERT" \
       .
    

    Ersetzen Sie REPOSITORY_NAME und IMAGE_NAME durch die Namen Ihres Artifact Registry-Repositorys und -Images.

  4. Stellen Sie Ihren containerisierten Agenten bereit.

    Geben Sie den URI des erstellten Container-Images zusammen mit Ihrer Agent Gateway-Konfiguration in Ihrer Bereitstellungsanfrage an (mit agent_gateway_config unter spec.deploymentSpec oder mit SDK-Bereitstellungsaufrufen).

Laufzeit für KI-Agenten auf genehmigte KI-Agenten-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. Wenn Sie eine benutzerdefinierte Einschränkung für den Agent-to-Anywhere-Modus (Egress) definieren möchten, erstellen Sie eine Datei mit dem Namen constraint-agent-gateway-egress.yaml.

    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 das angegebene Gateway in der vorab genehmigten Liste enthalten ist.

    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. Organisationsrichtlinie erzwingen

    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. Wenn Sie eine benutzerdefinierte Einschränkung für den Client-to-Agent-Modus (Ingress) definieren möchten, erstellen Sie eine Datei mit dem Namen constraint-agent-gateway-ingress.yaml.

    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 das angegebene Gateway in der vorab genehmigten Liste enthalten ist.

    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. Organisationsrichtlinie erzwingen

    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.

Beschränkungen

  • Für die projektübergreifende Verwaltung gelten die folgenden Einschränkungen:

    • Projektübergreifende Bindungen zwischen Agents und Gateways werden nur im Agent-to-Anywhere-Modus (Egress) unterstützt. Im Client-to-Agent-Modus (Ingress) müssen sich der Agent und das Agent Gateway im selben Projekt befinden.
    • Sie müssen die REST API oder gcloud verwenden, um die End-to-End-Governance über mehrere Projekte hinweg zu konfigurieren. In der Google Cloud Google Cloud -Konsole können keine projektübergreifenden IAM-Richtlinienbindungen oder Agent Registry-Einträge erstellt werden.
  • 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 mehrere Agent Gateway-Instanzen für Agent-to-Anywhere (Ausgang) und Client-to-Agent (Eingang) gehostet werden. Alle Agent Runtime-Agents, die in demselben Projekt und derselben Region bereitgestellt werden, müssen jedoch an dieselben spezifischen Agent Gateway-Instanzen für Ausgang und Eingang gebunden werden.

    Wenn ein Projekt und eine Region beispielsweise egress-gateway-X und egress-gateway-Y enthalten, müssen alle Agents in diesem Projekt und dieser Region so konfiguriert werden, dass sie dasselbe Gateway für den Egress verwenden. Entweder verwenden alle Agents egress-gateway-X oder alle Agents verwenden egress-gateway-Y. Sie können agent-A nicht für die Verwendung von egress-gateway-X und agent-B nicht für die Verwendung von egress-gateway-Y konfigurieren.

    Dieselbe Bindungsregel gilt auch für Ingress-Gateways innerhalb eines Projekts und einer Region.

  • Der Dienst Security Command Center Agent Engine Threat Detection ist nicht verfügbar, wenn Agent Gateway für einen Agent aktiviert ist.

  • Im Client-to-Agent-Modus (eingehend) kann Agent Gateway nur die Methoden query und streamQuery von Agent Runtime steuern. Um andere nicht unterstützte Methoden (z. B. asyncQuery) zu schützen, können Sie Model Armor-Vorlagen direkt über Ihre Anwendung oder Ihren Agent anwenden. Weitere Informationen finden Sie unter Prompts und Antworten bereinigen oder in diesem Codelab zum Erstellen eines sicheren Agentensystems mit Model Armor.

  • VPC Service Controls werden mit Agent Gateway nicht unterstützt.

  • Agent Gateway wird nicht für Agent Runtime-Agents unterstützt, die Versionen verwenden. Sie können keine versionsbezogenen Funktionen wie die Konfiguration der Trafficaufteilung und die Abfrage pro Revision verwenden, wenn ein Agent Gateway an die Konfiguration eines Agents angehängt ist.

    Wenn Sie einen Agent aktualisieren möchten, ohne seine Reasoning Engine-ID zu ändern oder Richtlinienbindungen zu unterbrechen, aktualisieren Sie die Agent-Instanz direkt, wie unter Agent Runtime-Instanz aktualisieren beschrieben.

Nächste Schritte

Codelab

Hier erfahren Sie, wie Sie agentische Arbeitslasten mit Agent Gateway auf der Gemini Enterprise Agent Platform verwalten.

Leitfaden

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

Leitfaden

Informationen zum Überwachen des Agent Gateway

Fehlerbehebung

Informationen zur Fehlerbehebung bei der Verbindung zum KI-Agenten-Gateway.