Standardmäßig verschlüsselt Google Cloud Daten im inaktiven Zustand automatisch mit von Google verwalteten Verschlüsselungsschlüsseln. Wenn Sie bestimmte Compliance- oder behördlichen Anforderungen in Bezug auf die Schlüssel zum Schutz Ihrer Daten haben, können Sie für Ihre Ressourcen vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) verwenden.
Weitere Informationen zu den spezifischen Vorteilen von CMEK mit Vertex AI-Ressourcen finden Sie im folgenden Abschnitt dieses Leitfadens. Weitere allgemeine Informationen zu CMEK einschließlich ihrer Aktivierung finden Sie in der Dokumentation zum Cloud Key Management Service.
In diesem Leitfaden werden verschiedene Vorteile von CMEK für Vertex AI-Ressourcen beschrieben. Außerdem wird erläutert, wie Sie einen Trainingsjob für CMEK konfigurieren.
CMEK für Vertex AI-Ressourcen
In den folgenden Abschnitten erhalten Sie grundlegende Informationen zu CMEK für Vertex AI-Ressourcen, die Voraussetzung für das Konfigurieren von CMEK für Ihre Jobs sind.
Vorteile von CMEK
Im Allgemeinen sind CMEK am nützlichsten, wenn Sie vollständige Kontrolle über die Schlüssel benötigen, die zum Verschlüsseln Ihrer Daten verwendet werden. Mit CMEK können Sie Ihre Schlüssel in Cloud KMS verwalten. Sie haben beispielsweise die Möglichkeit, einen Schlüssel zu rotieren oder zu deaktivieren oder einen Rotationsplan mit der Cloud KMS API einzurichten. Weitere Informationen zu CMEK und deren Aktivierung finden Sie in der Cloud KMS-Dokumentation.
Wenn Sie einen AutoML- oder benutzerdefinierten Trainingsjob ausführen, wird Ihr Code auf einer oder mehreren VM-Instanzen ausgeführt, die von Vertex AI verwaltet werden. Beim Aktivieren von CMEK für Vertex AI-Ressourcen wird der von Ihnen festgelegte Schlüssel anstelle eines von Google verwalteten Schlüssels zum Verschlüsseln von Daten auf den Bootlaufwerken dieser VMs verwendet. Der CMEK-Schlüssel verschlüsselt die folgenden Arten von Daten:
- Die Kopie Ihres Codes auf den VMs.
- Alle Daten, die von Ihrem Code geladen werden.
- Alle temporären Daten, die durch den Code auf dem lokalen Laufwerk gespeichert werden.
- Von AutoML trainierte Modelle.
- Mediendateien (Daten), die in Medien-Datasets hochgeladen wurden.
Im Allgemeinen verschlüsselt der CMEK-Schlüssel keine Metadaten, die mit Ihrem Vorgang verknüpft sind, z. B. den Namen und die Region des Jobs oder den Anzeigenamen eines Datasets. Mit Vorgängen verknüpfte Metadaten werden immer mit dem Standardverschlüsselungsmechanismus von Google verschlüsselt.
Wenn ein Nutzer bei Datasets Daten in ein Dataset importiert, werden die Datenelemente und Annotationen mit CMEK verschlüsselt. Der Anzeigename des Datasets ist nicht mit CMEK verschlüsselt.
Bei Modellen sind die im Speichersystem (z. B. Laufwerk) gespeicherten Modelle CMEK-verschlüsselt. Alle Modellbewertungsergebnisse sind CMEK-verschlüsselt.
Bei Endpunkten sind alle Modelldateien, die für die Modellbereitstellung unter dem Endpunkt verwendet werden, mit CMEK verschlüsselt. Dies schließt keine Daten im Arbeitsspeicher ein.
Für die Batchvorhersage sind temporäre Dateien (z. B. Modelldateien, Logs, VM-Laufwerke), die zur Ausführung des Batchvorhersagejobs verwendet werden, mit CMEK verschlüsselt. Ergebnisse der Batchvorhersage werden im vom Nutzer angegebenen Ziel gespeichert. Deshalb berücksichtigt Vertex AI den Standardwert der Verschlüsselungskonfiguration des Ziels. Andernfalls werden die Ergebnisse auch mit CMEK verschlüsselt.
Für das Daten-Labeling sind alle Eingabedateien (Bild, Text, Video, Tabellarisch), temporäre Diskussionen (z. B. Fragen, Feedback) und die Ausgabe (Labeling-Ergebnis) CMEK-verschlüsselt. Die Anzeigenamen der Annotationsspezifikation sind nicht mit CMEK verschlüsselt.
Externe Schlüssel
Mit Cloud External Key Manager (Cloud EKM) können Sie von Ihnen verwaltete externe Schlüssel erstellen, um Daten in Google Cloud zu verschlüsseln.
Wenn Sie einen Cloud EKM-Schlüssel verwenden, hat Google keine Kontrolle über die Verfügbarkeit Ihres extern verwalteten Schlüssels. Wenn Sie Zugriff auf eine Ressource anfordern, die mit einem extern verwalteten Schlüssel verschlüsselt ist, und der Schlüssel nicht verfügbar ist, lehnt Vertex AI die Anfrage ab. Es kann bis zu 10 Minuten dauern, bis Sie auf die Ressource zugreifen können, sobald der Schlüssel verfügbar ist.
Weitere Überlegungen zur Verwendung externer Schlüssel finden Sie unter Cloud External Key Manager.
CMEK mit anderen Google Cloud-Produkten verwenden
Durch die Konfiguration von CMEK für Vertex AI-Ressourcen wird CMEK nicht automatisch für andere Google Cloud-Produkte konfiguriert, die Sie zusammen mit Vertex AI verwenden. Zur Verschlüsselung von Daten in anderen Google Cloud-Produkten mit CMEK ist eine zusätzliche Konfiguration erforderlich. Beispiel:
Cloud Storage: Wenn Sie ein benutzerdefiniertes Training durchführen, lädt Vertex AI Ihre Daten in der Regel aus Cloud Storage. Wenn Sie eine Python-Trainingsanwendung und einen vordefinierten Container für das Training verwenden, lädt Vertex AI auch Ihren Code aus einem Cloud Storage-Bucket. Darüber hinaus werden bei den meisten Trainingsjobs trainierte Modellartefakte wie ein TensorFlow SaveModel-Verzeichnis als Teil der Ausgabe in einen Cloud Storage-Bucket exportiert.
Informationen zur Verschlüsselung Ihrer Daten in Cloud Storage mit CMEK finden Sie im Cloud Storage-Leitfaden zur Verwendung von vom Kunden verwalteten Verschlüsselungsschlüsseln. Sie können Ihren Verschlüsselungsschlüssel als Standardschlüssel für die Cloud Storage-Buckets festlegen, die Sie mit Vertex AI verwenden, oder damit bestimmte Objekte verschlüsseln.
Weitere Informationen zur Verwendung von CMEK in Cloud Storage
Artifact Registry: Wenn Sie einen benutzerdefinierten Container für das Training verwenden, können Sie Vertex AI so konfigurieren, dass Ihr Container-Image aus Artifact Registry geladen wird.
Informationen zur Verschlüsselung Ihres Container-Images mit CMEK finden Sie im Artifact Registry-Leitfaden zu CMEK.
Cloud Logging: Wenn Sie einen Trainingsjob ausführen, speichert Vertex AI Training-Logs in Logging. Informationen zum Verschlüsseln dieser Logs mit CMEK finden Sie unter CMEK für Cloud Logging konfigurieren.
Aktuelle von CMEK unterstützte Ressourcen
Die aktuellen, von CMEK unterstützten Vertex AI-Ressourcen sind: Die CMEK-Unterstützung für Vorschau-Features ist auch im Vorschaustatus.
Ressource | Verschlüsseltes Material | Links zur Dokumentation |
---|---|---|
Dataset |
|
|
Modell |
|
|
Endpunkt |
|
|
CustomJob (schließt Ressourcen aus, die eine TPU-VM verwenden) |
|
|
HyperparameterTuningJob (schließt Ressourcen aus, die eine TPU-VM verwenden) |
|
|
TrainingPipeline (schließt Ressourcen aus, die eine TPU-VM verwenden) |
|
|
BatchPredictionJob (ohne AutoML-Bild-batchPrediction) |
|
|
ModelDeploymentMonitoringJob |
|
|
PipelineJob |
|
|
Metadatenspeicher |
|
|
TensorBoard |
|
|
Feature Store |
|
CMEK-Unterstützung für generative KI-Abstimmungspipelines
CMEK wird in der Abstimmungspipeline der folgenden Modelle bereitgestellt:
text-bison for PaLM 2
(GPU)BERT
T5
image-generation (GPU)
Beschränkungen
CMEK wird in den folgenden Fällen nicht unterstützt:
- Batchvorhersage für AutoML-Bildmodell (
BatchPredictionJob
) - TPU-Abstimmung
CMEK für Ihre Ressourcen konfigurieren
In den folgenden Abschnitten wird beschrieben, wie Sie einen Schlüsselbund und einen Schlüssel in Cloud Key Management Service erstellen, Vertex AI-Berechtigungen zum Verschlüsseln und Entschlüsseln für Ihren Schlüssel gewähren und Ressourcen erstellen, die CMEK verwenden.
Hinweis
In diesem Leitfaden wird davon ausgegangen, dass Sie zwei separate Google Cloud-Projekte verwenden, um CMEK für Vertex AI-Daten zu konfigurieren:
- Ein Projekt zur Verwaltung Ihres Verschlüsselungsschlüssels, das als "Cloud KMS-Projekt" bezeichnet wird.
- Ein Projekt für den Zugriff auf Vertex AI-Daten oder Ausgaben in Cloud Storage und die Interaktion mit anderen Google Cloud-Produkten, die Sie für Ihren Anwendungsfall benötigen (als "AI Platform-Projekt" bezeichnet).
Diese empfohlene Einrichtung unterstützt eine Aufgabentrennung.
Alternativ können Sie für den gesamten Leitfaden ein einzelnes Google Cloud-Projekt verwenden. Nutzen Sie dazu dasselbe Projekt für alle folgenden Aufgaben, die sich auf das Cloud KMS-Projekt beziehen, und die Aufgaben, die sich auf das AI Platform-Projekt beziehen.
Cloud KMS-Projekt einrichten
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud KMS API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud KMS API.
AI Platform-Projekt einrichten
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
Google Cloud CLI einrichten
Die gcloud CLI ist für einige Schritte in diesem Leitfaden erforderlich und für andere optional.Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Schlüsselbund und Schlüssel erstellen
Folgen Sie dem Cloud KMS-Leitfaden zum Erstellen von synchronen Schlüsseln, um einen Schlüsselbund und einen Schlüssel zu erstellen. Geben Sie beim Erstellen des Schlüsselbunds als Standort des Schlüsselbunds eine Region an, die Vertex AI-Vorgänge unterstützt. Das Vertex AI-Training unterstützt CMEK nur, wenn Ihre Ressource und Ihr Schlüssel dieselbe Region verwenden. Sie dürfen keinen dual-regionalen, multiregionalen oder globalen Standort für Ihren Schlüsselbund angeben.
Achten Sie darauf, Schlüsselbund und Schlüssel in Ihrem Cloud KMS-Projekt zu erstellen.
Vertex AI-Berechtigungen erteilen
Wenn Sie CMEK für Ihre Ressourcen verwenden möchten, müssen Sie Vertex AI die Berechtigung gewähren, Daten mit Ihrem Schlüssel zu verschlüsseln und zu entschlüsseln. Vertex AI verwendet einen von Google verwalteten Dienst-Agent, um Vorgänge mit Ihren Ressourcen auszuführen. Dieses Dienstkonto wird durch eine E-Mail-Adresse im folgenden Format identifiziert:
service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com
Das Dienstkonto für Ihr AI Platform-Projekt finden Sie in der Google Cloud Console auf der Seite IAM. Suchen Sie das Mitglied mit diesem E-Mail-Adressformat, wobei die Variable AI_PLATFORM_PROJECT_NUMBER der Projektnummer Ihres AI Platform-Projekts entspricht. Das Dienstkonto hat auch den Namen Vertex AI Service Agent
.
Notieren Sie sich die E-Mail-Adresse für dieses Dienstkonto und erteilen Sie ihm in den folgenden Schritten die Berechtigung, Daten mit Ihrem Schlüssel zu verschlüsseln und zu entschlüsseln. Sie können die Berechtigung mithilfe der Google Cloud Console oder mithilfe der Google Cloud CLI gewähren:
Google Cloud Console
Klicken Sie in der Google Cloud Console auf Sicherheit und wählen Sie Schlüsselverwaltung aus. Dadurch gelangen Sie zur Seite Kryptografische Schlüssel und wählen Ihr Cloud KMS-Projekt aus.
Klicken Sie auf den Namen des Schlüsselbunds, den Sie in einem vorherigen Abschnitt dieses Leitfadens erstellt haben, um zur Seite Schlüsselbunddetails zu gelangen.
Klicken Sie auf das Kästchen für den Schlüssel, den Sie in einem der vorherigen Abschnitte dieses Leitfadens erstellt haben. Wenn ein Infofeld mit dem Namen Ihres Schlüssels noch nicht geöffnet ist, klicken Sie auf Infofeld ansehen.
Klicken Sie im Infobereich auf
Mitglied hinzufügen, um das Dialogfeld KEY_NAME Mitglieder zu hinzufügen zu öffnen. Führen Sie in diesem Dialogfeld folgende Schritte aus:- Geben Sie im Feld Neue Mitglieder die E-Mail-Adresse des Dienstkontos ein, die Sie im vorherigen Abschnitt notiert haben:
service-AI_PLATFORM_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com
Klicken Sie in der Drop-down-Liste Rolle auswählen auf Cloud KMS und wählen Sie dann die Rolle Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler aus.
Klicken Sie auf Speichern.
- Geben Sie im Feld Neue Mitglieder die E-Mail-Adresse des Dienstkontos ein, die Sie im vorherigen Abschnitt notiert haben:
gcloud
Führen Sie diesen Befehl aus:
gcloud kms keys add-iam-policy-binding KEY_NAME \
--keyring=KEY_RING_NAME \
--location=REGION \
--project=KMS_PROJECT_ID \
--member=serviceAccount:service-AI_PLATFORM_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Ersetzen Sie in diesem Befehl die folgenden Platzhalter:
- KEY_NAME: Name des Schlüssels, den Sie in diesem Abschnitt des Leitfadens erstellt haben.
- KEY_RING_NAME: Schlüsselbund, den Sie in diesem Abschnitt des Leitfadens erstellt haben.
- REGION: Region, in der Sie Ihren Schlüsselbund erstellt haben.
- KMS_PROJECT_ID: ID Ihres Cloud KMS-Projekts.
- AI_PLATFORM_PROJECT_NUMBER: Projektnummer Ihres AI Platform-Projekts, die Sie im vorherigen Abschnitt als Teil der E-Mail-Adresse eines Dienstkontos notiert haben.
Ressourcen mit dem KMS-Schlüssel erstellen
Wenn Sie eine neue von CMEK unterstützte Ressource erstellen, können Sie Ihren Schlüssel als einen der Erstellungsparameter angeben.
Console
Wenn Sie im Vertex AI-Bereich der Google Cloud Console eine neue von CMEK unterstützte Ressource erstellen, können Sie den Schlüssel im Abschnitt für allgemeine oder erweiterte Optionen auswählen:
REST UND BEFEHLSZEILE
Wenn Sie eine unterstützte Ressource erstellen, fügen Sie der Anfrage ein encryptionSpec
-Objekt hinzu und legen Sie das Feld encryptionSpec.kmsKeyName
so fest, dass es auf Ihre Schlüsselressource verweist.
Wenn Sie beispielsweise eine Ressource dataset
erstellen, geben Sie Ihren Schlüssel im Anfragetext an:
{
"displayName": DATASET_NAME,
"metadataSchemaUri": METADATA_URI,
"encryptionSpec": {
"kmsKeyName": "projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME"
}
}
Java
Wenn Sie eine unterstützte Ressource erstellen, setzen Sie die EncryptionSpec
so fest, dass sie auf Ihre Schlüsselressource verweist. Weitere Informationen finden Sie in der Dokumentation zur Vertex AI-Clientbibliothek für Java.
Node.js
Wenn Sie eine unterstützte Ressource erstellen, legen Sie den Parameter encryptionSpec
so fest, dass er auf Ihre Schlüsselressource verweist. Weitere Informationen finden Sie in der Dokumentation zur Vertex AI-Clientbibliothek für Node.js.
Python
Wenn Sie eine unterstützte Ressource erstellen, legen Sie den Parameter encryption_spec
so fest, dass er auf Ihre Schlüsselressource verweist. Weitere Informationen finden Sie in der Dokumentation zum Python-Client für Cloud AI Platform.
Nächste Schritte
- Vom Kunden verwaltete Verschlüsselungsschlüssel (Customer Managed Encryption Keys, CMEK)
- CMEK mit anderen Google Cloud-Produkten verwenden