Vom Kunden verwaltete Verschlüsselungsschlüssel (Customer Managed Encryption Keys, CMEK) verwenden

Auf dieser Seite finden Sie eine Anleitung zum Erstellen einer Instanz von Memorystore for Redis, die vom Kunden verwaltete Verschlüsselungsschlüssel verwendet. Außerdem enthält es eine Anleitung zum Verwalten von Instanzen, die CMEK verwenden. Weitere Informationen zu vom Kunden verwalteten Verschlüsselungsschlüsseln für Memorystore finden Sie unter Vom Kunden verwaltete Verschlüsselungsschlüssel.

Hinweise

  1. Prüfen Sie, ob Sie die Redis-Administratorrolle für Ihr Nutzerkonto haben.

    Zur IAM-Seite

Workflow zum Erstellen einer Instanzinstanz, die CMEK verwendet

  1. Erstellen Sie einen Schlüsselbund und erstellen Sie einen Schlüssel an dem Ort, an dem sich die Memorystore-Instanz befinden soll.

  2. Kopieren oder notieren Sie die Schlüssel-ID (KMS_KEY_ID), den Speicherort des Schlüssels und die ID (KMS_KEYRING_ID) für den Schlüsselbund. Sie benötigen diese Informationen, wenn Sie dem Dienstkonto Zugriff auf den Schlüssel gewähren.

  3. Gewähren Sie dem Memorystore-Dienstkonto Zugriff auf den Schlüssel.

  4. Rufen Sie ein Projekt auf und erstellen Sie eine Memorystore for Redis-Instanz mit aktiviertem CMEK in derselben Region wie Schlüsselbund und Schlüssel.

Ihre Memorystore for Redis-Instanz ist jetzt mit CMEK aktiviert.

Schlüssel und Schlüsselbund erstellen

Folgen Sie der Anleitung zum Erstellen eines Schlüsselbunds und zum Erstellen eines Schlüssels. Beide müssen sich in derselben Region wie die Redis-Instanz befinden. Der Schlüssel kann aus einem anderen Projekt stammen, solange er sich in derselben Region befindet. Außerdem muss der Schlüssel den Algorithmus für symmetrische Verschlüsselung verwenden.

Dienstkonto Zugriff auf den Schlüssel gewähren

Zum Erstellen einer Redis-Instanz, die CMEK verwendet, müssen Sie zuerst einem bestimmten Memorystore-Dienstkonto Zugriff auf den Schlüssel gewähren. Gewähren Sie Zugriff auf das Memorystore-Dienstkonto mit dem folgenden Format:

service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com

Console

Bei Verwendung der Console gewähren Sie dem Dienstkonto Zugriff auf den Schlüssel im Rahmen der Schritte zum Erstellen einer Redis-Instanz, die CMEK verwendet.

gcloud

Führen Sie den folgenden Befehl aus, um dem Dienstkonto Zugriff auf den Schlüssel zu gewähren. Ersetzen Sie dabei VARIABLES durch die entsprechenden Werte:

gcloud kms keys add-iam-policy-binding [KMS_KEY_ID] \
--location=[REGION_ID] \
--keyring=[KMS_KEYRING_ID] \
--member=serviceAccount:service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Memorystore for Redis-Instanz erstellen, die CMEK verwendet

So erstellen Sie eine Instanz mit vom Kunden verwalteten Verschlüsselungsschlüsseln:

Console

  1. Erstellen Sie zuerst einen Schlüsselbund und einen Schlüssel in derselben Region, in der Sie Ihre Memorystore-Instanz erstellen möchten.

  2. Folgen Sie der Anleitung unter Redis-Instanz erstellen, bis Sie den Schritt zum Aktivieren eines vom Kunden verwalteten Verschlüsselungsschlüssels erreichen. Kehren Sie dann zu dieser Anleitung zurück.

  3. Wählen Sie Vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) verwenden aus.

  4. Wählen Sie Ihren Schlüssel aus dem Drop-down-Menü aus.

  5. Wenn dem Memorystore-Dienstkonto nicht die erforderlichen Berechtigungen gewährt wurden, wird ein Textfeld mit folgenden Informationen angezeigt:

    The service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com service account does not have the "cloudkms.cryptoKeyEncrypterDecrypter" role. Verify the service account has permission to encrypt/decrypt with the selected key.

    • Klicken Sie auf die Schaltfläche Grant (Gewähren), um dem Memorystore-Dienstkonto die Rollenberechtigung zu gewähren.
  6. Schließen Sie die Auswahl der gewünschten Konfigurationen für die Instanz ab und klicken Sie auf die Schaltfläche Erstellen, um die CMEK-fähige Memorystore for Redis-Instanz zu erstellen.

gcloud

Geben Sie den folgenden Befehl ein, um eine Instanz zu erstellen, die vom Kunden verwaltete Verschlüsselungsschlüssel verwendet. Ersetzen Sie dabei VARIABLES durch die entsprechenden Werte:

gcloud beta redis instances create [INSTANCE_ID] --size=[SIZE] \
--region=[REGION_ID] \
--customer-managed-key=projects/[PROJECT_NAME]/locations/[REGION_ID]/keyRings/[KEYRING_NAME]/cryptoKeys/[KEY_NAME]

Wichtige Informationen für eine CMEK-fähige Instanz aufrufen

Folgen Sie dieser Anleitung, um zu sehen, ob CMEK für Ihre Instanz aktiviert ist, und um den aktiven Schlüssel aufzurufen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite mit den Memorystore for Redis-Instanzen auf.

    Memorystore for Redis

  2. Klicken Sie auf die Instanz-ID, um die Seite Instanzdetails für Ihre Instanz aufzurufen.

  3. Klicken Sie auf die Registerkarte Sicherheit.

  4. Der Abschnitt Verschlüsselung mit einem vom Kunden verwalteten Schlüssel enthält einen Link zum aktiven Schlüssel und zeigt den Schlüsselreferenzpfad. Wenn dieser Abschnitt nicht angezeigt wird, ist CMEK für Ihre Instanz nicht aktiviert.

gcloud

Prüfen Sie mit dem folgenden Befehl, ob CMEK aktiviert ist, und rufen Sie das Feld customerManagedKey auf:

gcloud beta redis instances describe INSTANCE_ID --project=PROJECT --region=REGION

Schlüsselversionen deaktivieren und reaktivieren

Informationen dazu, was passiert, wenn Sie eine Schlüsselversion deaktivieren, aktivieren, löschen oder wieder aktivieren, finden Sie unter Verhalten beim Löschen/Deaktivieren einer CMEK-Schlüsselversion.

Eine Anleitung zum Deaktivieren und erneuten Aktivieren von Schlüsselversionen finden Sie unter Schlüsselversionen aktivieren und deaktivieren.

Eine Anleitung zum Deaktivieren und Reaktivieren von Schlüsselversionen finden Sie unter Schlüsselversionen löschen und wiederherstellen.

Nächste Schritte