Referenzarchitektur
In der folgenden Referenzarchitektur wird eine freigegebene VPC mit einem Gemini-Modell im Dienstprojekt ph-fm-svc-project (Dienstprojekt für Foundation-Modelle) bereitgestellt. Die Attribute der Dienstrichtlinie ermöglichen den privaten Zugriff auf die Agent Platform API von AWS aus:
- Ein einzelner VPC Service Controls-Perimeter
- Projektdefinierte Nutzeridentität

Optional: Zugriffsebene erstellen
Wenn Ihre Endnutzer über die Cloud de Confiance Console auf die Gemini Enterprise Agent Platform zugreifen müssen, folgen Sie der Anleitung in diesem Abschnitt, um eine VPC Service Controls Zugriffsebene zu erstellen. Wenn der programmatische Zugriff auf APIs jedoch aus privaten Quellen erfolgt (z. B. lokal mit privater Google-Zugriff oder Cloud Workstations), ist die Zugriffsebene nicht erforderlich.
In dieser Referenzarchitektur verwenden wir den CIDR-Bereich des Unternehmens, corp-public-block,
um Mitarbeitern des Unternehmens den Zugriff auf die Cloud de Confiance Console zu ermöglichen.
Mit Access Context Manager können Cloud de Confiance by S3NS Organisationsadministratoren eine differenzierte, attributbasierte Zugriffssteuerung für Projekte und Ressourcen in Cloud de Confiance by S3NSdefinieren.
Zugriffsebenen beschreiben die Anforderungen, die Anfragen erfüllen müssen. Beispiele:
- Gerätetyp und Betriebssystem (erfordert eine Chrome Enterprise Premium-Lizenz)
- IP-Adresse
- Nutzeridentität
Wenn die Organisation Access Context Manager zum ersten Mal verwendet, dann müssen Administratoren eine Zugriffsrichtlinie definieren, die ein Container für Zugriffsebenen und Dienstperimeter ist.
Klicken Sie in der Projektauswahl oben in der Cloud de Confiance Console auf den Tab Alle und wählen Sie dann Ihre Organisation aus.
Erstellen Sie eine einfache Zugriffsebene gemäß der Anleitung auf der Seite Einfache Zugriffsebene erstellen. Geben Sie die folgenden Optionen an:
- Wählen Sie unter Bedingungen erstellen in die Option Standardmodus aus.
- Geben Sie im Feld Titel der Zugriffsebene
corp-public-blockein. - Wählen Sie im Abschnitt Bedingungen für die Option Bei erfüllter Bedingung Folgendes zurückgeben die Option WAHR aus.
- Wählen Sie unter IP-Subnetzwerke die Option Öffentliche IP aus.
- Geben Sie für den IP-Adressbereich Ihren externen CIDR-Bereich an, der Zugriff auf den VPC Service Controls-Perimeter benötigt.
VPC Service Controls-Dienstperimeter erstellen
Wenn Sie einen Dienstperimeter erstellen, lassen Sie den Zugriff auf geschützte Dienste von außerhalb des Perimeters zu, indem Sie die geschützten Projekte angeben. Wenn Sie VPC Service Controls mit einer freigegebene VPC verwenden, erstellen Sie einen großen Perimeter, der sowohl das Host- als auch das Dienstprojekt umfasst. Wenn Sie in Ihrem Perimeter nur das Dienstprojekt auswählen, scheinen sich Netzwerkendpunkte, die zu Dienstprojekten gehören, außerhalb des Perimeters zu befinden, da die Subnetze nur mit dem Hostprojekt verknüpft sind.
Konfigurationstyp für den neuen Perimeter auswählen
In diesem Abschnitt erstellen Sie einen VPC Service Controls-Dienstperimeter im Probelaufmodus. Im Probelaufmodus werden Verstöße gegen den Perimeter so protokolliert, als seien die Dienste geschützt, der Zugriff auf diese wird aber nicht verhindert. Es empfiehlt sich, den Probelaufmodus zu verwenden, bevor Sie zum erzwungenen Modus wechseln.
Klicken Sie im Navigationsmenü der Cloud de Confiance Console auf Sicherheit und dann auf VPC Service Controls.
Klicken Sie auf der Seite VPC Service Controls auf Probelaufmodus.
Klicken Sie auf Neuer Perimeter.
Geben Sie auf dem Tab Neuer VPC-Dienstperimeter im Feld Perimetername einen Namen für den Perimeter ein. Akzeptieren Sie andernfalls die Standardwerte.
Ein Perimetername darf maximal 50 Zeichen lang sein und muss mit einem Buchstaben beginnen. Er darf nur lateinische ASCII-Buchstaben (a–z, A–Z), Zahlen (0–9) oder Unterstriche (_) enthalten. Beim Perimeternamen wird zwischen Groß- und Kleinschreibung unterschieden und er muss innerhalb einer Zugriffsrichtlinie eindeutig sein.
Zu schützende Ressourcen auswählen
Klicken Sie auf Zu schützende Ressourcen.
So fügen Sie Projekte oder VPC-Netzwerke hinzu, die Sie im Perimeter sichern möchten:
Klicken Sie auf Ressourcen hinzufügen.
Wenn Sie dem Perimeter Projekte hinzufügen möchten, klicken Sie im Bereich Ressourcen hinzufügen auf Projekt hinzufügen.
Wenn Sie ein Projekt auswählen möchten, klicken Sie im Dialogfeld Projekte hinzufügen auf das Kästchen für das gewünschte Projekt. In dieser Referenzarchitektur wählen wir die folgenden Projekte aus:
infra-host-projectaiml-host-projectph-fm-svc-project
Klicken Sie auf Ausgewählte Ressourcen hinzufügen. Die hinzugefügten Projekte werden im Bereich Projekte angezeigt.
Eingeschränkte Dienste auswählen
In dieser Referenzarchitektur ist der Umfang der eingeschränkten APIs begrenzt. Es werden nur die für Gemini erforderlichen APIs aktiviert. Es empfiehlt sich jedoch, beim Erstellen eines Perimeters alle Dienste einzuschränken, um das Risiko der Daten-Exfiltration aus Cloud de Confiance by S3NS Diensten zu verringern.
So wählen Sie die Dienste aus, die innerhalb des Perimeters geschützt werden sollen:
Klicken Sie auf Eingeschränkte Dienste.
Klicken Sie im Bereich Eingeschränkte Dienste auf Dienste hinzufügen.
Wählen Sie im Dialogfeld Geben Sie Dienste an, die eingeschränkt werden sollen die Option Agent Platform API aus.
Klicken Sie auf Agent Platform API hinzufügen.
Optional: Über VPC zugängliche Dienste auswählen
Mit der Einstellung Über VPC zugängliche Dienste wird die Gruppe von Diensten eingeschränkt, die von Netzwerkendpunkten in Ihrem Dienstperimeter zugänglich sind. In dieser Referenzarchitektur behalten wir die Standardeinstellung Alle Dienste bei.
Optional: Zugriffsebene auswählen
Wenn Sie in einem früheren Abschnitt eine Zugriffsebene für den CIDR-Bereich des Unternehmens erstellt haben, gehen Sie so vor, um den Zugriff auf geschützte Ressourcen von außerhalb des Perimeters zuzulassen:
Klicken Sie auf Zugriffsebenen.
Klicken Sie auf das Kästchen Zugriffsebene auswählen.
Sie können zugängliche Dienste auch hinzufügen nachdem ein Perimeter erstellt wurde.
Klicken Sie das Kästchen für die Zugriffsebene an. In dieser Referenzarchitektur ist das
corp-public-block.
Richtlinien für ein- und ausgehenden Traffic
In dieser Referenzarchitektur müssen Sie im Bereich Richtlinie für eingehenden Traffic oder Richtlinie für ausgehenden Traffic keine Einstellungen angeben.
Perimeter erstellen
Nachdem Sie die vorherigen Konfigurationsschritte ausgeführt haben, erstellen Sie den Perimeter, indem Sie auf Perimeter erstellen klicken.
Netzwerkverbindung zwischen AWS und Google APIs konfigurieren
Private Service Connect für Google APIs konfigurieren
Die Verwendung von Private Service Connect für den Zugriff auf Google APIs ist eine Alternative zum privater Google-Zugriff oder zu den öffentlichen Domainnamen für Google APIs. In diesem Fall ist Google der Producer.
Mit Private Service Connect können Sie Folgendes tun:
- Eine oder mehrere interne IP-Adressen für den Zugriff auf Google APIs für verschiedene Anwendungsfälle erstellen.
- Lokalen Traffic beim Zugreifen auf Google APIs an bestimmte IP-Adressen und Regionen weiterleiten.
- Einen benutzerdefinierten DNS-Namen für den Endpunkt erstellen, der zum Auflösen von Google APIs verwendet wird.
In der Referenzarchitektur wird ein Private Service Connect-Endpunkt für Google APIs
namens restricted mit der IP-Adresse 10.10.10.3, mit
der Ziel-VPC-SC bereitgestellt. Er wird als virtuelle IP-Adresse (VIP) für den Zugriff auf eingeschränkte Dienste
verwendet, die im VPC-SC-Perimeter konfiguriert sind. Das Targeting auf nicht eingeschränkte Dienste mit der VIP wird nicht unterstützt. Weitere Informationen finden Sie unter
Zugriff auf die Agent Platform API Cloud de Confiance by S3NS.
AWS VPC-Netzwerk konfigurieren
Die Netzwerkverbindung zwischen Amazon Web Services (AWS) und Cloud de Confiance by S3NS wird über HA VPN-Tunnel (High-Availability Virtual Private Network) hergestellt. Diese sichere Verbindung ermöglicht die private Kommunikation zwischen den beiden Cloud-Umgebungen. Um jedoch ein nahtloses Routing und eine nahtlose Kommunikation zwischen Ressourcen in AWS und Cloud de Confiance by S3NSzu ermöglichen, wird das Border Gateway Protocol (BGP) verwendet.
In der Cloud de Confiance by S3NS Umgebung ist ein benutzerdefiniertes Route Advertisement erforderlich. Diese benutzerdefinierte Route bewirbt die IP-Adresse der Private Service Connect Google API speziell im AWS-Netzwerk. Durch das Bewerben dieser IP-Adresse kann AWS eine direkte Route zur Google API einrichten, das öffentliche Internet umgehen und die Leistung verbessern.
In der Referenzarchitektur wird eine Sagemaker-Instanz mit einer Verknüpfung zur AWS VPC bereitgestellt, in der das VPN eingerichtet ist Cloud de Confiance by S3NS. Das Border Gateway Protocol (BGP) wird verwendet, um Routen über HA VPN zwischen AWS und Cloud de Confiance by S3NS zu bewerben. Dadurch können Cloud de Confiance by S3NS und AWS bidirektionalen Traffic über VPN weiterleiten. Weitere Informationen zum Einrichten von HA VPN-Verbindungen finden Sie unter HA VPN-Verbindungen zwischen Cloud de Confiance by S3NS und AWS erstellen.
Route 53-Updates konfigurieren
Erstellen Sie in AWS Route 53 eine private gehostete Zone mit dem Namen p.googleapis.com und fügen Sie
den voll qualifizierten Domainnamen
REGION-aiplatform-restricted.p.googleapis.com mit
der IP-Adresse 10.10.10.3 (Private Service Connect Googleapis IP)
als DNS-A-Eintrag hinzu.
Wenn das Jupyter Notebook SDK eine DNS-Suche für die Agent Platform API durchführt, um Gemini zu erreichen, gibt Route 53 die IP-Adresse der Private Service Connect Google APIs zurück. Jupyter Notebook
verwendet die von Route 53 abgerufene IP-Adresse, um eine Verbindung zum
Private Service Connect Google APIs-Endpunkt herzustellen, der über
HA VPN in weitergeleitet wird Cloud de Confiance by S3NS.
Sagemaker-Updates konfigurieren
In dieser Referenzarchitektur werden Amazon SageMaker-Notebookinstanzen verwendet, um auf die Agent Platform API zuzugreifen. Sie können jedoch dieselbe Einrichtung mit anderen Compute-Diensten erreichen, die VPC unterstützen, z. B. Amazon EC2 oder AWS Lambda.
Zum Authentifizieren Ihrer Anfragen können Sie entweder einen Cloud de Confiance by S3NS Dienst kontoschlüssel oder die Identitätsföderation von Arbeitslasten verwenden. Informationen zum Einrichten der Identitätsföderation von Arbeitslasten finden Sie unter Lokal oder ein anderer Cloud-Anbieter.
Die Jupyter Notebook-Instanz ruft einen API-Aufruf an das in
Cloud de Confiance by S3NS gehostete Gemini-Modell auf, indem sie eine DNS-Auflösung für den benutzerdefinierten vollständig qualifizierten Domainnamen der Private Service Connect Google APIs
durchführt
REGION-aiplatform-restricted.p.googleapis.com und den
standardmäßigen vollständig qualifizierten Domainnamen
(REGION-aiplatform.googleapis.com) überschreibt.
Die Agent Platform API kann über REST, gRPC oder SDK aufgerufen werden. Wenn Sie den vollständig qualifizierten Domain namen des Private Service Connect-Kunden verwenden möchten, aktualisieren Sie API_ENDPOINT in Jupyter Notebook mit Folgendem:
Anleitung zur Verwendung des Agent Platform SDK für Python
Installieren Sie das SDK:
pip install --upgrade google-genaiImportieren Sie die Abhängigkeiten:
from google.cloud import genai from google.genai.types import ( GenerateContentConfig, HarmBlockThreshold, HarmCategory, Part, SafetySetting )Initialisieren Sie die folgenden Umgebungsvariablen:
PROJECT_ID="ph-fm-svc-projects" # Google Cloud Project ID LOCATION_ID="us-central1" # Enter Agent Platform Gemini region such as us-central1 API_ENDPOINT="https://us-central1-aiplatform-restricted.p.googleapis.com" # PSC Endpoint MODEL_ID="gemini-2.0-flash-001" # Gemini Model IDInitialisieren Sie das Agent Platform SDK für Python:
from google import genai client= genai.Client(vertexai=True, project=PROJECT_ID, location=LOCATION_ID, http_options={'base_url': API_ENDPOINT})Stellen Sie die folgende Anfrage an die Gemini API der Gemini Enterprise Agent Platform:
prompt = "which weighs more, 1kg feathers or 1kg stones" safety_settings = [ SafetySetting( category=HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT, threshold=HarmBlockThreshold.BLOCK_LOW_AND_ABOVE, ), SafetySetting( category=HarmCategory.HARM_CATEGORY_HARASSMENT, threshold=HarmBlockThreshold.BLOCK_LOW_AND_ABOVE, ), SafetySetting( category=HarmCategory.HARM_CATEGORY_HATE_SPEECH, threshold=HarmBlockThreshold.BLOCK_LOW_AND_ABOVE, ), SafetySetting( category=HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT, threshold=HarmBlockThreshold.BLOCK_LOW_AND_ABOVE, ), ] response = client.models.generate_content( model=MODEL_ID, contents=prompt, config=GenerateContentConfig( safety_settings=safety_settings, ), ) # Response will be `None` if it is blocked. print(response.text)An diesem Punkt können Sie einen API-Aufruf an Gemini von Jupyter Notebook aus durchführen, um auf Gemini zuzugreifen, das in gehostet wird Cloud de Confiance by S3NS. Wenn der Aufruf erfolgreich ist, sieht die Ausgabe so aus:
They weigh the same. Both weigh 1 kilogram.
Anleitung zur Verwendung der Gemini Enterprise Agent Platform REST API
In diesem Abschnitt richten Sie einige wichtige Variablen ein, die im gesamten Prozess verwendet werden. In diesen Variablen werden Informationen zu Ihrem Projekt, dem Standort Ihrer Ressourcen, dem spezifischen Gemini-Modell und dem zu verwendenden PSC-Endpunkt gespeichert. Öffnen Sie ein Terminalfenster in einem JupyterLab-Notebook, um die folgenden Befehle auszuführen:
Öffnen Sie ein Terminalfenster in einem Jupyter-Notebook.
Initialisieren Sie die folgenden Umgebungsvariablen:
export PROJECT_ID="ph-fm-svc-projects" export LOCATION_ID="us-central1" export API_ENDPOINT="us-central1-aiplatform-restricted.p.googleapis.com" export MODEL_ID="gemini-1.5-flash-002"Erstellen Sie mit einem Texteditor wie
vimodernanoeine neue Datei namensrequest.json, die die folgende formatierte Anfrage für die Gemini API der Gemini Enterprise Agent Platform enthält:{ "contents": [ { "role": "user", "parts": [ { "text": "which weighs more, 1kg feathers or 1kg stones" } ] } ], "generationConfig": { "temperature": 1, "maxOutputTokens": 8192, "topP": 0.95, "seed": 0 }, "safetySettings": [ { "category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "OFF" }, { "category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "OFF" }, { "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "OFF" }, { "category": "HARM_CATEGORY_HARASSMENT", "threshold": "OFF" } ] }Stellen Sie die folgende curl-Anfrage an die Gemini API der Gemini Enterprise Agent Platform:
curl -v \ -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://$API_ENDPOINT/v1/projects/$PROJECT_ID/locations/$LOCATION_ID/publishers/google/models/$MODEL_ID:streamGenerateContent" -d '@request.json'
Perimeter im Probelaufmodus validieren
In dieser Referenzarchitektur ist der Dienstperimeter im Probelaufmodus konfiguriert. So können Sie die Auswirkungen der Zugriffsrichtlinie ohne Erzwingung testen. Das bedeutet, dass Sie sehen können, wie sich Ihre Richtlinien auf Ihre Umgebung auswirken würden, wenn sie aktiv wären, ohne dass legitimer Traffic unterbrochen wird.
Nachdem Sie Ihren Perimeter im Probelaufmodus validiert haben, wechseln Sie zum erzwungenen Modus.
Nächste Schritte
- Informationen zur Verwendung von DNS-Namen
p.googleapis.com - Informationen zum Validieren Ihres Perimeters im Probelaufmodus finden Sie im Video VPC Service Controls dry run logging.
- Informationen zur Verwendung der Gemini Enterprise Agent Platform REST API
- Weitere Informationen zur Verwendung des Agent Platform SDK für Python.