In Cloud Data Fusion werden inaktive Kundeninhalte standardmäßig verschlüsselt. Die Verschlüsselung wird von Cloud Data Fusion durchgeführt. Zusätzliche Maßnahmen Ihrerseits sind nicht erforderlich. Diese Option wird Google-Standardverschlüsselung genannt.
Wenn Sie Ihre Verschlüsselungsschlüssel selbst verwalten möchten, können Sie vom Kunden verwaltete Verschlüsselungsschlüssel (CMEKs, Customer-Managed Encryption Keys) in Cloud KMS mit CMEK-integrierten Diensten wie Cloud Data Fusion verwenden. Mit Cloud KMS-Schlüsseln haben Sie die Kontrolle über Schutzlevel, Speicherort, Rotationszeitplan, Nutzungs- und Zugriffsberechtigungen sowie über kryptografische Grenzen. Mit Cloud KMS können Sie außerdem die Schlüsselnutzung im Blick behalten, Audit-Logs aufrufen und den Lebenszyklus von Schlüsseln steuern. Statt es Google zu überlassen und zu verwalten, das die symmetrischen Schlüsselverschlüsselungsschlüssel (Key Encryption Keys, KEKs) zum Schutz Ihrer Daten enthält, können Sie diese auch über Cloud KMS steuern und verwalten.
Nachdem Sie Ihre Ressourcen mit CMEKs eingerichtet haben, ähnelt der Zugriff auf Ihre Cloud Data Fusion-Ressourcen der Verwendung der Google-Standardverschlüsselung. Weitere Informationen zu den Verschlüsselungsoptionen finden Sie unter Vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK).
Cloud Data Fusion unterstützt die Erfassung der Verwendung von Cloud KMS-Schlüsseln für die Instance
-Ressource.
Mit CMEK können Sie die Daten steuern, die in internen Google-Ressourcen in Mandantenprojekten und in Cloud Data Fusion-Pipelines geschrieben werden. Dazu gehören:
- Pipelinelogs und -metadaten
- Metadaten des Dataproc-Clusters
- Verschiedene Datensenken, Aktionen und Quellen von Cloud Storage, BigQuery, Pub/Sub und Spanner
Cloud Data Fusion-Ressourcen
Eine Liste der Cloud Data Fusion-Plug-ins, die CMEK unterstützen, finden Sie unter Unterstützte Plug-ins.
Cloud Data Fusion unterstützt CMEK für Dataproc-Cluster. Cloud Data Fusion erstellt einen temporären Dataproc-Cluster zur Verwendung in der Pipeline und löscht den Cluster, wenn die Pipeline abgeschlossen ist. CMEK schützt die Clustermetadaten, die in Folgendes geschrieben werden:
- Nichtflüchtige Speicher (PD), die an Cluster-VMs angehängt sind
- Job-Treiberausgabe und andere Metadaten, die in den automatisch erstellten oder vom Nutzer erstellten Dataproc-Staging-Bucket geschrieben werden
CMEK einrichten
Cloud KMS-Schlüssel erstellen
Erstellen Sie einen Cloud KMS-Schlüssel im Google Cloud -Projekt, das die Cloud Data Fusion-Instanz enthält, oder in einem separaten Nutzerprojekt. Der Speicherort des Cloud KMS-Schlüsselbunds muss mit der Region übereinstimmen, in der Sie die Instanz erstellen. Ein Schlüssel mit mehreren Regionen oder globaler Region ist auf Instanzebene nicht zulässig, da Cloud Data Fusion immer mit einer bestimmten Region verknüpft ist.
Ressourcennamen für den Schlüssel abrufen
REST API
Rufen Sie den Ressourcennamen des Schlüssels ab, den Sie mit dem folgenden Befehl erstellt haben:
projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Dabei gilt:
- PROJECT_ID ist das Kundenprojekt, das die Cloud Data Fusion-Instanz hostet
- REGION ist eine Google Cloud-Region, die sich in der Nähe Ihres Standorts befindet, z. B.
us-east1
- KEY_RING_NAME ist der Name des Schlüsselbunds, in dem die kryptografischen Schlüssel gruppiert werden
- KEY_NAME ist der Cloud KMS-Schlüsselname
Console
Rufen Sie die Seite Schlüsselverwaltung auf.
Klicken Sie neben Ihrem Schlüssel auf Mehr
.Wählen Sie Ressourcenname kopieren aus, um den Ressourcennamen in die Zwischenablage zu kopieren.
Dienstkonten Ihres Projekts zur Verwendung des Schlüssels aktualisieren
Richten Sie die Dienstkonten Ihres Projekts zur Verwendung Ihres Schlüssels ein:
Erforderlich: Weisen Sie dem Cloud Data Fusion-Dienst-Agent die Rolle „Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler“ (
roles/cloudkms.cryptoKeyEncrypterDecrypter
) zu (siehe Einem Dienstkonto Rollen für bestimmte Ressourcen zuweisen). Dieses Konto hat folgendes Format:service-PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com
Wenn Sie dem Cloud Data Fusion-Dienst-Agent die Rolle „Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler” zuweisen, kann Cloud Data Fusion mithilfe von CMEK alle Kundendaten in Mandantenprojekten verschlüsseln.
Erforderlich: Weisen Sie dem Compute Engine-Dienst-Agent die Rolle „Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler” zu (siehe Cloud KMS-Schlüssel einem Cloud Storage-Dienstkonto zuweisen). Diesem Konto wird standardmäßig die Compute Engine-Dienst-Agent-Rolle in dieser Form zugewiesen:
service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
Wenn Sie dem Compute Engine-Dienst-Agent die Rolle „Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler” zuweisen, kann Cloud Data Fusion mithilfe von CMEK PD-Metadaten (persistent disk, nichtflüchtiger Speicher) verschlüsseln, die vom Dataproc-Cluster geschrieben wurden, welche in Ihrer Pipeline ausgeführt werden.
Erforderlich: Gewähren Sie die Rolle „Cloud KMS CryptoKey Verschlüsseler-/Entschlüsseler“ dem Cloud Storage-Dienst-Agent (siehe Cloud Storage-Dienst-Agent einen Cloud KMS-Schlüssel zuweisen). Dieser Dienst-Agent hat das folgende Format:
service-PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.com
Wenn Sie dem Cloud Storage-Dienstkonto die Rolle „Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler” zuweisen, kann Cloud Data Fusion mithilfe von CMEK Daten verschlüsseln, die in den Staging-Bucket des Dataproc-Clusters und alle anderen von Ihrer Pipeline verwendeten Cloud Storage-Ressourcen geschrieben wurden.
Erforderlich: Weisen Sie dem Google Cloud Dataproc-Dienst-Agent die Rolle „Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler“ zu. Dieser Dienst-Agent hat das folgende Format:
service-PROJECT_NUMBER@dataproc-accounts.iam.gserviceaccount.com
Optional: Wenn Ihre Pipeline BigQuery-Ressourcen verwendet, gewähren Sie die Rolle „Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler” an das BigQuery-Dienstkonto (siehe Verschlüsselungs- und Entschlüsselungsberechtigungen gewähren). Dieses Konto hat das folgende Format:
bq-PROJECT_NUMBER@bigquery-encryption.iam.gserviceaccount.com
Optional: Wenn Ihre Pipeline Pub/Sub-Ressourcen verwendet, weisen Sie dem Pub/Sub-Dienstkonto die Rolle „Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler” zu (siehe Vom Kunden verwaltete Verschlüsselungsschlüssel verwenden). Dieses Konto hat das folgende Format:
service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com
Optional: Wenn Ihre Pipeline Spanner-Ressourcen verwendet, weisen Sie dem Spanner-Dienstkonto die Rolle „Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler” zu. Dieses Konto hat das folgende Format:
service-PROJECT_NUMBER@gcp-sa-spanner.iam.gserviceaccount.com
Cloud Data Fusion-Instanz mit CMEK erstellen
CMEK sind in allen Versionen von Cloud Data Fusion ab Version 6.5.0 verfügbar.
REST API
Legen Sie die folgenden Umgebungsvariablen fest, um eine Instanz mit einem vom Kunden verwalteten Verschlüsselungsschlüssel zu erstellen:
export PROJECT=PROJECT_ID export LOCATION=REGION export INSTANCE=INSTANCE_ID export DATA_FUSION_API_NAME=datafusion.googleapis.com export KEY=KEY_NAME
Ersetzen Sie Folgendes:
- PROJECT_ID: das Kundenprojekt, das die Cloud Data Fusion-Instanz hostet
- REGION: Eine Google Cloud Region, die sich in der Nähe Ihres Standorts befindet, z. B.
us-east1
- INSTANCE_ID ist der Name der Cloud Data Fusion-Instanz
- KEY_NAME ist der vollständige Ressourcenname des CMEK-Schlüssels
Führen Sie den folgenden Befehl aus, um eine Cloud Data Fusion-Instanz zu erstellen:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://$DATA_FUSION_API_NAME/v1/projects/$PROJECT/locations/$LOCATION/instances?instance_id=INSTANCE -X POST -d '{"description": "CMEK-enabled CDF instance created through REST.", "type": "BASIC", "cryptoKeyConfig": {"key_reference": "$KEY"} }'
Console
Rufen Sie die Seite „Cloud Data Fusion“ auf.
Klicken Sie auf Instanzen und dann auf Instanz erstellen.
Wählen Sie unter Erweiterte Optionen die Option Vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) verwenden aus.
Wählen Sie im Feld Vom Kunden verwalteten Schlüssel auswählen den Ressourcennamen des Schlüssels aus.
Klicken Sie auf Erstellen, nachdem Sie alle Instanzdetails eingegeben haben. Sobald die Instanz einsatzbereit ist, wird sie auf der Seite Instanzen angezeigt.
Prüfen, ob CMEK für eine Instanz aktiviert ist
Console
Rufen Sie die Instanzdetails auf:
Rufen Sie in der Google Cloud Console die Seite „Cloud Data Fusion“ auf.
Klicken Sie auf Instanzen und dann auf den Namen der Instanz, um die Seite Instanzdetails aufzurufen.
Wenn CMEK aktiviert ist, wird im Feld Verschlüsselungsschlüssel Verfügbar angezeigt.
Wenn CMEK deaktiviert ist, wird im Feld Verschlüsselungsschlüssel Nicht verfügbar angezeigt.
CMEK mit unterstützten Plug-ins verwenden
Verwenden Sie das folgende Format, wenn Sie den Namen des Verschlüsselungsschlüssels festlegen:
projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
In der folgenden Tabelle wird das Verhalten des Schlüssels in den Cloud Data Fusion-Plug-ins beschrieben, die CMEK unterstützen.
Unterstützte Plug-ins | Verhalten des Schlüssels |
---|---|
Cloud Data Fusion-Senken: | |
Cloud Storage | Verschlüsselt Daten, die in jeden vom Plug-in erstellten Bucket geschrieben wurden. Wenn der Bucket bereits vorhanden ist, wird dieser Wert ignoriert. |
Cloud Storage multi-file | Verschlüsselt Daten, die in jeden vom Plug-in erstellten Bucket geschrieben wurden. |
BigQuery | Verschlüsselung von Daten, die in beliebige vom Plug-in erstellte Buckets, Datasets oder Tabellen geschrieben werden. |
BigQuery-Multi-Tabelle | Verschlüsselung von Daten, die in beliebige vom Plug-in erstellte Buckets, Datasets oder Tabellen geschrieben werden. |
Pub/Sub | Verschlüsselt Daten, die in beliebige vom Plug-in erstellte Themen geschrieben wurden. Wenn das Thema bereits vorhanden ist, wird dieser Wert ignoriert. |
Spanner | Verschlüsselung von Daten, die in eine vom Plug-in erstellte Datenbank geschrieben werden. Wenn die Datenbank bereits vorhanden ist, wird dieser Wert ignoriert. |
Cloud Data Fusion-Aktionen: | |
Cloud Storage erstellen Cloud Storage kopieren Cloud Storage verschieben Dateimarkierung für Cloud Storage abgeschlossen |
Verschlüsselt Daten, die in jeden vom Plug-in erstellten Bucket geschrieben wurden. Wenn der Bucket bereits vorhanden ist, wird dieser Wert ignoriert. |
BigQuery Execute | Verschlüsselt Daten, die in das Dataset oder die Tabelle geschrieben werden, die das Plug-in zum Speichern der Abfrageergebnisse erstellt. Sie ist nur anwendbar, wenn Sie die Abfrageergebnisse in einer BigQuery-Tabelle speichern. |
Cloud Data Fusion-Quellen | |
BigQuery Source | Verschlüsselt Daten, die in jeden vom Plug-in erstellten Bucket geschrieben wurden. Wenn der Bucket bereits vorhanden ist, wird dieser Wert ignoriert. |
Cloud Data Fusion-SQL-Engine | |
BigQuery Pushdown Engine | Verschlüsselung von Daten, die in beliebige vom Plug-in erstellte Buckets, Datasets oder Tabellen geschrieben werden. |
CMEK mit Metadaten des Dataproc-Clusters verwenden
Die vorab erstellten Compute-Profile verwenden den CMEK-Schlüssel, der während der Instanzerstellung bereitgestellt wurde, um den nichtflüchtigen Speicher (PD) und die Staging-Bucket-Metadaten zu verschlüsseln, die vom ausgeführten Dataproc-Cluster geschrieben wurden, der in Ihrer Pipeline ausgeführt wird. Sie können einen anderen Schlüssel mithilfe von einem der folgenden Schritte ändern:
- Empfohlen: Erstellen Sie ein neues Dataproc-Berechnungsprofil (nur Enterprise Edition).
- Bearbeiten Sie ein vorhandenes Dataproc-Berechnungsprofil (Version Developer, Basic oder Enterprise).
Console
Öffnen Sie die Cloud Data Fusion-Instanz:
Rufen Sie in der Google Cloud Console die Seite „Cloud Data Fusion“ auf.
Wenn Sie die Instanz in Cloud Data Fusion Studio öffnen möchten, klicken Sie auf Instanzen und dann auf Instanz anzeigen.
Klicken Sie auf Systemadministrator > Konfiguration.
Klicken Sie auf das Drop-down-Menü System Compute-Profiles.
Klicken Sie auf Neues Profil erstellen und wählen Sie Dataproc aus.
Geben Sie ein Profillabel, einen Profilnamen und eine Beschreibung ein.
Standardmäßig erstellt Dataproc Staging- und Temp-Buckets, wenn von Cloud Data Fusion ein sitzungsspezifischer Cluster erstellt wird. Cloud Data Fusion unterstützt das Übergeben des Dataproc-Staging-Buckets als Argument im Compute-Profil. Wenn Sie den Staging-Bucket verschlüsseln möchten, erstellen Sie einen CMEK-fähigen Bucket und übergeben Sie ihn im Compute-Profil als Argument an Dataproc.
Standardmäßig erstellt Cloud Data Fusion automatisch einen Cloud Storage-Bucket, um Abhängigkeiten zu verwalten, die von Dataproc verwendet werden. Wenn Sie einen Cloud Storage-Bucket verwenden möchten, der bereits in Ihrem Projekt vorhanden ist, gehen Sie so vor:
Geben Sie im Abschnitt Allgemeine Einstellungen Ihren vorhandenen Cloud Storage-Bucket in das Feld Cloud Storage-Bucket ein.
Fügen Sie Ihren Cloud KMS-Schlüssel dem Cloud Storage-Bucket hinzu.
Rufen Sie die Ressourcen-ID Ihres Cloud KMS-Schlüssels ab. Geben Sie im Abschnitt Allgemeine Einstellungen Ihre Ressourcen-ID in das Feld Name des Verschlüsselungsschlüssels ein.
Klicken Sie auf Erstellen.
Wenn im Abschnitt System Compute-Profile auf dem Tab Konfiguration mehrere Profile aufgeführt sind, legen Sie das neue Profil als Standardprofil fest, indem Sie den Zeiger über dem Feld für den Profilnamen halten und auf den angezeigten Stern klicken.
CMEK mit anderen Ressourcen verwenden
Der bereitgestellte CMEK-Schlüssel wird während der Erstellung der Cloud Data Fusion-Instanz auf die Systemeinstellung festgelegt. Er wird verwendet, um Daten zu verschlüsseln, die in Pipeline-Senken wie Cloud Storage-, BigQuery-, Pub/Sub- oder Spanner-Senken in neu erstellte Ressourcen geschrieben werden.
Dieser Schlüssel gilt nur für neu erstellte Ressourcen. Wenn die Ressource bereits vor der Pipelineausführung vorhanden ist, sollten Sie den CMEK-Schlüssel manuell auf diese vorhandenen Ressourcen anwenden.
Sie können den CMEK-Schlüssel mit einem der folgenden Schritte ändern:
- Ein Laufzeitargument verwenden
- Eine Systemeinstellung in Cloud Data Fusion festlegen
Laufzeitargument
- Klicken Sie auf der Cloud Data Fusion-Seite Pipeline Studio rechts neben der Schaltfläche Ausführen auf den Drop-down-Pfeil.
- Geben Sie im Feld Name
gcp.cmek.key.name
ein. - Geben Sie im Feld Wert die Ressourcen-ID Ihres Schlüssels ein.
Klicken Sie auf Speichern.
Das hier festgelegte Laufzeitargument gilt nur für die Ausführung der aktuellen Pipeline.
Einstellung
- Klicken Sie in der Benutzeroberfläche von Cloud Data Fusion auf SYSTEMADMINISTRATOR.
- Klicken Sie auf den Tab Configuration (Konfiguration).
- Klicken Sie auf das Drop-down-Menü Systemeinstellungen.
- Klicken Sie auf Systemeinstellungen bearbeiten.
- Geben Sie im Feld Schlüssel
gcp.cmek.key.name
ein. - Geben Sie im Feld Wert die Ressourcen-ID Ihres Schlüssels ein.
- Klicken Sie auf Speichern & schließen.