Auf dieser Seite wird beschrieben, wie Sie einen Schlüssel automatisch oder manuell rotieren können. Weitere Informationen zur Schlüsselrotation im Allgemeinen finden Sie unter Schlüsselrotation.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für den Schlüssel zu gewähren, damit Sie die Berechtigungen erhalten, die Sie zum Rotieren von Schlüsseln benötigen:
-
Cloud KMS-Administrator (
roles/cloudkms.admin
) -
Daten neu verschlüsseln:
Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler (
roles/cloudkms.cryptoKeyEncrypterDecrypter
)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Rotieren von Schlüsseln erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind für das Rotieren von Schlüsseln erforderlich:
-
Primärschlüsselversion ändern:
cloudkms.cryptoKeys.update
-
Automatisches Drehen ändern oder deaktivieren:
cloudkms.cryptoKeys.update
-
Neue Schlüsselversion erstellen:
cloudkms.cryptoKeyVersions.create
-
Alte Schlüsselversionen deaktivieren:
cloudkms.cryptoKeyVersions.update
-
Daten neu verschlüsseln:
-
cloudkms.cryptoKeyVersions.useToDecrypt
-
cloudkms.cryptoKeyVersions.useToEncrypt
-
Möglicherweise können Sie diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Ein einzelner Nutzer mit einer benutzerdefinierten Rolle, die alle diese Berechtigungen enthält, kann Schlüssel rotieren und Daten neu verschlüsseln. Nutzer mit den Rollen „Cloud KMS-Administrator“ und „Cloud KMS CryptoKey Encrypter/Decrypter“ können gemeinsam Schlüssel rotieren und Daten neu verschlüsseln. Folgen Sie beim Zuweisen von Rollen dem Prinzip der geringsten Berechtigung. Weitere Informationen finden Sie unter Berechtigungen und Rollen.
Wenn Sie einen Schlüssel rotieren, werden Daten, die mit früheren Schlüsselversionen verschlüsselt wurden, nicht automatisch neu verschlüsselt. Weitere Informationen finden Sie unter Entschlüsseln und neu verschlüsseln. Durch die Rotation eines Schlüssels werden vorhandene Schlüsselversionen nicht automatisch deaktiviert oder destroy.
Automatische Rotation konfigurieren
So konfigurieren Sie die automatische Rotation beim Erstellen eines neuen Schlüssels:
Console
Wenn Sie die Google Cloud Console zum Erstellen eines Schlüssels verwenden, legt Cloud KMS den Rotationszeitraum und die nächste Rotationszeit automatisch fest. Sie können die Standardwerte verwenden oder andere Werte angeben.
So können Sie beim Erstellen des Schlüssels, aber bevor Sie auf die Schaltfläche Erstellen klicken, einen anderen Rotationszeitraum und einen anderen Beginn angeben:
Wählen Sie für Schlüsselrotationszeitraum eine Option aus.
Wählen Sie unter Ab dem das Datum aus, an dem die erste automatische Rotation erfolgen soll. Sie können Beginnt am auf dem Standardwert belassen, um die erste automatische Rotation um einen Schlüsselrotationszeitraum nach dem Erstellen des Schlüssels zu starten.
gcloud
Wenn Sie Cloud KMS in der Befehlszeile verwenden möchten, müssen Sie zuerst die neueste Version der Google Cloud CLI installieren oder ein Upgrade auf die neueste Version durchführen.
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose "encryption" \ --rotation-period ROTATION_PERIOD \ --next-rotation-time NEXT_ROTATION_TIME
Ersetzen Sie Folgendes:
KEY_NAME
: Der Name des Schlüssels.KEY_RING
: der Name des Schlüsselbunds, der den Schlüssel enthält.LOCATION
: der Cloud KMS-Speicherort des Schlüsselbunds.ROTATION_PERIOD
: Das Intervall, in dem der Schlüssel rotiert wird, z. B.30d
, damit der Schlüssel alle 30 Tage rotiert wird. Der Rotationszeitraum muss mindestens 1 Tag und darf höchstens 100 Jahre betragen. Weitere Informationen finden Sie unter CryptoKey.rotationPeriod.NEXT_ROTATION_TIME
: der Zeitstempel, zu dem die erste Rotation abgeschlossen werden soll, z. B."2023-01-01T01:02:03"
. Sie können--next-rotation-time
weglassen, um die erste Rotation 7 Tage nach Ausführung des Befehls zu planen. Weitere Informationen finden Sie unter CryptoKey.nextRotationTime.
Wenn Sie Informationen zu allen Flags und möglichen Werten erhalten möchten, führen Sie den Befehl mit dem Flag --help
aus.
C#
Um diesen Code auszuführen, müssen Sie zuerst eine C#-Entwicklungsumgebung einrichten und das Cloud KMS C# SDK installieren.
Go
Um diesen Code auszuführen, müssen Sie zuerst eine Go-Entwicklungsumgebung einrichten und das Cloud KMS Go SDK installieren.
Java
Um diesen Code auszuführen, müssen Sie zuerst eine Java-Entwicklungsumgebung einrichten und das Cloud KMS Java SDK installieren.
Node.js
Um diesen Code auszuführen, richten Sie zuerst eine Node.js-Entwicklungsumgebung ein und installieren Sie das Cloud KMS Node.js SDK.
PHP
Um diesen Code auszuführen, müssen Sie zuerst PHP in Google Cloud verwenden lernen und das Cloud KMS PHP SDK installieren.
Python
Um diesen Code auszuführen, müssen Sie zuerst eine Python-Entwicklungsumgebung einrichten und das Cloud KMS Python SDK installieren.
Ruby
Um diesen Code auszuführen, müssen Sie zuerst eine Ruby-Entwicklungsumgebung einrichten und das Cloud KMS Ruby SDK installieren.
API
In diesen Beispielen wird curl als HTTP-Client verwendet, um die Verwendung der API zu demonstrieren. Weitere Informationen zur Zugriffssteuerung finden Sie unter Auf die Cloud KMS API zugreifen.
Verwenden Sie zum Erstellen eines Schlüssels die Methode CryptoKey.create
:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"purpose": "PURPOSE", "rotationPeriod": "ROTATION_PERIOD", "nextRotationTime": "NEXT_ROTATION_TIME"}'
Ersetzen Sie Folgendes:
PURPOSE
: der Zweck des Schlüssels.ROTATION_PERIOD
: Das Intervall, in dem der Schlüssel rotiert wird, z. B.30d
, damit der Schlüssel alle 30 Tage rotiert wird. Der Rotationszeitraum muss mindestens 1 Tag und darf höchstens 100 Jahre betragen. Weitere Informationen finden Sie unter CryptoKey.rotationPeriod.NEXT_ROTATION_TIME
: der Zeitstempel, zu dem die erste Rotation abgeschlossen werden soll, z. B."2023-01-01T01:02:03"
. Sie können--next-rotation-time
weglassen, um die erste Rotation 7 Tage nach Ausführung des Befehls zu planen. Weitere Informationen finden Sie unter CryptoKey.nextRotationTime.
So konfigurieren Sie die automatische Rotation für einen vorhandenen Schlüssel:
Console
Rufen Sie in der Google Cloud Console die Seite Schlüsselverwaltung auf.
Klicken Sie auf den Namen des Schlüsselbunds, der den Schlüssel enthält, für den Sie einen Rotationsplan hinzufügen möchten.
Klicken Sie auf den Schlüssel, dem Sie einen Rotationsplan hinzufügen möchten.
Klicken Sie in der Kopfzeile auf Rotationszeitraum bearbeiten.
Wählen Sie in der Eingabeaufforderung neue Werte für die Felder Rotationszeitraum und Beginnt am aus.
Klicken Sie in der Eingabeaufforderung auf Speichern.
gcloud
Wenn Sie Cloud KMS in der Befehlszeile verwenden möchten, müssen Sie zuerst die neueste Version der Google Cloud CLI installieren oder ein Upgrade auf die neueste Version durchführen.
gcloud kms keys update KEY_NAME \ --location LOCATION \ --keyring KEY_RING \ --rotation-period ROTATION_PERIOD \ --next-rotation-time NEXT_ROTATION_TIME
Ersetzen Sie Folgendes:
KEY_NAME
: Der Name des Schlüssels.KEY_RING
: der Name des Schlüsselbunds, der den Schlüssel enthält.LOCATION
: der Cloud KMS-Speicherort des Schlüsselbunds.ROTATION_PERIOD
: Das Intervall, in dem der Schlüssel rotiert wird, z. B.30d
, damit der Schlüssel alle 30 Tage rotiert wird. Der Rotationszeitraum muss mindestens 1 Tag und darf höchstens 100 Jahre betragen. Weitere Informationen finden Sie unter CryptoKey.rotationPeriod.NEXT_ROTATION_TIME
: der Zeitstempel, zu dem die erste Rotation abgeschlossen werden soll, z. B."2023-01-01T01:02:03"
. Sie können--next-rotation-time
weglassen, um die erste Rotation 7 Tage nach Ausführung des Befehls zu planen. Weitere Informationen finden Sie unter CryptoKey.nextRotationTime.
Wenn Sie Informationen zu allen Flags und möglichen Werten erhalten möchten, führen Sie den Befehl mit dem Flag --help
aus.
C#
Um diesen Code auszuführen, müssen Sie zuerst eine C#-Entwicklungsumgebung einrichten und das Cloud KMS C# SDK installieren.
Go
Um diesen Code auszuführen, müssen Sie zuerst eine Go-Entwicklungsumgebung einrichten und das Cloud KMS Go SDK installieren.
Java
Um diesen Code auszuführen, müssen Sie zuerst eine Java-Entwicklungsumgebung einrichten und das Cloud KMS Java SDK installieren.
Node.js
Um diesen Code auszuführen, richten Sie zuerst eine Node.js-Entwicklungsumgebung ein und installieren Sie das Cloud KMS Node.js SDK.
PHP
Um diesen Code auszuführen, müssen Sie zuerst PHP in Google Cloud verwenden lernen und das Cloud KMS PHP SDK installieren.
Python
Um diesen Code auszuführen, müssen Sie zuerst eine Python-Entwicklungsumgebung einrichten und das Cloud KMS Python SDK installieren.
Ruby
Um diesen Code auszuführen, müssen Sie zuerst eine Ruby-Entwicklungsumgebung einrichten und das Cloud KMS Ruby SDK installieren.
API
In diesen Beispielen wird curl als HTTP-Client verwendet, um die Verwendung der API zu demonstrieren. Weitere Informationen zur Zugriffssteuerung finden Sie unter Auf die Cloud KMS API zugreifen.
Verwenden Sie die Methode CryptoKey.patch
, um einen Schlüssel zu aktualisieren:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME?updateMask=rotationPeriod,nextRotationTime" \ --request "PATCH" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"rotationPeriod": "ROTATION_PERIOD", "nextRotationTime": "NEXT_ROTATION_TIME"}'
Ersetzen Sie Folgendes:
ROTATION_PERIOD
: Das Intervall, in dem der Schlüssel rotiert wird, z. B.30d
, damit der Schlüssel alle 30 Tage rotiert wird. Der Rotationszeitraum muss mindestens 1 Tag und darf höchstens 100 Jahre betragen. Weitere Informationen finden Sie unter CryptoKey.rotationPeriod.NEXT_ROTATION_TIME
: der Zeitstempel, zu dem die erste Rotation abgeschlossen werden soll, z. B."2023-01-01T01:02:03"
. Sie können--next-rotation-time
weglassen, um die erste Rotation 7 Tage nach Ausführung des Befehls zu planen. Weitere Informationen finden Sie unter CryptoKey.nextRotationTime.
Schlüssel manuell rotieren
Erstellen Sie zuerst eine neue Schlüsselversion:
Console
Rufen Sie in der Google Cloud Console die Seite Schlüsselverwaltung auf.
Klicken Sie auf den Namen des Schlüsselbunds, der den Schlüssel enthält, für den Sie eine neue Schlüsselversion erstellen möchten.
Klicken Sie auf den Schlüssel, für den Sie eine neue Schlüsselversion erstellen möchten.
Klicken Sie in der Kopfzeile auf Rotieren.
Klicken Sie in der Eingabeaufforderung zur Bestätigung auf Rotieren.
gcloud
Wenn Sie Cloud KMS in der Befehlszeile verwenden möchten, müssen Sie zuerst die neueste Version der Google Cloud CLI installieren oder ein Upgrade auf die neueste Version durchführen.
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION
Ersetzen Sie Folgendes:
KEY_NAME
: Der Name des Schlüssels.KEY_RING
: der Name des Schlüsselbunds, der den Schlüssel enthält.LOCATION
: der Cloud KMS-Speicherort des Schlüsselbunds.
Schlüsselversionen werden sequenziell nummeriert.
Wenn Sie Informationen zu allen Flags und möglichen Werten erhalten möchten, führen Sie den Befehl mit dem Flag --help
aus.
C#
Um diesen Code auszuführen, müssen Sie zuerst eine C#-Entwicklungsumgebung einrichten und das Cloud KMS C# SDK installieren.
Go
Um diesen Code auszuführen, müssen Sie zuerst eine Go-Entwicklungsumgebung einrichten und das Cloud KMS Go SDK installieren.
Java
Um diesen Code auszuführen, müssen Sie zuerst eine Java-Entwicklungsumgebung einrichten und das Cloud KMS Java SDK installieren.
Node.js
Um diesen Code auszuführen, richten Sie zuerst eine Node.js-Entwicklungsumgebung ein und installieren Sie das Cloud KMS Node.js SDK.
PHP
Um diesen Code auszuführen, müssen Sie zuerst PHP in Google Cloud verwenden lernen und das Cloud KMS PHP SDK installieren.
Python
Um diesen Code auszuführen, müssen Sie zuerst eine Python-Entwicklungsumgebung einrichten und das Cloud KMS Python SDK installieren.
Ruby
Um diesen Code auszuführen, müssen Sie zuerst eine Ruby-Entwicklungsumgebung einrichten und das Cloud KMS Ruby SDK installieren.
API
In diesen Beispielen wird curl als HTTP-Client verwendet, um die Verwendung der API zu demonstrieren. Weitere Informationen zur Zugriffssteuerung finden Sie unter Auf die Cloud KMS API zugreifen.
Wenn Sie einen Schlüssel manuell rotieren möchten, erstellen Sie zuerst eine neue Schlüsselversion. Rufen Sie dazu die Methode CryptoKeyVersions.create auf.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions" \ --request "POST" \ --header "authorization: Bearer TOKEN"
Mit diesem Befehl wird eine neue Schlüsselversion erstellt, aber nicht als primäre Version festgelegt.
Informationen zum Festlegen Ihrer neuen Schlüsselversion als primäre Schlüsselversion finden Sie unter Vorhandene Version als Primärschlüsselversion festlegen.
Falls erforderlich, verschlüsseln Sie Daten neu, die mit der vorherigen Schlüsselversion verschlüsselt wurden.
Vorhandene Version als Primärschlüsselversion festlegen
Wenn Sie eine andere Schlüsselversion als primäre Version für einen Schlüssel festlegen möchten, aktualisieren Sie den Schlüssel mit den neuen primären Versionsinformationen. Eine Schlüsselversion muss aktiviert sein, bevor Sie sie als primäre Version konfigurieren können.
Console
Rufen Sie in der Google Cloud Console die Seite Schlüsselverwaltung auf.
Klicken Sie auf den Namen des Schlüsselbunds, der den Schlüssel enthält, dessen primäre Version Sie aktualisieren möchten.
Klicken Sie auf den Schlüssel, dessen primäre Version Sie aktualisieren möchten.
Klicken Sie in der Zeile für die Schlüsselversion, die Sie als primäre Version festlegen möchten, auf Mehr anzeigen
.Klicken Sie im Menü auf Als primäre Version festlegen.
Klicken Sie in der Bestätigungsaufforderung auf Als primäre E-Mail-Adresse festlegen.
gcloud
Wenn Sie Cloud KMS in der Befehlszeile verwenden möchten, müssen Sie zuerst die neueste Version der Google Cloud CLI installieren oder ein Upgrade auf die neueste Version durchführen.
gcloud kms keys update KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --primary-version KEY_VERSION
Ersetzen Sie Folgendes:
KEY_NAME
: Der Name des Schlüssels.KEY_RING
: der Name des Schlüsselbunds, der den Schlüssel enthält.LOCATION
: der Cloud KMS-Speicherort des Schlüsselbunds.- KEY_VERSION: die Versionsnummer der neuen Primärschlüsselversion.
Wenn Sie Informationen zu allen Flags und möglichen Werten erhalten möchten, führen Sie den Befehl mit dem Flag --help
aus.
C#
Um diesen Code auszuführen, müssen Sie zuerst eine C#-Entwicklungsumgebung einrichten und das Cloud KMS C# SDK installieren.
Go
Um diesen Code auszuführen, müssen Sie zuerst eine Go-Entwicklungsumgebung einrichten und das Cloud KMS Go SDK installieren.
Java
Um diesen Code auszuführen, müssen Sie zuerst eine Java-Entwicklungsumgebung einrichten und das Cloud KMS Java SDK installieren.
Node.js
Um diesen Code auszuführen, richten Sie zuerst eine Node.js-Entwicklungsumgebung ein und installieren Sie das Cloud KMS Node.js SDK.
PHP
Um diesen Code auszuführen, müssen Sie zuerst PHP in Google Cloud verwenden lernen und das Cloud KMS PHP SDK installieren.
Ruby
Um diesen Code auszuführen, müssen Sie zuerst eine Ruby-Entwicklungsumgebung einrichten und das Cloud KMS Ruby SDK installieren.
Python
Um diesen Code auszuführen, müssen Sie zuerst eine Python-Entwicklungsumgebung einrichten und das Cloud KMS Python SDK installieren.
API
In diesen Beispielen wird curl als HTTP-Client verwendet, um die Verwendung der API zu demonstrieren. Weitere Informationen zur Zugriffssteuerung finden Sie unter Auf die Cloud KMS API zugreifen.
Rufen Sie die Methode CryptoKey.updatePrimaryVersion auf, um die Primärschlüsselversion zu ändern.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME:updatePrimaryVersion" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"cryptoKeyVersionId": "KEY_VERSION"}'
Ersetzen Sie Folgendes:
PROJECT_ID
: die ID des Projekts, das den Schlüsselbund enthält.LOCATION
: der Cloud KMS-Speicherort des Schlüsselbunds.KEY_RING
: der Name des Schlüsselbunds, der den Schlüssel enthält.KEY_NAME
: Der Name des Schlüssels.- KEY_VERSION: die Versionsnummer der neuen Primärschlüsselversion.
Wenn Sie die Primärschlüsselversion ändern, wird die Änderung in der Regel innerhalb von einer Minute konsistent. Es kann jedoch in Ausnahmefällen bis zu 3 Stunden dauern, bis diese Änderung wirksam wird. Während dieser Zeit wird möglicherweise die vorherige Primärversion zum Verschlüsseln von Daten verwendet. Weitere Informationen finden Sie unter Konsistenz von Cloud KMS-Ressourcen.
Automatische Rotation deaktivieren
Löschen Sie den Rotationsplan des Schlüssels, um die automatische Rotation für einen Schlüssel zu deaktivieren:
Console
Rufen Sie in der Google Cloud Console die Seite Schlüsselverwaltung auf.
Klicken Sie auf den Namen des Schlüsselbunds, der den Schlüssel enthält, für den Sie den Rotationsplan entfernen möchten.
Klicken Sie auf den Schlüssel, von dem Sie den Rotationsplan entfernen möchten.
Klicken Sie in der Kopfzeile auf Rotationszeitraum bearbeiten.
Klicken Sie in der Eingabeaufforderung auf das Feld Rotationszeitraum und wählen Sie Nie (manuelle Rotation) aus.
Klicken Sie in der Eingabeaufforderung auf Speichern.
gcloud
Wenn Sie Cloud KMS in der Befehlszeile verwenden möchten, müssen Sie zuerst die neueste Version der Google Cloud CLI installieren oder ein Upgrade auf die neueste Version durchführen.
gcloud kms keys update KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --remove-rotation-schedule
Ersetzen Sie Folgendes:
KEY_NAME
: Der Name des Schlüssels.KEY_RING
: der Name des Schlüsselbunds, der den Schlüssel enthält.LOCATION
: der Cloud KMS-Speicherort des Schlüsselbunds.
Wenn Sie Informationen zu allen Flags und möglichen Werten erhalten möchten, führen Sie den Befehl mit dem Flag --help
aus.
C#
Um diesen Code auszuführen, müssen Sie zuerst eine C#-Entwicklungsumgebung einrichten und das Cloud KMS C# SDK installieren.
Go
Um diesen Code auszuführen, müssen Sie zuerst eine Go-Entwicklungsumgebung einrichten und das Cloud KMS Go SDK installieren.
Java
Um diesen Code auszuführen, müssen Sie zuerst eine Java-Entwicklungsumgebung einrichten und das Cloud KMS Java SDK installieren.
Node.js
Um diesen Code auszuführen, richten Sie zuerst eine Node.js-Entwicklungsumgebung ein und installieren Sie das Cloud KMS Node.js SDK.
PHP
Um diesen Code auszuführen, müssen Sie zuerst PHP in Google Cloud verwenden lernen und das Cloud KMS PHP SDK installieren.
Ruby
Um diesen Code auszuführen, müssen Sie zuerst eine Ruby-Entwicklungsumgebung einrichten und das Cloud KMS Ruby SDK installieren.
Python
Um diesen Code auszuführen, müssen Sie zuerst eine Python-Entwicklungsumgebung einrichten und das Cloud KMS Python SDK installieren.
API
In diesen Beispielen wird curl als HTTP-Client verwendet, um die Verwendung der API zu demonstrieren. Weitere Informationen zur Zugriffssteuerung finden Sie unter Auf die Cloud KMS API zugreifen.
Verwenden Sie die Methode CryptoKey.patch
, um einen Schlüssel zu aktualisieren:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME?updateMask=rotationPeriod,nextRotationTime" \ --request "PATCH" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"rotationPeriod": null, "nextRotationTime": null}'
Weitere Informationen zu rotationPeriod
und nextRotationTime
findest du unter keyRings.cryptoKeys
.
Externen Schlüssel rotieren
Koordinierten externen Schlüssel rotieren
Sie können die automatische Rotation für symmetrische koordinierte externe Schlüssel konfigurieren. Sie können auch manuell eine neue Schlüsselversion für symmetrische oder asymmetrische koordinierte externe Schlüssel erstellen.
Durch Rotieren oder Erstellen einer neuen Schlüsselversion werden alle neu erstellten Daten, die mit diesem Schlüssel geschützt sind, mit der neuen Schlüsselversion verschlüsselt. Daten, die mit einer vorherigen Schlüsselversion geschützt sind, werden nicht neu verschlüsselt. Daher muss Ihr externes Schlüsselverwaltungssystem weiterhin das Schlüsselmaterial der vorherigen Schlüsselversion zur Verfügung stellen.
Führen Sie die folgenden Schritte aus, um eine neue Schlüsselversion für einen koordinierten externen Schlüssel zu erstellen:
Console
Rufen Sie in der Google Cloud Console die Seite Schlüsselverwaltung auf.
Wählen Sie den Schlüsselbund und dann den Schlüssel aus.
Klicken Sie auf Create version (Version erstellen). Eine Nachricht zeigt an, dass Ihre neue Schlüsselversion sowohl in Cloud KMS als auch in EKM generiert wird. Wenn Sie das Feld Schlüsselpfad oder Schlüssel-URI sehen, ist der ausgewählte Schlüssel kein koordinierter externer Schlüssel.
Klicken Sie auf Version erstellen, um zu bestätigen, dass Sie eine neue Schlüsselversion erstellen möchten.
Die neue Schlüsselversion wird im Status Generierung ausstehend angezeigt. Bei symmetrischen Schlüsseln werden manuell erstellte Schlüsselversionen nicht automatisch als Primärschlüsselversion festgelegt. Sie können die neue Schlüsselversion als primäre Version festlegen.
gcloud-CLI
Verwenden Sie den Befehl kms keys versions create
mit dem Flag --primary
, um eine neue symmetrische Schlüsselversion zu erstellen und als Primärschlüsselversion festzulegen:
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --primary
Ersetzen Sie Folgendes:
KEY_NAME
: Der Name des Schlüssels.KEY_RING
: der Name des Schlüsselbunds, der den Schlüssel enthält.LOCATION
: der Cloud KMS-Speicherort des Schlüsselbunds.
Verwenden Sie den Befehl kms keys versions
create
, um eine neue asymmetrische Schlüsselversion oder eine neue symmetrische Schlüsselversion zu erstellen, die nicht die Primärschlüsselversion ist:
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION
Ersetzen Sie Folgendes:
KEY_NAME
: Der Name des Schlüssels.KEY_RING
: der Name des Schlüsselbunds, der den Schlüssel enthält.LOCATION
: der Cloud KMS-Speicherort des Schlüsselbunds.
Manuell verwalteten Cloud EKM über VPC-Schlüssel rotieren
Rotieren Sie zuerst das externe Schlüsselmaterial in Ihrem External Key Manager. Wenn dies zu einem neuen Schlüsselpfad führt, müssen Sie eine Cloud EKM-Schlüsselversion rotieren oder eine neue mit dem neuen Schlüsselpfad erstellen. Bei symmetrischen Verschlüsselungsschlüsseln rotieren Sie den Cloud EKM-Schlüssel und geben Sie den neuen Schlüsselpfad aus Ihrem External Key Manager an. Für asymmetrische Schlüssel erstellen Sie eine neue Schlüsselversion und geben den neuen Schlüsselpfad an.
Durch Rotieren oder Erstellen einer neuen Schlüsselversion werden alle neu erstellten Daten, die mit diesem Schlüssel geschützt sind, mit der neuen Schlüsselversion verschlüsselt. Daten, die mit einer vorherigen Schlüsselversion geschützt sind, werden nicht neu verschlüsselt. Daher muss Ihr externes Schlüsselverwaltungssystem weiterhin das Schlüsselmaterial der vorherigen Schlüsselversion zur Verfügung stellen.
Wenn sich das Schlüsselmaterial im Partnersystem für die externe Schlüsselverwaltung nicht ändert, sich aber der Schlüsselpfad ändert, können Sie den externen Pfad des Schlüssels aktualisieren, ohne den Schlüssel zu rotieren.
Console
Rufen Sie in der Google Cloud Console die Seite Schlüsselverwaltung auf.
Wählen Sie den Schlüsselbund und dann den Schlüssel aus.
Klicken Sie auf Schlüssel rotieren.
Geben Sie unter Schlüsselpfad den Schlüsselpfad für die neue Version ein.
Klicken Sie zum Bestätigen auf Schlüssel rotieren.
gcloud
Wenn Sie Cloud KMS in der Befehlszeile verwenden möchten, müssen Sie zuerst die neueste Version der Google Cloud CLI installieren oder ein Upgrade auf die neueste Version durchführen.
Verwenden Sie den Befehl kms keys versions create
mit dem Flag --primary
, um eine neue symmetrische Schlüsselversion zu erstellen und als Primärschlüsselversion festzulegen:
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --ekm-connection-key-path EXTERNAL_KEY_PATH \ --primary
Ersetzen Sie Folgendes:
KEY_NAME
: Der Name des Schlüssels.KEY_RING
: der Name des Schlüsselbunds, der den Schlüssel enthält.LOCATION
: der Cloud KMS-Speicherort des Schlüsselbunds.EXTERNAL_KEY_PATH
: der Pfad zur neuen externen Schlüsselversion.
Verwenden Sie den Befehl kms keys versions
create
, um eine neue asymmetrische Schlüsselversion oder eine neue symmetrische Schlüsselversion zu erstellen, die nicht die Primärschlüsselversion ist:
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --ekm-connection-key-path EXTERNAL_KEY_PATH
Ersetzen Sie Folgendes:
KEY_NAME
: Der Name des Schlüssels.KEY_RING
: der Name des Schlüsselbunds, der den Schlüssel enthält.LOCATION
: der Cloud KMS-Speicherort des Schlüsselbunds.EXTERNAL_KEY_PATH
: der Pfad zur neuen externen Schlüsselversion.
Wenn Sie Informationen zu allen Flags und möglichen Werten erhalten möchten, führen Sie den Befehl mit dem Flag --help
aus.
Nachdem die Schlüsselversion erstellt wurde, können Sie sie wie jede andere Cloud KMS-Schlüsselversion verwenden.
Manuell verwalteten Cloud EKM über einen Internetschlüssel rotieren
Rotieren Sie zuerst das externe Schlüsselmaterial in Ihrem External Key Manager. Wenn dies zu einem neuen URI führt, müssen Sie eine neue Cloud EKM-Schlüsselversion mit dem neuen URI erstellen oder rotieren. Bei symmetrischen Verschlüsselungsschlüsseln rotieren Sie den Cloud EKM-Schlüssel und geben Sie den neuen Schlüssel-URI aus Ihrem External Key Manager an. Für asymmetrische Schlüssel erstellen Sie eine neue Schlüsselversion und geben den neuen Schlüssel-URI an.
Durch Rotieren oder Erstellen einer neuen Schlüsselversion werden alle neu erstellten Daten, die mit diesem Schlüssel geschützt sind, mit der neuen Schlüsselversion verschlüsselt. Daten, die mit einer vorherigen Schlüsselversion geschützt sind, werden nicht neu verschlüsselt. Daher muss Ihr externes Schlüsselverwaltungssystem weiterhin das Schlüsselmaterial der vorherigen Schlüsselversion zur Verfügung stellen.
Wenn sich das Schlüsselmaterial im Partnersystem für die externe Schlüsselverwaltung nicht ändert, aber der URI ändert, können Sie den externen URI des Schlüssels aktualisieren, ohne den Schlüssel zu rotieren.
Console
Rufen Sie in der Google Cloud Console die Seite Schlüsselverwaltung auf.
Wählen Sie den Schlüsselbund und dann den Schlüssel aus.
Wählen Sie Schlüssel rotieren für symmetrische Schlüssel oder Version erstellen für asymmetrische Schlüssel aus.
Geben Sie den neuen Schlüssel-URI ein und wählen Sie dann Schlüssel rotieren für symmetrische Schlüssel oder Version erstellen für asymmetrische Schlüssel aus.
Die neue Schlüsselversion wird die Hauptversion.
gcloud-CLI
Verwenden Sie den Befehl kms keys versions create
mit dem Flag --primary
, um eine neue symmetrische Schlüsselversion zu erstellen und als Primärschlüsselversion festzulegen:
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --external-key-uri EXTERNAL_KEY_URI \ --primary
Ersetzen Sie Folgendes:
KEY_NAME
: Der Name des Schlüssels.KEY_RING
: der Name des Schlüsselbunds, der den Schlüssel enthält.LOCATION
: der Cloud KMS-Speicherort des Schlüsselbunds.EXTERNAL_KEY_URI
: der Schlüssel-URI der neuen externen Schlüsselversion.
Verwenden Sie den Befehl kms keys versions
create
, um eine neue asymmetrische Schlüsselversion oder eine neue symmetrische Schlüsselversion zu erstellen, die nicht die Primärschlüsselversion ist:
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --external-key-uri EXTERNAL_KEY_URI
Ersetzen Sie Folgendes:
KEY_NAME
: Der Name des Schlüssels.KEY_RING
: der Name des Schlüsselbunds, der den Schlüssel enthält.LOCATION
: der Cloud KMS-Speicherort des Schlüsselbunds.EXTERNAL_KEY_URI
: der Schlüssel-URI der neuen externen Schlüsselversion.