Standardmäßig wird Google Cloud automatisch verschlüsselt ruhende Daten mit von Google verwalteten Verschlüsselungsschlüsseln. Wenn Sie bestimmte Compliance- oder gesetzlichen Vorschriften zu den Schlüsseln, die Ihre Daten schützen, können Sie vom Kunden verwaltete Verschlüsselungsschlüssel (CMEKs) für Dataform verwenden. Repositories.
In diesem Leitfaden wird die Verwendung von CMEK für Dataform beschrieben und Schritt-für-Schritt-Anleitungen erläutert wie Sie die CMEK-Verschlüsselung von Dataform-Repositories aktivieren.
Weitere Informationen zu CMEK im Allgemeinen Informationen dazu, wann und warum es aktiviert werden sollte, finden Sie in der CMEK-Dokumentation.
CMEK-Verschlüsselung von Repository-Daten
Wenn Sie CMEK-Verschlüsselung auf ein Dataform-Repository anwenden, werden alle von Dataform verwalteten Kundendaten in diesem Repository Rest mit dem für das Repository festgelegten CMEK-Schutzschlüsselsatz. Zu diesen Daten gehören Folgendes:
- Inhalt des Git-Repositorys des Dataform-Repositorys und seiner Arbeitsbereiche
- Kompilierte SQL-Abfragen und Kompilierungsfehler
- Gespeicherte SQL-Abfragen von Workflowaktionen
- Fehlerdetails der ausgeführten Workflowaktionen
Dataform verwendet CMEK-Schutzschlüssel in den folgenden Fällen:
- Bei jedem Vorgang, bei dem ruhende Kundendaten entschlüsselt werden müssen
Zu diesen Vorgängen gehören unter anderem:
- Antworten auf eine Nutzeranfrage, z. B.
compilationResults.query
- Dataform-Ressourcen erstellen, für die zuvor erstellte Ressourcen erforderlich sind verschlüsselte Repository-Daten, z. B. Workflowaufrufe.
- Git-Vorgänge zum Aktualisieren des Remote-Repositorys z. B. einen Git-Commit per Push übertragen.
- Antworten auf eine Nutzeranfrage, z. B.
- Bei jedem Vorgang, bei dem ruhende Kundendaten gespeichert werden müssen
Zu diesen Vorgängen gehören unter anderem:
- Antworten auf eine Nutzeranfrage, z. B.
compilationResults.create
- Git-Vorgänge in einem Arbeitsbereich, z. B. Abruf eines Git-Commits
- Antworten auf eine Nutzeranfrage, z. B.
Dataform verwaltet die Verschlüsselung von Kundendaten, die nur mit Dataform-Ressourcen. Dataform verwaltet keine Verschlüsselung Kundendaten, die in BigQuery durch Ausführung von Dataform-Workflows. Um in BigQuery erstellte und gespeicherte Daten zu verschlüsseln, CMEK für BigQuery konfigurieren
Unterstützte Tasten
Dataform unterstützt die folgenden Arten von CMEK-Schlüsseln:
Die Schlüsselverfügbarkeit variiert je nach Schlüsseltyp und Region. Weitere Informationen zur geografischen Verfügbarkeit von CMEK-Schlüsseln Siehe Cloud KMS-Standorte.
Einschränkungen
Dataform unterstützt CMEK mit den folgenden Einschränkungen:
- Die maximale Größe eines CMEK-verschlüsselten Repositorys beträgt 512 MB.
- Sie können einen CMEK-Schutzschlüssel nicht auf ein Repository anwenden, nachdem das Repository wurde erstellt. Sie können die CMEK-Verschlüsselung nur während der Repository-Erstellung anwenden.
- Sie können einen CMEK-Schutzschlüssel nicht aus einem Repository entfernen.
- Sie können einen CMEK-Schutzschlüssel für ein Repository nicht ändern.
- CMEK-Organisationsrichtlinien sind nicht verfügbar.
- Die Verwendung von Cloud HSM-Schlüsseln hängt von der Verfügbarkeit ab. Weitere Informationen zur standortübergreifenden Verfügbarkeit von Schlüsseln finden Sie unter Cloud KMS-Standorte
Cloud KMS-Kontingente und Dataform
Sie können Cloud HSM-Schlüssel mit Dataform verwenden. Wenn Sie CMEK in Dataform verwenden, Ihre Projekte können kryptografische Cloud KMS-Anfragen nutzen Kontingenten. CMEK-verschlüsselte Dataform-Repositories können diese Kontingente beispielsweise für jede Änderung an Repository-Inhalten nutzen. Ver- und Entschlüsselungsvorgänge über CMEK-Schlüssel wirken sich nur dann auf Cloud KMS-Kontingente aus, wenn Sie Hardware- (Cloud HSM) oder externe Schlüssel (Cloud EKM) verwenden. Weitere Informationen finden Sie unter Cloud KMS-Kontingente.
Schlüssel verwalten
Verwenden Sie Cloud KMS für alle Schlüsselverwaltungsvorgänge. Dataform kann erst dann wichtige Änderungen erkennen oder darauf reagieren. werden sie von Cloud KMS weitergegeben. Einige Vorgänge wie ist das Deaktivieren oder Löschen eines Schlüssels bis zu drei Stunden wirksam werden. Änderungen an Berechtigungen in der Regel viel schneller verbreiten.
Nachdem das Repository erstellt wurde, ruft Dataform Cloud KMS, um sicherzustellen, dass der Schlüssel weiterhin bei jedem Vorgang für verschlüsselte Repository-Daten gültig sind.
Dataform erkennt, dass Ihr Cloud KMS-Schlüssel deaktiviert oder gelöscht wurden, alle im entsprechenden Repository gespeicherten Daten unzugänglich wird.
Wenn Dataform-Aufrufe Cloud KMS erkennt, dass ein zuvor deaktivierter Schlüssel aktiviert, stellt Dataform den Zugriff automatisch wieder her.
Umgang mit einem nicht verfügbaren Schlüsselstatus
In seltenen Fällen, z. B. während Cloud KMS nicht verfügbar, kann Dataform den Status möglicherweise nicht abrufen Ihres Schlüssels aus Cloud KMS.
Wenn Ihr Dataform-Repository durch einen Schlüssel geschützt ist, der zu dem Zeitpunkt aktiviert waren, an dem Dataform die können Sie mit Cloud KMS, den verschlüsselten Repository-Daten unzugänglich wird.
Die verschlüsselten Repository-Daten bleiben erst zugänglich, wenn Dataform wieder mit Cloud KMS verbinden kann und Cloud KMS antwortet, Schlüssel ist aktiv.
Wenn Ihr Dataform-Repository dagegen durch einen Schlüssel das deaktiviert ist, wenn Dataform das erste Mal verwendet wird nicht mit Cloud KMS kommunizieren können, bleibt erst wieder verfügbar, wenn Sie wieder eine Verbindung zu Cloud KMS herstellen können und Sie haben Ihren Schlüssel wieder aktiviert.
Logging
Sie können die Anfragen prüfen, die Dataform an Cloud KMS in Ihrem Namen in Cloud Logging, wenn Sie Audit-Logging aktiviert für die Cloud KMS API in Ihrem Projekt. Diese Cloud KMS-Logeinträge sind in Cloud Logging sichtbar. Weitere Informationen finden Sie unter Logs ansehen
Hinweise
Entscheiden Sie, ob Sie Dataform ausführen und Cloud KMS in verschiedenen Projekten oder im selben Projekt. Wir empfehlen die Verwendung separater Projekte, um mehr Kontrolle über Berechtigungen zu haben. Weitere Informationen zu Google Cloud-Projekt-IDs und -Projektnummern finden Sie unter Projekte identifizieren.
Für das Google Cloud-Projekt, in dem Cloud KMS ausgeführt wird:
- Cloud Key Management Service API aktivieren
- Erstellen Sie einen Schlüsselbund und einen Schlüssel, wie unter Schlüsselbunde und Schlüssel erstellen beschrieben. Schlüsselbund erstellen
an einem Speicherort, der mit dem Speicherort Ihres Dataform übereinstimmt
Repository:
-
Repositories müssen übereinstimmende regionale Schlüssel verwenden. Beispiel:
Ein Repository in der Region
asia-northeast3
muss mit einem Schlüssel geschützt sein aus einem Schlüsselbund inasia-northeast3
. -
Die Region
global
kann nicht verwendet werden mit Dataform.
-
Repositories müssen übereinstimmende regionale Schlüssel verwenden. Beispiel:
Ein Repository in der Region
CMEK aktivieren
Dataform kann in Ihrem Namen auf den Schlüssel zugreifen, nachdem
gewähren Sie dem Cloud KMS
CryptoKey-Verschlüsseler/Entschlüsseler (roles/cloudkms.cryptoKeyEncrypterDecrypter
)
Rolle für die
Dataform-Standarddienstkonto.
Ihre standardmäßige Dataform-Dienstkonto-ID hat das folgende Format:
service-YOUR_PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
So gewähren Sie dem Standard-Dataform-Standard die Rolle „CryptoKey Encrypter/Decrypter“ Dienstkonto besteht, gehen Sie so vor:
Console
Öffnen Sie in der Google Cloud Console die Seite Key Management.
Klicken Sie auf den Namen des Schlüsselbunds, der den Schlüssel enthält.
Klicken Sie auf das Kästchen für den Verschlüsselungsschlüssel, dem Sie die Rolle hinzufügen möchten. Der Tab Berechtigungen wird geöffnet.
Klicken Sie auf Mitglied hinzufügen.
E-Mail-Adresse des Dienstkontos eingeben
- Wenn sich das Dienstkonto bereits in der Mitgliederliste befindet, enthält es Rollen. Klicken Sie auf die Drop-down-Liste der aktuellen Rolle Dienstkonto.
Klicken Sie auf die Drop-down-Liste für Rolle auswählen, dann auf Cloud KMS und anschließend auf die Rolle Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler.
Klicken Sie auf Speichern, um die Rolle auf den Dienst anzuwenden. Konto.
gcloud
Sie können die Google Cloud CLI verwenden, um die Rolle zuzuweisen:
gcloud kms keys add-iam-policy-binding \ --project=KMS_PROJECT_ID \ --member serviceAccount:SERVICE_ACCOUNT \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter \ --location=KMS_KEY_LOCATION \ --keyring=KMS_KEY_RING \ KMS_KEY
Dabei gilt:
KMS_PROJECT_ID
ist die ID Ihres Google Cloud-Projekts, in dem Cloud KMS ausgeführt wird.SERVICE_ACCOUNT
: die E-Mail-Adresse Ihrer Standard-E-Mail-Adresse Dataform-DienstkontoKMS_KEY_LOCATION
ist der Standortname Ihres Cloud KMS-Schlüssels.KMS_KEY_RING
ist der Schlüsselbundname Ihres Cloud KMS-Schlüssels.KMS_KEY
ist der Schlüsselname Ihres Cloud KMS-Schlüssels.
CMEK auf ein Repository anwenden
Sie können CMEK-Schutz auf ein Dataform-Repository anwenden bei der Erstellung des Repositorys.
Geben Sie zum Anwenden der CMEK-Verschlüsselung auf ein Dataform-Repository Folgendes an: Cloud KMS-Schlüssel, wenn Sie das Repository erstellen. Eine Anleitung finden Sie unter Repository erstellen.
Sie können den Verschlüsselungsmechanismus eines Dataform-Repositorys nicht ändern nachdem das Repository erstellt wurde.
Weitere Informationen finden Sie unter Einschränkungen.
Nächste Schritte
- Weitere Informationen zu CMEK finden Sie unter CMEK-Übersicht.
- Weitere Informationen zu Cloud KMS-Kontingenten finden Sie unter Cloud KMS-Kontingente.
- Weitere Informationen zu den Cloud KMS-Preisen finden Sie unter Cloud KMS-Preise.
- Weitere Informationen zu Dataform-Repositories finden Sie unter Einführung in Repositories.