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:
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.
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:
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_IDdurch die Projekt-ID, in der das Agent Gateway bereitgestellt wird.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_NUMBERdurch die Projektnummer des Projekts, in dem der Runtime-Agent bereitgestellt wird.
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 daslocal_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_configals auchidentity_type=AGENT_IDENTITYim Erstellungsaufruf fest, wie in diesem Beispiel gezeigt. Ohneidentity_type=AGENT_IDENTITYwird für dieeffectiveIdentityder 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 wirdREGION: die Region, in der der Agent und das Gateway bereitgestellt werdenAGENT_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 werdenREGION: die Region, in der der Agent und das Gateway bereitgestellt werdenAGENT_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 wirdAGENT_RUNTIME_PROJECT_ID: die Projekt-ID, in der der Agent bereitgestellt wirdREGION: die Region, in der der Agent und das Gateway bereitgestellt werdenAGENT_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 werdenREGION: die Region, in der der Agent und das Gateway bereitgestellt werdenAGENT_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.
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 wirdREGION: die Region, in der der Agent und das Gateway bereitgestellt werdenRUNTIME_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 wirdENGINE_ID: Die Ressourcen-ID des Agenten.
Weitere Informationen finden Sie unter Agent registrieren.
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.
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_CERTIFICATEundGOOGLE_API_USE_MTLS_ENDPOINTfestgelegt sind, muss auch Traffic zuhttps://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_CERTIFICATEundGOOGLE_API_USE_MTLS_ENDPOINTfestgelegt sind, muss auch Traffic zuhttps://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.comhttps://REGION-aiplatform.mtls.googleapis.comhttps://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.
Agent-Konfiguration überprüfen
Console
- Rufen Sie in der Google Cloud Console die Seite Bereitstellungen der Agent-Plattform auf.
Klicken Sie auf den Namen des Agents, den Sie bereitgestellt haben.
Klicken Sie auf Dienstkonfiguration. Der Bereich Beobachtbarkeit für den Agent wird geöffnet.
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
nullist, 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-IDREGION: die Region, in der der Agent bereitgestellt wirdRESOURCE_ID: Die Ressourcen-ID des Agenten.
- Rufen Sie in der Google Cloud Console die Seite Bereitstellungen der Agent-Plattform auf.
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:
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.rootCertificatesIhrer 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-GatewaysREGION: die Region, in der das Gateway bereitgestellt wirdAGENT_GATEWAY_PROJECT_ID: die Projekt-ID, in der das Gateway bereitgestellt wird
Aktualisieren Sie Ihre
Dockerfile, damit das CA-Zertifikat als vertrauenswürdig eingestuft wird.Fügen Sie das Build-Argument
AGENT_GATEWAY_ROOT_CERTIFICATESzu IhremDockerfilehinzu. Die Build-Befehle teilen die Zertifikate in separate Dateien auf, installieren sie mitupdate-ca-certificatesund 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
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_NAMEundIMAGE_NAMEdurch die Namen Ihres Artifact Registry-Repositorys und -Images.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_configunterspec.deploymentSpecoder 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
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
conditionan, 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.
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.
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: trueErsetzen Sie
AGENT_PROJECT_IDdurch Ihre Projekt-ID.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
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
conditionan, 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.
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.
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: trueErsetzen Sie
AGENT_PROJECT_IDdurch Ihre Projekt-ID.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-Xundegress-gateway-Yenthalten, 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 Agentsegress-gateway-Xoder alle Agents verwendenegress-gateway-Y. Sie könnenagent-Anicht für die Verwendung vonegress-gateway-Xundagent-Bnicht für die Verwendung vonegress-gateway-Ykonfigurieren.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
queryundstreamQueryvon 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: Agentische Arbeitslasten mit der Agent Platform verwalten
Hier erfahren Sie, wie Sie agentische Arbeitslasten mit Agent Gateway auf der Gemini Enterprise Agent Platform verwalten.
Delegierte Autorisierung für Agent Gateway
Informationen zum Delegieren der Autorisierung für Agent Gateway an IAP, Model Armor oder Ihren eigenen benutzerdefinierten Autorisierungsdienst.
Fehlerbehebung bei Agent Gateway
Informationen zur Fehlerbehebung bei der Verbindung zum KI-Agenten-Gateway.