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

Wenn Sie kundenverwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) verwenden, haben Sie die Kontrolle über Ihre Schlüssel. So haben Sie die Kontrolle über Schutzlevel, Speicherort, Rotationszeitplan, Nutzungs- und Zugriffsberechtigungen sowie über kryptografische Grenzen. 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 Key Management Service (KMS) steuern und verwalten.

Hinweise

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

    Zur IAM-Seite

Workflow zum Erstellen eines Clusters, der CMEK verwendet

  1. Erstellen Sie einen Schlüsselbund und einen Schlüssel an dem Speicherort, an dem sich der Cluster in Memorystore for Redis Cluster befinden soll.

  2. Kopieren oder notieren Sie sich den Schlüsselnamen (KEY_NAME), den Speicherort des Schlüssels und den Namen des Schlüsselbunds (KEY_RING). Sie benötigen diese Informationen, wenn Sie dem Dienstkonto Zugriff auf den Schlüssel gewähren.

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

  4. Rufen Sie ein Projekt auf und erstellen Sie einen Cluster in Memorystore for Redis Cluster mit aktiviertem CMEK in derselben Region wie der Schlüsselbund und der Schlüssel.

Ihr Cluster ist jetzt mit CMEK aktiviert.

Schlüsselbund und Schlüssel erstellen

Erstellen Sie einen Schlüsselbund und einen Schlüssel. Beide müssen sich in derselben Region wie Ihr Cluster in Memorystore for Redis Cluster befinden. Der Schlüssel kann aus einem anderen Projekt stammen, sofern er sich in derselben Region befindet. Außerdem muss der Schlüssel den symmetrischen Verschlüsselungsalgorithmus verwenden.

Nachdem Sie den Schlüsselbund und den Schlüssel erstellt haben, kopieren oder notieren Sie die KEY_NAME, den Speicherort des Schlüssels und die KEY_RING. Sie benötigen diese Informationen, wenn Sie dem Dienstkonto Zugriff auf den Schlüssel gewähren.

Memorystore for Redis Cluster-Dienstkonto Zugriff auf den Schlüssel gewähren

Bevor Sie einen Cluster in Memorystore for Redis Cluster erstellen können, der CMEK verwendet, müssen Sie einem bestimmten Memorystore for Redis Cluster-Dienstkonto Zugriff auf den Schlüssel gewähren.

Sie können dem Dienstkonto Zugriff auf den Schlüssel gewähren, indem Sie die gcloud CLI verwenden. So gewähren Sie Zugriff auf das Dienstkonto:

  service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
  

gcloud

Verwenden Sie den Befehl gcloud kms keys add-iam-policy-binding, um dem Dienstkonto Zugriff auf den Schlüssel zu gewähren.

gcloud kms keys add-iam-policy-binding  \
projects/PROJECT_ID/locations/REGION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
--member=serviceAccount:service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Ersetzen Sie die folgenden Werte:

  • PROJECT_ID: die ID oder Nummer des Projekts, das den Schlüsselbund enthält
  • REGION_ID: die Region, in der sich der Schlüsselbund befindet
  • KEY_RING: der Name des Schlüsselbunds, der den Schlüssel enthält
  • KEY_NAME: der Name des Schlüssels, für den Sie dem Dienstkonto Zugriff gewähren
  • PROJECT_NUMBER: die ID oder Nummer des Projekts, das das Dienstkonto enthält

Cluster erstellen, der CMEK verwendet

Sie können einen Cluster, der CMEK verwendet, mit der gcloud CLI erstellen.

gcloud

Verwenden Sie den Befehl gcloud redis clusters create, um einen Cluster zu erstellen, der CMEK verwendet.

gcloud redis clusters create CLUSTER_ID \
--project=PROJECT_NAME \
--region=REGION_ID \
--network=NETWORK_ID \
--kms-key=projects/PROJECT_NAME/locations/REGION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
--shard-count=SHARD_NUMBER \
--persistence-mode=PERSISTENCE_MODE

Ersetzen Sie die folgenden Werte:

  • CLUSTER_ID: Die ID des Clusters, den Sie erstellen.
  • PROJECT_NAME: der Name des Projekts, in dem Sie den Cluster erstellen möchten.
  • REGION_ID: die ID der Region, in der sich der Cluster befinden soll.
  • NETWORK_ID: die ID des Netzwerks, das Sie zum Erstellen des Clusters verwenden möchten.
  • KEY_RING: der Name des Schlüsselbunds, der den Schlüssel enthält
  • KEY_NAME: der Name des Schlüssels
  • SHARD_NUMBER: Die Anzahl der Shards, die Sie für den Cluster haben möchten.
  • PERSISTENCE_MODE: Der Persistenzmodus für den Cluster. Sie können diesen Modus auf einen der folgenden Werte festlegen:
    • aof: Sie aktivieren die AOF-basierte Persistenz (Append-Only File) für den Cluster.
    • disabled: Sie deaktivieren die Persistenz für den Cluster.
    • rdb: Sie aktivieren die RDB-basierte Persistenz für den Cluster.

Wichtige Informationen für einen CMEK-fähigen Cluster aufrufen

Sie können Informationen zu Ihrem CMEK-aktivierten Cluster mit der gcloud CLI aufrufen. Dazu gehört, ob CMEK für Ihren Cluster aktiviert ist, und der aktive Schlüssel.

gcloud

Mit dem Befehl gcloud redis clusters describe können Sie prüfen, ob CMEK aktiviert ist, und die Schlüsselreferenz im Feld encryptionInfo und kmsKey aufrufen.

gcloud redis clusters describe CLUSTER_ID \
--project=PROJECT_NAME \
--region=REGION_ID

Ersetzen Sie die folgenden Werte:

  • CLUSTER_ID: Die ID des Clusters, zu dem Sie Informationen aufrufen möchten.
  • PROJECT_NAME: der Name des Projekts, das den Cluster enthält.
  • REGION_ID: die ID der Region, in der sich der Cluster befindet

Schlüsselversionen verwalten

Informationen dazu, was passiert, wenn Sie eine Schlüsselversion deaktivieren, löschen, rotieren, aktivieren und wiederherstellen, finden Sie unter Verhalten einer CMEK-Schlüsselversion.

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

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

Nächste Schritte