Auf dieser Seite erfahren Sie, wie Sie einen Schlüssel automatisch oder manuell rotieren. 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 Ihren Schlüssel zuzuweisen, um die Berechtigungen zu 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 auf Projekte, Ordner und Organisationen 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 zum Rotieren von Schlüsseln erforderlich:
-
Primäre Schlüsselversion ändern:
cloudkms.cryptoKeys.update
-
Automatische Bildschirmrotation ä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
-
Sie können 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 selbst neu verschlüsseln. Nutzer mit der Rolle „Cloud KMS-Administrator“ und der Rolle „Cloud KMS CryptoKey-Verschlüsseler/-Entschlüsseler“ können zusammenarbeiten, um Schlüssel zu rotieren und Daten neu zu verschlüsseln. Beachten Sie beim Zuweisen von Rollen das 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 gelöscht. Durch das Löschen von Schlüsselversionen, die nicht mehr benötigt werden, können Sie Kosten senken.
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 Ihres Schlüssels einen anderen Rotationszeitraum und einen anderen Beginn angeben, bevor Sie auf die Schaltfläche Erstellen klicken:
Wählen Sie unter Schlüsselrotationszeitraum eine Option aus.
Wählen Sie unter Ab das Datum aus, an dem die erste automatische Rotation erfolgen soll. Sie können Beginnend am auf dem Standardwert belassen, um die erste automatische Rotation einen Schlüsselrotationszeitraum nach der Erstellung des Schlüssels zu starten.
gcloud
Wenn Sie Cloud KMS in der Befehlszeile verwenden möchten, müssen Sie zuerst Google Cloud CLI installieren oder ein Upgrade ausfü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ältLOCATION
: der Cloud KMS-Speicherort des Schlüsselbunds.ROTATION_PERIOD
: Das Intervall für die Rotation des Schlüssels, z. B.30d
für eine Rotation alle 30 Tage. Der Rotationszeitraum muss mindestens 1 Tag und höchstens 100 Jahre lang sein. 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 für einen Rotationszeitraum ab dem Zeitpunkt zu planen, an dem Sie den Befehl ausführen. Weitere Informationen finden Sie unterCryptoKey.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 die Informationen zur Verwendung von PHP in Google Cloud lesen 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 für die Rotation des Schlüssels, z. B.30d
für eine Rotation alle 30 Tage. Der Rotationszeitraum muss mindestens 1 Tag und höchstens 100 Jahre lang sein. 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
. 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 Google Cloud CLI installieren oder ein Upgrade ausfü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ältLOCATION
: der Cloud KMS-Speicherort des Schlüsselbunds.ROTATION_PERIOD
: Das Intervall für die Rotation des Schlüssels, z. B.30d
für eine Rotation alle 30 Tage. Der Rotationszeitraum muss mindestens 1 Tag und höchstens 100 Jahre lang sein. Weitere Informationen finden Sie unter CryptoKey.rotationPeriod.NEXT_ROTATION_TIME
: Der Zeitstempel, zu dem die nächste Rotation abgeschlossen werden soll, z. B.2023-01-01T01:02:03
. Sie können--next-rotation-time
weglassen, um die nächste Rotation für einen Rotationszeitraum nach dem Ausführen des Befehls zu planen. Weitere Informationen finden Sie unterCryptoKey.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 die Informationen zur Verwendung von PHP in Google Cloud lesen 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 Aktualisieren eines Schlüssels die Methode CryptoKey.patch
:
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 für die Rotation des Schlüssels, z. B.30d
für eine Rotation alle 30 Tage. Der Rotationszeitraum muss mindestens 1 Tag und höchstens 100 Jahre lang sein. Weitere Informationen finden Sie unter CryptoKey.rotationPeriod.NEXT_ROTATION_TIME
: Der Zeitstempel, zu dem die nächste Rotation abgeschlossen werden soll, z. B.2023-01-01T01:02:03
. 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 Google Cloud CLI installieren oder ein Upgrade ausfü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ältLOCATION
: 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 die Informationen zur Verwendung von PHP in Google Cloud lesen 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.
Um einen Schlüssel manuell zu rotieren, erstellen Sie zuerst eine neue Schlüsselversion, indem Sie die Methode CryptoKeyVersions.create aufrufen.
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, die jedoch nicht als primäre Version festgelegt wird.
Informationen zum Festlegen der neuen Schlüsselversion als primäre Version finden Sie unter Vorhandene Version als primäre Schlüsselversion festlegen.
Falls erforderlich, verschlüsseln Sie Daten neu, die mit der vorherigen Schlüsselversion verschlüsselt wurden.
Vorhandene Version als primäre Schlü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 Google Cloud CLI installieren oder ein Upgrade ausfü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ältLOCATION
: der Cloud KMS-Speicherort des Schlüsselbunds.- KEY_VERSION: Die Versionsnummer der neuen primären 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.
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 die Informationen zur Verwendung von PHP in Google Cloud lesen 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.
Sie können die primäre Schlüsselversion mithilfe der Methode CryptoKey.updatePrimaryVersion ä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ältKEY_NAME
: Der Name des Schlüssels.- KEY_VERSION: Die Versionsnummer der neuen primären Schlüsselversion.
Wenn Sie die Primärschlüsselversion ändern, wird die Änderung in der Regel innerhalb von einer Minute konsistent. In Ausnahmefällen kann es jedoch bis zu 3 Stunden dauern, bis diese Änderung wirksam wird. Während dieser Zeit wird die vorherige primäre Version möglicherweise 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, für den 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 Google Cloud CLI installieren oder ein Upgrade ausfü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ältLOCATION
: 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 die Informationen zur Verwendung von PHP in Google Cloud lesen 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 zum Aktualisieren eines Schlüssels die Methode CryptoKey.patch
:
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
finden Sie unter keyRings.cryptoKeys
.
Externen Schlüssel rotieren
Abgestimmten 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.
Wenn Sie eine neue Schlüsselversion rotieren oder erstellen, werden alle neu erstellten Daten, die mit diesem Schlüssel geschützt sind, mit der neuen Schlüsselversion verschlüsselt. Daten, die mit einer früheren Schlüsselversion geschützt sind, werden nicht neu verschlüsselt. Daher muss Ihr externes Schlüsselverwaltungssystem das Schlüsselmaterial der vorherigen Schlüsselversion weiterhin zur Verfügung stellen.
So erstellen Sie eine neue Schlüsselversion für einen koordinierten externen Schlüssel:
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 Meldung weist darauf hin, dass Ihre neue Schlüsselversion sowohl in Cloud KMS als auch in Ihrem EKM generiert wird. Wenn Sie das Feld Schlüsselpfad oder Schlüssel-URI sehen, ist der ausgewählte Schlüssel kein koordiniertes externes 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 mit dem Status Pending generation (Generierung ausstehend) angezeigt. Bei symmetrischen Schlüsseln werden manuell erstellte Schlüsselversionen nicht automatisch als primäre Schlüsselversion festgelegt. Sie können Ihre neue Schlüsselversion als primär festlegen.
gcloud-CLI
Wenn Sie eine neue symmetrische Schlüsselversion erstellen und als primäre Schlüsselversion festlegen möchten, verwenden Sie den Befehl kms keys versions create
mit dem Flag --primary
:
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ältLOCATION
: 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äre Schlü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ältLOCATION
: der Cloud KMS-Speicherort des Schlüsselbunds.
Manuell verwalteten Cloud EKM-Schlüssel über VPC rotieren
Rotieren Sie zuerst das externe Schlüsselmaterial in Ihrem externen Schlüsselverwaltungssystem. Wenn dadurch ein neuer Schlüsselpfad entsteht, müssen Sie eine neue Cloud EKM-Schlüsselversion mit dem neuen Schlüsselpfad rotieren oder 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. Bei asymmetrischen Schlüsseln erstellen Sie eine neue Schlüsselversion und geben Sie den neuen Schlüsselpfad an.
Wenn Sie eine neue Schlüsselversion rotieren oder erstellen, werden alle neu erstellten Daten, die mit diesem Schlüssel geschützt sind, mit der neuen Schlüsselversion verschlüsselt. Daten, die mit einer früheren Schlüsselversion geschützt sind, werden nicht neu verschlüsselt. Daher muss Ihr externes Schlüsselverwaltungssystem das Schlüsselmaterial der vorherigen Schlüsselversion weiterhin 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 zur Bestätigung auf Schlüssel rotieren.
gcloud
Wenn Sie Cloud KMS in der Befehlszeile verwenden möchten, müssen Sie zuerst Google Cloud CLI installieren oder ein Upgrade ausführen.
Wenn Sie eine neue symmetrische Schlüsselversion erstellen und als primäre Schlüsselversion festlegen möchten, verwenden Sie den Befehl kms keys versions create
mit dem Flag --primary
:
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ältLOCATION
: 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äre Schlü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ältLOCATION
: 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 erfolgreich erstellt wurde, können Sie sie wie jede andere Cloud KMS-Schlüsselversion verwenden.
Manuell verwalteten Cloud EKM-Schlüssel über einen Internetschlüssel rotieren
Rotieren Sie zuerst das externe Schlüsselmaterial in Ihrem externen Schlüsselverwaltungssystem. Wenn dadurch ein neuer URI entsteht, müssen Sie den Cloud EKM-Schlüssel rotieren oder eine neue Cloud EKM-Schlüsselversion mit dem neuen URI erstellen. 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. Bei asymmetrischen Schlüsseln erstellen Sie eine neue Schlüsselversion und geben Sie den neuen Schlüssel-URI an.
Wenn Sie eine neue Schlüsselversion rotieren oder erstellen, werden alle neu erstellten Daten, die mit diesem Schlüssel geschützt sind, mit der neuen Schlüsselversion verschlüsselt. Daten, die mit einer früheren Schlüsselversion geschützt sind, werden nicht neu verschlüsselt. Daher muss Ihr externes Schlüsselverwaltungssystem das Schlüsselmaterial der vorherigen Schlüsselversion weiterhin zur Verfügung stellen.
Wenn sich das Schlüsselmaterial im externen Schlüsselverwaltungspartnersystem nicht ändert, sich 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 für symmetrische Schlüssel Schlüssel rotieren und für asymmetrische Schlüssel Version erstellen aus.
Geben Sie den neuen Schlüssel-URI ein und wählen Sie für symmetrische Schlüssel Schlüssel rotieren und für asymmetrische Schlüssel Version erstellen aus.
Die neue Schlüsselversion wird die Hauptversion.
gcloud-CLI
Wenn Sie eine neue symmetrische Schlüsselversion erstellen und als primäre Schlüsselversion festlegen möchten, verwenden Sie den Befehl kms keys versions create
mit dem Flag --primary
:
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ältLOCATION
: 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äre Schlü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ältLOCATION
: der Cloud KMS-Speicherort des Schlüsselbunds.EXTERNAL_KEY_URI
: Der Schlüssel-URI der neuen externen Schlüsselversion.
Nächste Schritte
- Nachdem Sie einen Schlüssel rotiert haben, können Sie Daten neu verschlüsseln, die mit diesem Schlüssel verschlüsselt wurden.
- Nachdem Sie Ihre Daten neu verschlüsselt haben, können Sie prüfen, ob die Schlüsselversion verwendet wird.
- Nachdem Sie bestätigt haben, dass eine Schlüsselversion nicht mehr verwendet wird, können Sie sie löschen.