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
Sie benötigen die Memorystore-Administratorrolle für Ihr Nutzerkonto.
Workflow zum Erstellen einer Instanz, die CMEK verwendet
Erstellen Sie einen Schlüsselbund und einen Schlüssel an dem Ort, an dem sich die Memorystore for Valkey-Instanz befinden soll.
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.Gewähren Sie dem Memorystore for Valkey-Dienstkonto Zugriff auf den Schlüssel.
Rufen Sie ein Projekt auf und erstellen Sie eine Memorystore for Valkey-Instanz mit aktiviertem CMEK in derselben Region wie der Schlüsselbund und der Schlüssel.
Ihre Memorystore for Valkey-Instanz 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 Ihre Memorystore for Valkey-Instanz 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.
Dem Memorystore for Valkey-Dienstkonto Zugriff auf den Schlüssel gewähren
Bevor Sie eine Memorystore for Valkey-Instanz erstellen können, die CMEK verwendet, müssen Sie einem bestimmten Memorystore for Valkey-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@gcp-sa-memorystore.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@gcp-sa-memorystore.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
Memorystore for Valkey-Instanz mit CMEK erstellen
Sie können eine Instanz, die CMEK verwendet, mit der gcloud CLI erstellen.
gcloud
Verwenden Sie den Befehl gcloud memorystore instances create, um eine Instanz zu erstellen, die CMEK verwendet.
gcloud memorystore instances create INSTANCE_ID \
--project=PROJECT_NAME \
--location=REGION_ID \
--endpoints='[{"connections": [{"pscAutoConnection": {"network": "projects/PROJECT_NAME/global/networks/NETWORK_ID", "projectId": "PROJECT_NAME"}}]}]' \
--kms-key=projects/PROJECT_NAME/locations/REGION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
--shard-count=SHARD_NUMBER \
--persistence-config-mode=PERSISTENCE_CONFIG_MODE
Ersetzen Sie die folgenden Werte:
- INSTANCE_ID: Die ID der Instanz, die Sie erstellen.
- PROJECT_NAME: der Name des Projekts, in dem Sie die Instanz erstellen möchten.
- REGION_ID: die ID der Region, in der sich die Instanz befinden soll.
- NETWORK_ID: die ID des Netzwerks, das Sie zum Erstellen der Instanz 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 die Instanz haben möchten.
- PERSISTENCE_CONFIG_MODE: der Persistenzmodus für die Instanz.
Sie können diesen Modus auf einen der folgenden Werte festlegen:
aof: Sie aktivieren die AOF-basierte Persistenz (Append-Only File) für die Instanz.disabled: Sie deaktivieren die Persistenz für die Instanz.rdb: Sie aktivieren die RDB-basierte Persistenz für die Instanz.
Wichtige Informationen für eine CMEK-fähige Instanz aufrufen
Sie können Informationen zu Ihrer CMEK-fähigen Instanz mit der gcloud CLI aufrufen. Dazu gehört, ob CMEK für Ihre Instanz aktiviert ist, und der aktive Schlüssel.
gcloud
Mit dem Befehl gcloud memorystore instances describe können Sie prüfen, ob CMEK aktiviert ist, und die Schlüsselreferenz im Feld encryptionInfo und kmsKey aufrufen.
gcloud memorystore instances describe INSTANCE_ID \ --project=PROJECT_NAME \ --location=REGION_ID
Ersetzen Sie die folgenden Werte:
- INSTANCE_ID: Die ID der Instanz, zu der Sie Informationen aufrufen möchten.
- PROJECT_NAME: Der Name des Projekts, das die Instanz enthält.
- REGION_ID: die ID der Region, in der sich die Instanz 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.