VPC Service Controls mit der Gemini Enterprise Agent Platform

Mit VPC Service Controls können Sie das Risiko der Daten-Exfiltration aus der Gemini Enterprise Agent Platform verringern. Verwenden Sie VPC Service Controls, um einen Dienstperimeter zu erstellen, der die von Ihnen angegebenen Ressourcen und Daten schützt. Wenn Sie beispielsweise VPC Service Controls zum Schutz der Agent Platform verwenden, können die folgenden Artefakte Ihren Dienstperimeter nicht verlassen:

  • Trainingsdaten für ein AutoML- oder benutzerdefiniertes Modell
  • Von Ihnen erstellte Modelle
  • Modelle, nach denen Sie mit Agent Platform Neural Architecture Search gesucht haben
  • Anfragen für Onlineinferenzen
  • Ergebnisse einer Batchinferenzanfrage
  • Gemini-Modelle

Zugriff auf Google-APIs steuern

Die Agent Platform APIs, wie in Auf die Gemini Enterprise Agent Platform von On-Premise- und Multicloud-Umgebungen zugreifen beschrieben, umfassen eine Reihe von Zugriffsoptionen, darunter das öffentliche Internet, Private Service Connect für Google APIs und privater Google-Zugriff.

Öffentlicher Zugriff

Standardmäßig sind diese öffentlichen APIs über das Internet erreichbar. Für die Verwendung sind jedoch IAM-Berechtigungen erforderlich. Funktionen wie Private Service Connect für Google APIs und der privater Google-Zugriff ermöglichen zwar die private Kommunikation über hybride Netzwerkarchitekturen, sie schließen jedoch nicht die Zugänglichkeit der Agent Platform APIs über das öffentliche Internet aus.

Um eine detaillierte Kontrolle über den API-Zugriff zu erhalten und die öffentliche Internetpräsenz explizit einzuschränken, ist die Implementierung von VPC Service Controls unerlässlich. Wenn Sie einen VPC Service Controls-Perimeter (VPC-SC) einrichten und Gemini Enterprise in die geschützten Dienste aufnehmen, wird der gesamte öffentliche Internetzugriff auf Ihre Agent Platform-Instanz automatisch blockiert. Daher wird Nutzern, die versuchen, programmatisch oder über die Google-Konsole auf Agent Platform-Dienste zuzugreifen, der Zugriff verweigert, sofern sie nicht auf einer Zulassungsliste stehen. Google Cloud

Wenn Sie den Zugriff für autorisierte Quellen außerhalb des Perimeters wiederherstellen möchten (z. B. für Nutzer in Ihren Büros), finden Sie unter Öffentlichen Endpunktzugriff auf geschützte Ressourcen von außerhalb eines VPC Service Controls-Perimeters zulassen eine Anleitung zur Bereitstellung.

Privater Zugriff

Organisationen, die öffentliche Google APIs auf privaten Zugriff beschränken müssen, können VPC Service Controls in Kombination mit Private Service Connect für Google APIs (VPC Service Controls-Bundle) oder privater Google-Zugriff verwenden. Wenn beide Optionen über Hybrid Networking und innerhalb von Google Cloudbereitgestellt werden, ermöglichen sie privaten Zugriff auf Google APIs von On-Premise-Umgebungen aus. Private Service Connect für Google APIs bietet jedoch auch Flexibilität bei der Definition einer benutzerdefinierten IP-Adresse und eines benutzerdefinierten DNS-Endpunktnamens.

Als Best Practice sollten Sie die eingeschränkte virtuelle IP (VIP) mit Private Service Connect für Google APIs oder mit privater Google-Zugriff verwenden, um eine private Netzwerkroute für Anfragen an Dienste von Google Cloud bereitzustellen, ohne die Anfragen im Internet verfügbar zu machen. Die eingeschränkte VIP unterstützt alle APIs, die VPC Service Controls schützen kann und die für lokale und VPC-Netzwerke berücksichtigt werden müssen. Nachfolgend sehen Sie einige Beispiele:

API-Zugriff über Zugriff auf private Dienste steuern

Für die folgenden Agent Platform-APIs, die mit Zugriff auf private Dienste bereitgestellt werden, ist eine zusätzliche Netzwerkkonfiguration erforderlich, wenn sie in einer Umgebung implementiert werden, die durch VPC Service Controls geschützt ist:

  • Vektorsuche (Indexabfrage)
  • Benutzerdefiniertes Training (Datenebene)
  • Agent Platform Pipelines
  • Private Endpunkte für Onlinevorhersagen

Agent Platform Pipelines ist beispielsweise ein von Google verwalteter Dienst (Ersteller), der in einem Projekt und VPC-Netzwerk mit einem einzelnen Mandanten bereitgestellt wird und die Möglichkeit bietet, unterstützte Dienste basierend auf den Anforderungen der Nutzer zu skalieren. Die Kommunikation zwischen den Ersteller- und Nutzernetzwerken wird über VPC Network Peering hergestellt. Ausgehender Internettraffic wird jedoch über das Erstellernetzwerk geleitet.

Im Produzentennetzwerk gibt es eine Standardroute, die neben dem uneingeschränkten Zugriff auf Google APIs auch den Internet-Egress ermöglicht. Wenn Sie das Dienstersteller-Netzwerk aktualisieren, um die eingeschränkte VIP zu unterstützen, müssen Sie VPC Service Controls für Peerings aktivieren. Dadurch werden die folgenden Aktionen für alle unterstützten Dienste ausgeführt, die in Ihrem Service Networking-Dienstersteller-Netzwerk bereitgestellt werden:

  • Entfernt die IPv4-Standardroute (Ziel 0.0.0.0/0, nächster Hop „Standard-Internetgateway“).
  • Erstellt von Cloud DNS verwaltete private Zonen und autorisiert diese Zonen für das VPC-Netzwerk des Diensterstellers. Die Zonen umfassen googleapis.com, pkg.dev, gcr.io und andere erforderliche Domains oder Hostnamen für Google APIs und Google-Dienste, die mit VPC Service Controls kompatibel sind.
  • Wenn Sie Daten in den Zonen aufzeichnen, werden alle Hostnamen in 199.36.153.4, 199.36.153.5, 199.36.153.6 und 199.36.153.7 aufgelöst.

Eine alternative Methode zum Entfernen der Standardroute aus dem Producer-Netzwerk, ohne die vorhandenen von Google verwalteten Dienste zu beeinträchtigen, ist die Verwendung von HA VPN über Cloud Interconnect. Diese Methode umfasst die folgenden Schritte:

  1. Stellen Sie zusätzlich ein VPC-Netzwerk für Dienste mit HA VPN im Nutzer-VPC-Netzwerk bereit.
  2. Von Google verwaltete Dienste im VPC-Netzwerk für Dienste bereitstellen.
  3. Aktivieren Sie VPC Service Controls für Peerings.
  4. Bewerben Sie das Subnetz für den Zugriff auf private Dienste als benutzerdefiniertes Route Advertisement über den Cloud Router, wenn für die verwalteten Dienste eine lokale Erreichbarkeit erforderlich ist.
  5. Aktualisieren Sie das VPC-Netzwerk-Peering für Service Networking mit der Option Benutzerdefinierte Routen exportieren.

Unterstützung von VPC Service Controls für Abstimmungspipelin es für generative KI

Unterstützung von VPC Service Controls wird in der Abstimmungspipeline der folgenden Modelle bereitgestellt:

  • text-bison for PaLM 2
  • BERT
  • T5
  • Die textembedding-gecko-Modellfamilie.

VPC Service Controls mit Gemini Enterprise Agent Platform-Pipelines verwenden

Der Dienstperimeter blockiert den Zugriff von der Agent-Plattform auf APIs und Dienste von Drittanbietern im Internet. Wenn Sie Google Cloud Pipeline-Komponenten verwenden oder eigene benutzerdefinierte Pipeline-Komponenten erstellen, die mit Agent Platform Pipelines verwendet werden sollen, können Sie keine PyPI-Abhängigkeiten aus der öffentlichen Python Package Index (PyPI)-Registry installieren. Stattdessen müssen Sie einen der folgenden Schritte ausführen:

Benutzerdefinierte Container verwenden

Als Best Practice für Produktionssoftware sollten Komponentenautoren containerisierte Python-Komponenten verwenden und die Abhängigkeiten in ihr Container-Image einbauen, damit während eines Pipeline-Laufs keine Live-Installation erforderlich ist. Eine Möglichkeit, dies zu tun, ist die folgende:

  1. Erstellen Sie ein eigenes Container-Image mit dem vorinstallierten Kubeflow Pipelines SDK und anderen Paketen. Sie können beispielsweise us-docker.pkg.dev/vertex-ai/training/tf-cpu.2-17:latest als Basisebene Ihres Images verwenden und eine zusätzliche Ebene hinzufügen, um die Pakete während der Containererstellung zu installieren.
  2. Aktualisieren Sie den Code für die Komponentendefinition, um den Pfad base_image und das Flag install_kfp_package auf False festzulegen. Dieses Flag weist den KFP-Compiler an, keinen „pip install kfp“-Befehl in die Container-Befehlszeile einzufügen, da das Kubeflow Pipelines SDK-Paket bereits im Image installiert ist. Beispiel:

    @component(
        base_image='gcr.io/deeplearning-platform-release/tf-cpu.2-17',
        install_kfp_package=False,
    )
    def my_component(...):
        ...
    

Pakete aus einem Artifact Registry-Repository installieren

Alternativ können Sie in Ihrem Projekt ein Artifact Registry-Repository erstellen, Python-Pakete darin speichern und Ihre Agent Platform-Umgebung so konfigurieren, dass die Installation daraus erfolgt. Weitere Informationen finden Sie unter Python-Pakete verwalten.

Rollen und Berechtigungen konfigurieren

  1. Das Dienstkonto für Ihre Agent Platform-Umgebung muss die Rolle iam.serviceAccountUser haben.
  2. Wenn Sie benutzerdefinierte PyPI-Pakete aus einem Repository im Netzwerk Ihres Projekts installieren und dieses Repository keine öffentliche IP-Adresse hat:
    1. Weisen Sie dem Dienstkonto der Umgebung Berechtigungen für den Zugriff auf dieses Repository zu.
    2. Prüfen Sie, ob die Verbindung zu diesem Repository in Ihrem Projekt konfiguriert ist.

Repository erstellen

  1. Erstellen Sie in Ihrem Projekt ein Artifact Registry-Repository im VPC-Modus.
  2. Speichern Sie die erforderlichen Python-Pakete im Repository.

Agent Platform-Umgebung für die Installation aus dem Repository konfigurieren

Wenn Sie benutzerdefinierte PyPI-Pakete aus einem oder mehreren Artifact Registry-Repositories installieren möchten, rufen Sie @dsl.component mit einem ähnlichen Aufruf wie dem folgenden auf:

@dsl.component(packages_to_install=["tensorflow"],
pip_index_urls=['https://us-central1-python.pkg.dev/mygcpproject1/pypi-repo1/simple', 'https://us-central1-python.pkg.dev/mygcpproject2/pypi-repo2/simple'],)
def hello_world(text: str) -> str:
    import my_package
    import tensorflow

    return my_package.hello_world(text)

VPC Service Controls mit PSC-Schnittstelle verwenden

Für die folgenden Agent Platform-APIs, die mit der Private Services Connect-Schnittstelle bereitgestellt werden, ist eine zusätzliche Netzwerkkonfiguration erforderlich, wenn sie in einer mit VPC Service Controls geschützten Umgebung implementiert werden:

  • Benutzerdefiniertes Training (Datenebene)
  • Agent Platform Pipelines
  • Private Online-Inferenzendpunkte
  • Laufzeit für KI-Agenten

Ob der Dienst von Agent Platform-Erstellern auf das öffentliche Internet zugreifen kann, hängt von der Sicherheitskonfiguration Ihres Projekts ab, insbesondere davon, ob Sie VPC Service Controls verwenden:

  • Ohne VPC Service Controls: Der von Google verwaltete Mandant, auf dem die Agent Platform gehostet wird, behält seinen standardmäßigen Internetzugriff. Dieser ausgehende Traffic wird direkt aus der sicheren, von Google verwalteten Umgebung geleitet, in der Ihr Producer-Dienst ausgeführt wird. Die Ausnahme von diesem Verhalten ist die Agent-Laufzeit, die keinen Internetzugang bietet. Stattdessen müssen Sie eine Proxy-VM mit einer RFC 1918-Adresse für den Internet-Egress bereitstellen.

  • Mit VPC Service Controls: Wenn Ihr Projekt in einem VPC Service Controls-Perimeter (VPC-SC) eingeschlossen ist, wird der standardmäßige Internetzugriff der von Google verwalteten Umgebung, in der die Agent-Plattform gehostet wird, blockiert. Diese Einschränkung ist eine Sicherheitsmaßnahme, die dazu dient, Daten-Exfiltration zu verhindern. Damit die Agent Platform in diesem Szenario auf das öffentliche Internet zugreifen kann, müssen Sie explizit einen sicheren Pfad für ausgehenden Traffic konfigurieren, der den Traffic über Ihr VPC-Netzwerk weiterleitet.

Die empfohlene Methode umfasst Folgendes:

  1. Bereitstellung eines Proxyservers innerhalb Ihres VPC-Perimeters in einem RFC 1918-Subnetz.
  2. Erstellen eines Cloud NAT-Gateways, damit die Proxy-VM auf das Internet zugreifen kann.
  3. Definieren Sie den Proxyserver (IP-Adresse oder FQDN) in Ihrer Laufzeitumgebung.

Für diese Aufgabe gibt es keinen vorgeschriebenen oder bevorzugten Netzwerkproxy. Sie können eine beliebige geeignete Lösung verwenden. Beispiele sind Squid-Proxy, HAProxy, Envoy und TinyProxy.

Dienstperimeter erstellen

Eine Übersicht zum Erstellen eines Dienstperimeters finden Sie in der Dokumentation zu VPC Service Controls unter Dienstperimeter erstellen.

Eingeschränkte Dienste Ihrem Perimeter hinzufügen

Wir empfehlen, beim Einrichten eines Dienstperimeters alle eingeschränkten Dienste als Best Practice für die Sicherheit einzuschließen. Dieser umfassende Ansatz trägt dazu bei, potenzielle Sicherheitslücken und unbefugte Zugriffe zu minimieren. Es kann jedoch Szenarien geben, in denen Ihre Organisation spezifische Anforderungen hat, die sich auf den Schutz der Gemini Enterprise Agent Platform und der damit verbundenen APIs konzentrieren. In solchen Fällen haben Sie die Möglichkeit, nur die spezifischen Agent Platform APIs auszuwählen und einzubinden, die für Ihre Abläufe erforderlich sind.

Zu den Agent Platform APIs, die Sie in Ihren Dienstperimeter einbinden können, gehören die folgenden:

  • Gemini Enterprise unterstützt die folgenden Dienste und Funktionen:
    • Batchinferenz
    • Datasets
    • Agent Platform Feature Store (Bigtable-Onlinebereitstellung)
    • Agent Platform Feature Store (optimierte Onlinebereitstellung) (eingestellt)
    • Generative KI auf der Gemini Enterprise Agent Platform (Gemini)
    • Modell-Registry
    • Onlineinferenz
    • Modellabstimmung öffnen
    • Vektorsuche (Indexerstellung)
    • Vektorsuche (Indexabfrage)
    • Benutzerdefiniertes Training (Steuerungsebene)
    • Benutzerdefiniertes Training (Datenebene)
    • Agent Platform Pipelines
    • Private Online-Inferenzendpunkte
    • Colab Enterprise
    • Laufzeit für KI-Agenten
    • Verwaltete Trainingscluster
  • Die Notebooks API unterstützt den folgenden Dienst:
    • Vertex AI Workbench

Beschränkungen

Die folgenden Einschränkungen gelten bei der Verwendung von VPC Service Controls:

  • Zum Hinzufügen von Daten-Labels müssen Sie die IP-Adressen der Labelersteller einer Zugriffsebene hinzufügen.
  • Bei Google Cloud Pipeline Components starten die Komponenten Container, die ihr Basis-Image auf alle Anforderungen prüfen. Das KFP-Paket sowie alle im Argument packages_to_install aufgeführten Pakete sind die Anforderungen für einen Container. Wenn angegebene Anforderungen noch nicht im Basis-Image vorhanden sind (entweder bereitgestellt oder benutzerdefiniert), versucht die Komponente, sie aus dem Python Package Index (PyPI) herunterzuladen. Da der Dienstperimeter den Zugriff von der Gemini Enterprise Agent Platform auf APIs und Dienste von Drittanbietern im Internet blockiert, schlägt der Download mit Connection to pypi.org timed out fehl. Informationen dazu, wie Sie diesen Fehler vermeiden können, finden Sie unter VPC Service Controls mit Agent Platform Pipelines verwenden.
  • Wenn Sie VPC Service Controls mit benutzerdefinierten Kerneln in Agent Platform Workbench verwenden, müssen Sie stattdessen DNS-Peering so konfigurieren, dass Anfragen für *.notebooks.googleusercontent.com an das Subnetz 199.36.153.8/30 (private.googleapis.com) anstelle von 199.36.153.4/30 (restricted.googleapis.com) gesendet werden.
  • Wenn Sie VPC Service Controls mit Vertex AI Inference verwenden, müssen Endpunkte erstellt werden, nachdem das Projekt dem Dienstperimeter hinzugefügt wurde. Wenn ein Endpunkt in einem Projekt erstellt wird, das nicht Teil eines Dienstperimeters ist, und dieses Projekt später einem Dienstperimeter hinzugefügt wird, schlägt der Versuch, ein Modell für diesen Endpunkt bereitzustellen, fehl. Wenn der Endpunkt ein gemeinsamer öffentlicher Endpunkt ist, schlägt auch das Senden einer Anfrage an den Endpunkt fehl. Ebenso schlägt der Versuch fehl, ein Modell auf einem Endpunkt bereitzustellen, wenn der Endpunkt in einem Projekt erstellt wurde, das Teil eines Dienstperimeters war, und das Projekt anschließend entfernt wird.
  • Wenn Sie VPC Service Controls mit der Agent-Laufzeit verwenden, muss das Projekt Teil eines Dienstperimeters sein, bevor Sie den Agent bereitstellen. Wenn ein Agent bereitgestellt wird, bevor das Projekt einem Perimeter hinzugefügt wird, ist der Agent nicht durch VPC Service Controls geschützt und hat weiterhin Zugriff auf das öffentliche Internet.
  • Model Garden-Bereitstellungen mit einem Klick (dedizierter Endpunkt) werden in einer VPC-SC-Umgebung nicht unterstützt. Verwenden Sie stattdessen einen privaten Endpunkt, der VPC Service Controls unterstützt. Weitere Informationen finden Sie unter Modell auf einem privaten Endpunkt bereitstellen.
  • Anfrage- und Antwort-Logging ist mit VPC Service Controls nicht verfügbar.

Nächste Schritte