Datastream verschlüsselt ruhende Kundendaten standardmäßig. Die Verschlüsselung wird von Datastream übernommen. Weitere Maßnahmen Ihrerseits sind nicht erforderlich. Diese Option heißt Google-Standardverschlüsselung.
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 Datastream verwenden. Mit Cloud KMS-Schlüsseln haben Sie die Kontrolle über Schutz level, Speicherort, Rotationszeitplan, Nutzungs- und Zugriffsberechtigungen sowie über kryptografische Grenzen. Mit Cloud KMS können Sie außerdem die Schlüsselnutzung verfolgen, Audit-Logs aufrufen und den Lebenszyklus von Schlüsseln steuern. Statt es Google zu überlassen, die symmetrischen Schlüsselverschlüsselungsschlüssel (Key Encryption Keys, KEKs) zum Schutz Ihrer Daten zu besitzen und zu verwalten, können Sie diese auch über Cloud KMS steuern und verwalten.
Nachdem Sie Ihre Ressourcen mit CMEKs eingerichtet haben, ähnelt der Zugriff auf Ihre Datastream-Ressourcen der Verwendung der Google-Standardverschlüsselung. Weitere Informationen zu Ihren Verschlüsselung soptionen finden Sie unter Kundenverwaltete Verschlüsselungsschlüssel (CMEK).
Auf dieser Seite wird beschrieben, wie kundenverwaltete Verschlüsselungsschlüssel (CMEK) mit Datastream funktionieren.
Ist CMEK das Richtige für Sie?
CMEK ist für Organisationen mit vertraulichen oder regulierten Daten gedacht, für die eigene Verschlüsselungsschlüssel verwaltet werden müssen.
Von Google und kundenverwaltete Verschlüsselung im Vergleich
Mit dem CMEK-Feature können Sie für inaktive Daten in Datastream Ihre eigenen kryptografischen Schlüssel verwenden. Nachdem Sie CMEK hinzugefügt haben, verwendet Datastream bei jedem API-Aufruf Ihren Schlüssel für den Datenzugriff.
Datastream nutzt von Google verwaltete Datenverschlüsselungsschlüssel (Data Encryption Keys, DEKs) und Schlüsselverschlüsselungsschlüssel (Key Encryption Keys, KEKs), um Datastream zu verschlüsseln. Es gibt zwei Verschlüsselungsebenen:
- Der DEK verschlüsselt Daten.
- Der KEK verschlüsselt den DEK.
Datastream speichert den verschlüsselten DEK zusammen mit den verschlüsselten Daten und Google verwaltet den Google-KEK. Mit CMEK erstellen Sie einen Schlüssel, der den Google-KEK umschließt. Mit CMEK können Sie den KEK erstellen, widerrufen und löschen.
CMEK, einschließlich Software, Hardware und externe Schlüssel, werden alle über die Cloud Key Management Service (KMS) API verwaltet.
An welchen Standorten werden CMEK-fähige Datastream-Streams unterstützt?
CMEK ist an allen Datastream-Standorten verfügbar.
Details zu Dienstkonten
Wenn für Ihre Datastream-Streams CMEK aktiviert ist, müssen Sie den Schlüsselzugriff von Cloud Key Management Service über ein Dienstkonto anfordern.
Wenn Sie einen CMEK für ein Projekt verwenden möchten, müssen Sie ein Dienstkonto haben und dem Schlüssel Zugriff auf das Dienstkonto gewähren. Das Dienstkonto muss im Projekt vorhanden sein. Das Dienstkonto ist in allen Regionen sichtbar.
Wenn Sie die Console zum Erstellen eines Streams verwenden und als Erstes die Option Vom Kunden verwalteter Schlüssel auswählen, wird das Dienstkonto von Datastream automatisch erstellt, sofern noch keines vorhanden ist. Wenn Datastream das Dienstkonto automatisch erstellt, benötigen Sie keine besonderen Berechtigungen für Ihr Nutzerkonto.
Informationen zu Schlüsseln
In Cloud Key Management Service müssen Sie einen Schlüsselbund mit einem kryptografischen Schlüssel erstellen, der für einen Standort festgelegt ist. Wenn Sie einen neuen Stream in Datastream erstellen, wählen Sie diesen Schlüssel aus, um den Stream zu verschlüsseln.
Sie müssen die Schlüssel-ID und -region kennen, wenn Sie neue Streams erstellen, die CMEK verwenden. Neue Streams müssen sich in derselben Region befinden wie der CMEK, der den Streams zugeordnet ist. Sie können ein einziges Projekt für Schlüssel und Streams erstellen oder für beide jeweils ein separates Projekt anlegen.
CMEK verwendet das folgende Format:
projects/[CMEK_ENABLED_PROJECT]/locations/[REGION]/keyRings/[RING_NAME]/cryptoKeys/[KEYNAME]
Wenn Datastream nicht auf den Schlüssel zugreifen kann (z. B. wenn Sie die Schlüsselversion deaktivieren), ändert Datastream den Status des Streams in FAILED und eine zugehörige Fehlermeldung wird angezeigt. Nachdem Sie alle Probleme im Zusammenhang mit der Fehlermeldung behoben haben, sodass der Schlüssel wieder zugänglich ist, setzt Datastream den Stream automatisch fort.
Externe Schlüsselverwaltung
Sie können Schlüssel, die in externen Schlüsselverwaltungssystemen gespeichert sind, z. B. Fortinix, Ionic oder Thales, als CMEK verwenden. Informationen zur Verwendung externer Schlüssel mit Cloud Key Management Service finden Sie unter Cloud External Key Manager.
Wie kann ich CMEK-verschlüsselte Daten dauerhaft unzugänglich machen?
Es kann vorkommen, dass Sie mit CMEK verschlüsselte Daten dauerhaft löschen möchten. Löschen Sie dazu die CMEK-Version. Sie können zwar den Schlüsselbund oder Schlüssel nicht löschen, aber Sie können Versionen des Schlüssels löschen.
Beschränkungen
Bei der Verwendung von CMEK gelten die folgenden Einschränkungen:
Sie können CMEK für einen laufenden Stream nicht aktualisieren.
Sie können zwar CMEK verwenden, um Zeilen aus der Quelldatenbank zu verschlüsseln, aber diese Schlüssel können nicht zum Verschlüsseln von Stream-Metadaten verwendet werden, z. B. der Stream-ID, der IP-Adresse der Quelldatenbank oder der Namen der Quelldatenbanktabellen.
CMEK verwenden
Nachdem Sie nun mit CMEK vertraut sind, können Sie ein Dienstkonto und Schlüssel für CMEK einrichten. Außerdem erfahren Sie, wie Sie Datastream für die Verwendung von CMEK einrichten.
Hinweis
- Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie noch kein Konto haben Google Cloud, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Cloud SDK installieren und initialisieren
- Achten Sie darauf, dass Ihrem Nutzerkonto die Rolle „Datastream-Administrator“ zugewiesen ist.
Aktivieren Sie die Cloud Key Management Service API.
Erforderliche Rollen zum Aktivieren von APIs
Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (
roles/serviceusage.serviceUsageAdmin), die die Berechtigungserviceusage.services.enableenthält. Informationen zum Zuweisen von Rollen.- Aktivieren Sie die Datastream API.
Workflow zum Erstellen eines Streams in Datastream mit CMEK
- Nur gcloud- und API-Nutzer: Achten Sie darauf, dass Sie für jedes Projekt, für das CMEK erforderlich ist, ein Dienstkonto haben. Wenn nicht, erfahren Sie hier, wie Sie ein Dienstkonto erstellen.
- Erstellen Sie einen Schlüsselbund und Schlüssel und legen Sie den Speicherort für jeden Schlüssel fest. Der Speicherort ist die Google Cloud Region.
- Nur gcloud- und API-Nutzer:Gewähren Sie dem Schlüssel Zugriff auf das Dienstkonto.
- Kopieren oder notieren Sie die Schlüssel-ID (
KMS_KEY_ID) und den Speicherort für den Schlüssel sowie die ID (KMS_KEYRING_ID) für den Schlüsselbund. Sie benötigen diese Informationen, wenn Sie dem Schlüssel Zugriff auf das Dienstkonto gewähren. - Öffnen Sie ein Projekt und erstellen Sie einen Stream in Datastream mit den folgenden Optionen:
- Derselbe Speicherort wie der CMEK
- Die CMEK-Konfiguration
- Die CMEK-ID
Ihr Stream in Datastream ist jetzt mit CMEK aktiviert.
Dienstkonto erstellen
Sie müssen für jedes Projekt ein Dienstkonto erstellen, das CMEK erfordert.
Gewähren Sie eine der folgenden Rollen, um zuzulassen, dass ein Nutzer Dienstkonten verwalten kann:
- Dienstkontonutzer (
roles/iam.serviceAccountUser): Umfasst Berechtigungen zum Auflisten von Dienstkonten, Abrufen von Details zu einem Dienstkonto und zum Übernehmen der Identität eines Dienstkontos. - Dienstkontoadministrator (
roles/iam.serviceAccountAdmin): Umfasst Berechtigungen zum Auflisten von Dienstkonten und zum Abrufen von Details zu einem Dienstkonto. Umfasst außerdem Berechtigungen zum Erstellen, Aktualisieren und Löschen von Dienstkonten sowie zum Anzeigen oder Ändern der Datastream-Richtlinie für ein Dienstkonto.
Sie können nur gcloud-Befehle verwenden, um die Art von Dienstkonto zu erstellen, die Sie für CMEK benötigen. Wenn Sie die Console verwenden, erstellt Datastream dieses Dienstkonto automatisch.
Führen Sie den folgenden Befehl aus, um ein Dienstkonto mit gcloud zu erstellen:
gcloud beta services identity create \ --service=datastream.googleapis.com \ --project=PROJECT_ID
Der vorherige Befehl gibt den Namen eines Dienstkontos zurück. Sie verwenden diesen Dienstkontonamen, während Sie dem Schlüssel Zugriff auf das Dienstkonto gewähren.
Schlüssel erstellen
Sie können den Schlüssel im selben Google Cloud Projekt wie den Stream in Datastream oder in einem separaten Nutzerprojekt erstellen. Der Speicherort des Cloud KMS-Schlüsselbunds muss mit der Region übereinstimmen, in der Sie den Stream erstellen möchten. Ein Schlüssel für mehrere Regionen oder für eine globale Region funktioniert nicht. Wenn die Regionen nicht übereinstimmen, können Sie den Stream nicht erstellen.
So erstellen Sie einen Cloud KMS-Schlüssel:
Console
- Rufen Sie in der Google Cloud Console die Kryptografische Schlüssel Seite auf.
- Klicken Sie auf KeyRing erstellen.
- Fügen Sie einen Schlüsselbundnamen hinzu. Notieren Sie sich diesen Namen, da Sie ihn benötigen, wenn Sie dem Schlüssel Zugriff auf das Dienstkonto gewähren.
- Fügen Sie einen Schlüsselbund-Speicherort hinzu.
- Klicken Sie auf Erstellen. Die Seite Schlüssel erstellen wird geöffnet.
- Fügen Sie einen Schlüsselnamen hinzu.
- Wählen Sie einen Zweck (symmetrisch oder asymmetrisch) aus.
- Wählen Sie einen Rotationszeitraum und ein Startdatum aus.
- Klicken Sie auf Erstellen.
- Klicken Sie in der Tabelle Schlüssel auf die drei Punkte in der letzten Spalte und wählen Sie Ressourcen-ID kopieren aus oder notieren Sie sich die ID. Dies ist die
KMS_KEY_ID. Sie benötigen dieKMS_KEY_ID, wenn Sie dem Schlüssel Zugriff auf das Dienstkonto gewähren.
gcloud
- Erstellen Sie einen neuen Schlüsselbund.
Notieren Sie sich diesen Namen. Sie benötigen ihn, wenn Sie dem Schlüssel Zugriff auf das Dienstkonto gewähren.gcloud kms keyrings create KMS_KEYRING_ID \ --location=GCP_REGION
- Erstellen Sie einen Schlüssel im Schlüsselbund.
Notieren Sie sich diesen Namen. Sie benötigen ihn, wenn Sie dem Schlüssel Zugriff auf das Dienstkonto gewähren.gcloud kms keys create KMS_KEY_ID \ --location=GCP_REGION \ --keyring=KMS_KEYRING_ID \ --purpose=encryption
Dem Schlüssel Zugriff auf das Dienstkonto gewähren
Sie müssen diese Schritte nur ausführen, wenn Sie gcloud oder die API verwenden.
Verwenden Sie den folgenden Code, um Zugriff auf das Dienstkonto zu gewähren:
gcloud kms keys add-iam-policy-binding KMS_KEY_ID \ --location=GCP_REGION \ --keyring=KMS_KEYRING_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-datastream.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Stream in Datastream mit CMEK erstellen
Beim Erstellen eines Streams in Datastream können Sie Ihren CMEK verwenden, um die Verschlüsselung Ihrer Daten zu verwalten.
Nächste Schritte
- Informationen zum Deaktivieren einer Schlüsselversion finden Sie unter Aktivierte Schlüsselversion deaktivieren.
- Informationen zum erneuten Aktivieren einer Schlüsselversion finden Sie unter Schlüsselversion aktivieren.