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

Auf dieser Seite finden Sie eine Anleitung zum Erstellen einer Memorystore for Redis-Instanz, die vom Kunden verwaltete Verschlüsselungsschlüssel verwendet. Außerdem finden Sie dort 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.

Hinweis

  1. Sie benötigen für Ihr Nutzerkonto die Rolle „Redis-Administrator“.

    Zur IAM-Seite

Workflow zum Erstellen einer Instanz mit CMEK

  1. Erstellen Sie einen Schlüsselbund und einen Schlüssel an dem Speicherort, an dem die Memorystore-Instanz bereitgestellt werden 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 aktivierter CMEK-Verschlüsselung in derselben Region wie der Schlüsselbund und der 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üsselrings und zum Erstellen eines Schlüssels. Beide müssen sich in derselben Region wie Ihre 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 die symmetrische Verschlüsselung verwenden.

Dienstkonto Zugriff auf den Schlüssel gewähren

Wenn Sie eine Redis-Instanz mit CMEK erstellen möchten, müssen Sie zuerst einem bestimmten Memorystore-Dienstkonto Zugriff auf den Schlüssel gewähren. Gewähren Sie Zugriff auf das Memorystore-Dienstkonto im folgenden Format:

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

Console

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

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 mit CMEK erstellen

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

Console

  1. Sie benötigen einen Schlüsselbund und einen Schlüssel in derselben Region, in der Sie die Memorystore-Instanz erstellen möchten.

  2. Folgen Sie der Anleitung unter Redis-Instanz erstellen bis zum Schritt zum Aktivieren eines vom Kunden verwalteten Verschlüsselungsschlüssels und 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 im Drop-down-Menü den Schlüssel aus.

  5. Wenn dem Memorystore-Dienstkonto die erforderlichen Berechtigungen nicht gewährt wurden, wird ein Textfeld mit der Meldung

    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 Erteilen, um dem Memorystore-Dienstkonto die Rolle zuzuweisen.
  6. Wählen Sie die gewünschten Konfigurationen für die Instanz aus und klicken Sie auf die Schaltfläche Erstellen, um die CMEK-kompatible Memorystore for Redis-Instanz zu erstellen.

gcloud

Geben Sie zum Erstellen einer Instanz mit vom Kunden verwalteten Verschlüsselungsschlüsseln den folgenden Befehl ein. 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 prüfen, ob CMEK für Ihre Instanz aktiviert ist, und den aktiven Schlüssel aufzurufen.

Console

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

    Memorystore for Redis

  2. Klicken Sie auf Ihre Instanz-ID, um die Seite Instanzdetails 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 den Schlüsselreferenzpfad. Wenn dieser Abschnitt nicht angezeigt wird, ist CMEK für Ihre Instanz nicht aktiviert.

gcloud

Führen Sie den folgenden Befehl aus, um das Feld customerManagedKey aufzurufen und zu prüfen, ob CMEK aktiviert ist und um die Schlüsselreferenz zu sehen:

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 erneuten Aktivieren von Schlüsselversionen finden Sie unter Schlüsselversionen löschen und wiederherstellen.

Nächste Schritte