In diesem Dokument erfahren Sie, wie Sie manuell erstellte Cloud Key Management Service (Cloud KMS)-Schlüssel zum Verschlüsseln von Laufwerken und anderen speicherbezogenen Ressourcen verwenden. In Cloud KMS verwaltete Schlüssel werden als vom Kunden verwaltete Verschlüsselungsschlüssel (CMEKs) bezeichnet.
Sie können mit CMEKs Compute Engine-Ressourcen wie Laufwerke, Maschinen-Images und Instant Snapshots sowie Standard-Snapshots verschlüsseln.
Weitere Informationen zur Verschlüsselung von Laufwerken und anderen Speicherressourcen mit vom Kunden bereitgestellten Verschlüsselungsschlüsseln finden Sie unter Laufwerke mit vom Kunden bereitgestellten Verschlüsselungsschlüsseln verschlüsseln.
Weitere Informationen zur Laufwerksverschlüsselung.
Hinweise
- Machen Sie sich mit den Informationen zu Laufwerken, Images, Snapshots von nichtflüchtigem Speicher und VM-Instanzen vertraut.
- Überlegen Sie sich, ob Sie Compute Engine und Cloud KMS im selben Google Cloud -Projekt oder in verschiedenen Projekten ausführen möchten. Informationen zu Google Cloud -Projekt-IDs und -Projektnummern finden Sie unter Projekte identifizieren.
- Gehen Sie für das Google Cloud -Projekt, in dem Cloud KMS ausgeführt wird, so vor:
-
Enable the Cloud KMS API.
-
- + Wenn Sie ein neues Hyperdisk Balanced-Volume im vertraulichen Modus erstellen möchten, prüfen Sie, ob Ihr Anwendungsfall unterstützt wird. Sehen Sie sich dazu die Einschränkungen und unterstützten Regionen an.
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud -Dienste und ‑APIs überprüft.
Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich bei Compute Engine authentifizieren. Wählen Sie dazu eine der folgenden Optionen aus:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
KMS_PROJECT_ID
: die ID IhresGoogle Cloud -Projekts, in dem Cloud KMS ausgeführt wird (auch wenn dies dasselbe Projekt ist, in dem Compute Engine ausgeführt wird)PROJECT_NUMBER
: die Projektnummer (nicht die Google Cloud -Projekt-ID) des Google Cloud -Projekts, in dem die Compute Engine-Ressourcen ausgeführt werdenVorhandene Ressourcen können nicht mit CMEKs verschlüsselt werden. Sie können Laufwerke, Images und Snapshots nur dann mit CMEKs verschlüsseln, wenn Sie sie erstellen.
Wenn Sie ein Laufwerk aus einem CMEK-verschlüsselten Instant Snapshot erstellen, müssen Sie den Schlüssel angeben, mit dem das Quelllaufwerk verschlüsselt wurde. Sie müssen den Schlüssel nicht angeben, wenn Sie mit anderen CMEK-verschlüsselten Ressourcen wie Laufwerkklonen und Standard-Snapshots arbeiten.
Sie können Ihre eigenen Schlüssel nicht mit lokalen SSDs verwenden, da die Schlüssel von der Google Cloud -Infrastruktur verwaltet und gelöscht werden, wenn die VM beendet wird.
Regionale Ressourcen (Laufwerke) können nur mit einem Schlüssel an einem der folgenden Cloud KMS-Standorte verschlüsselt werden:
- Einen Schlüssel in derselben Region wie das Laufwerk
- Einen multiregionalen Schlüssel am selben geografischen Standort wie das Laufwerk
- Ein Schlüssel im globalen Speicherort.
Beispielsweise kann ein Laufwerk in Zone
us-west1-a
mit einem Schlüssel am globalen Speicherort, in der Regionus-west1
oder in der Multi-Regionus
verschlüsselt werden.Globale Ressourcen wie Images und Snapshots können mit Schlüsseln an jedem beliebigen Standort verschlüsselt werden. Weitere Informationen finden Sie unter Standorttypen für Cloud KMS.
Die Verschlüsselung eines Laufwerks, eines Snapshots oder eines Images mit einem Schlüssel ist permanent. Sie können die Verschlüsselung nicht aus der Ressource entfernen, die Verschlüsselungsart nicht ändern und den verwendeten Schlüssel nicht ändern. Die einzige Möglichkeit zum Entfernen von Verschlüsselungs- oder Änderungsschlüsseln besteht darin, eine Kopie der Ressource zu erstellen und dabei eine neue Verschlüsselungsoption anzugeben. So ändern Sie beispielsweise die Verwendung von von Google generierten Schlüsseln für ein Laufwerk in CMEKs:
- Erstellen Sie einen Snapshot des Laufwerks.
- Erstellen Sie ein neues Laufwerk anhand dieses Snapshots. Wählen Sie beim Erstellen des neuen Laufwerks den gewünschten Verschlüsselungstyp aus.
Weitere Informationen finden Sie unter Typ eines Laufwerks ändern.
- Rufen Sie in der Google Cloud Console die Seite Laufwerke auf.
- Klicken Sie auf Laufwerk erstellen und geben Sie die Attribute für das neue Laufwerk ein.
- Wählen Sie unter Verschlüsselung die Option Vom Kunden verwalteter Schlüssel aus.
- Wählen Sie im Drop-down-Menü den Cloud KMS-Schlüssel aus, mit dem Sie dieses Laufwerk verschlüsseln möchten.
- Klicken Sie auf Erstellen, um das Laufwerk anzulegen.
DISK_NAME
: Name des neuen LaufwerksKMS_PROJECT_ID
: das Projekt, dem der Cloud KMS-Schlüssel gehörtREGION
: die Region, in der sich der Schlüssel befindetKEY_RING
: der Name des Schlüsselbunds, der den Schlüssel enthältKEY
: der Name des Schlüssels, mit dem das Laufwerk verschlüsselt wirdPROJECT_ID
: die ID desGoogle Cloud -Projekts, in dem Compute Engine ausgeführt wirdZONE
ist die Zone, in der die VM erstellt werden soll.MACHINE_TYPE
: der Maschinentyp, z. B.c3-standard-4
KMS_PROJECT_ID
: das Projekt, dem der Cloud KMS-Schlüssel gehörtREGION
: die Region, in der sich das Laufwerk befindetKEY_RING
: der Name des Schlüsselbunds, der den Schlüssel enthältKEY
: der Name des Schlüssels, mit dem das Laufwerk verschlüsselt wirdSOURCE_IMAGE
: das Image, das beim Erstellen der VM verwendet werden soll, z. B.projects/debian-cloud/global/images/debian-11-bullseye-v20231115
PROJECT_ID
: die ID desGoogle Cloud -Projekts, in dem Compute Engine ausgeführt wirdZONE
: Zone, in der die VM erstellt werden sollSOURCE_IMAGE
: das Image, das beim Erstellen des Laufwerks verwendet werden soll, z. B.projects/debian-cloud/global/images/debian-11-bullseye-v20231115
DISK_NAME
: ein Name für das neue LaufwerkKMS_PROJECT_ID
: das Projekt, dem der Cloud KMS-Schlüssel gehörtREGION
: die Region, in der sich das Laufwerk befindetKEY_RING
: der Name des Schlüsselbunds, der den Schlüssel enthältKEY
: der Name des Schlüssels, mit dem das Laufwerk verschlüsselt wirdDISK_TYPE
: der zu erstellende Laufwerkstyp- Rufen Sie in der Google Cloud -Konsole die Seite Laufwerke auf.
- Klicken Sie auf Laufwerk erstellen und geben Sie die Attribute für das neue Laufwerk ein.
- Wählen Sie im Bereich Laufwerkeinstellungen als Laufwerkstyp Hyperdisk Balanced aus.
- Optional. Ändern Sie die Standardeinstellungen für Größe, Bereitgestellte IOPS und Bereitgestellter Durchsatz des Laufwerks.
- Wählen Sie im Abschnitt Verschlüsselung die Option Cloud KMS-Schlüssel aus.
- Wählen Sie in der Liste der Schlüssel den Cloud HSM-Schlüssel aus, mit dem Sie dieses Laufwerk verschlüsseln möchten.
- Wählen Sie im Abschnitt Confidential Computing die Option Confidential Computing-Dienste aktivieren aus.
- Klicken Sie auf Erstellen, um das Laufwerk anzulegen.
DISK_NAME
: Name des neuen LaufwerksKMS_PROJECT_ID
: das Projekt, dem der Cloud HSM-Schlüssel gehörtREGION
: die Region, in der sich der Schlüssel befindetKEY_RING
: der Name des Schlüsselbunds, der den Schlüssel enthältKEY
: der Name des Schlüssels, mit dem das Laufwerk verschlüsselt wirdDISK_TYPE
: der zu erstellende Laufwerkstyp, z. B.hyperdisk-balanced
PROJECT_ID
: die ID des Google Cloud -Projekts, in dem Compute Engine ausgeführt wirdZONE
ist die Zone, in der die VM erstellt werden soll.MACHINE_TYPE
: der Maschinentyp, z. B.n2d-standard-4
KMS_PROJECT_ID
: das Projekt, dem der Cloud HSM-Schlüssel gehörtREGION
: die Region, in der sich das Laufwerk befindetKEY_RING
: der Name des Schlüsselbunds, der den Schlüssel enthältKEY
: der Name des Schlüssels, mit dem das Laufwerk verschlüsselt wirdSOURCE_IMAGE
: das Image, das Confidential VMs unterstützt und beim Erstellen der VM verwendet werden soll, z. B.projects/debian-cloud/global/images/debian-11-bullseye-v20231115
PROJECT_ID
: die ID desGoogle Cloud -Projekts, in dem Compute Engine ausgeführt wirdZONE
: Zone, in der die VM erstellt werden sollSOURCE_IMAGE
: das Image, das beim Erstellen des Laufwerks vertrauliche VMs unterstützt, z. B.projects/debian-cloud/global/images/debian-11-bullseye-v20231115
DISK_NAME
: ein Name für das neue LaufwerkKMS_PROJECT_ID
: das Projekt, dem der Cloud HSM-Schlüssel gehörtREGION
: die Region, in der sich das Laufwerk befindetKEY_RING
: der Name des Schlüsselbunds, der den Schlüssel enthältKEY
: der Name des Schlüssels, mit dem das Laufwerk verschlüsselt wirdDISK_TYPE
: der zu erstellende Laufwerkstyp, z. B.hyperdisk-balanced
- Rufen Sie in der Google Cloud -Konsole die Seite Snapshots auf.
- Klicken Sie auf Snapshot erstellen.
- Wählen Sie unter Quelllaufwerk das Quelllaufwerk für den Snapshot aus. Der Snapshot wird automatisch mit demselben Schlüssel verschlüsselt wie das Quelllaufwerk.
Verwenden Sie den Befehl
gcloud compute snapshots create
, um einen Snapshot am vordefinierten oder benutzerdefinierten Standardspeicherort zu erstellen, der in Ihren Snapshot-Einstellungen konfiguriert ist.gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE
-
Alternativ können Sie die Snapshot-Einstellungen überschreiben und einen Snapshot an einem benutzerdefinierten Speicherort erstellen. Geben Sie dazu das Flag
--storage-location
an, um festzulegen, wo der Snapshot gespeichert werden soll:gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE \ --storage-location=STORAGE_LOCATION
Ersetzen Sie Folgendes:
- SNAPSHOT_NAME: Ein Name für den Snapshot.
- SOURCE_ZONE: Die Zone des Quelllaufwerks.
- SOURCE_DISK_NAME: Der Name des Laufwerk-Volumes, von dem Sie einen Snapshot erstellen möchten.
- SNAPSHOT_TYPE: Der Snapshot-Typ, entweder STANDARD oder ARCHIVE.
Wenn kein Snapshot-Typ angegeben ist, wird ein
STANDARD
-Snapshot erstellt. -
STORAGE_LOCATION: Optional: Der multiregionale Cloud Storage-Speicherort oder die Cloud Storage-Region, in der Sie den Snapshot speichern möchten. Sie können nur einen Speicherort angeben.
Verwenden Sie den Parameter
--storage-location
nur, wenn Sie den vordefinierten oder benutzerdefinierten Standardspeicherort überschreiben möchten, der in Ihren Snapshot-Einstellungen konfiguriert ist.
-
Zum Erstellen eines Snapshots am vordefinierten oder benutzerdefinierten Standardspeicherort, der in Ihren Snapshot-Einstellungen konfiguriert ist, senden Sie eine
POST
-Anfrage an die Methodesnapshots.insert
:POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/KEY_REGION/keyRings/KEY_RING/cryptoKeys/SNAPSHOT_KEY" }, "snapshotType": "SNAPSHOT_TYPE" }
-
Wenn Sie alternativ die Snapshot-Einstellungen überschreiben und einen Snapshot an einem benutzerdefinierten Speicherort erstellen möchten, senden Sie eine
POST
-Anfrage an diesnapshots.insert
Methode und fügen Sie das AttributstorageLocations
in Ihre Anfrage ein:POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/KEY_REGION/keyRings/KEY_RING/cryptoKeys/SNAPSHOT_KEY" }, "snapshotType": "SNAPSHOT_TYPE", "storageLocations": [ "STORAGE_LOCATION" ], }
- DESTINATION_PROJECT_ID: Die ID des Projekts, in dem Sie den Snapshot erstellen möchten.
- SNAPSHOT_NAME: Ein Name für den Snapshot.
- SOURCE_PROJECT_ID: Die ID des Projekts des Quelllaufwerks.
- SOURCE_ZONE: Die Zone des Quelllaufwerks.
- SOURCE_DISK_NAME: der Name des Laufwerks, von dem Sie einen Snapshot erstellen möchten
- KMS_PROJECT_ID: das Projekt, das den im Cloud Key Management Service gespeicherten Verschlüsselungsschlüssel enthält
- KEY_REGION: die Region, in der sich der Cloud KMS-Schlüssel befindet
- KEY_RING: der Name des Schlüsselbunds, der den Cloud KMS-Schlüssel enthält
- SNAPSHOT_KEY: der Name des Cloud KMS-Schlüssels, den Sie zum Verschlüsseln des Quelllaufwerks verwendet haben
- SNAPSHOT_TYPE: der Snapshot-Typ, entweder STANDARD oder ARCHIVE
Wenn kein Snapshot-Typ angegeben ist, wird ein
STANDARD
-Snapshot erstellt. -
STORAGE_LOCATION: Optional: Der multiregionale Cloud Storage-Speicherort oder die Cloud Storage-Region, in der Sie den Snapshot speichern möchten. Sie können nur einen Speicherort angeben.
Verwenden Sie den Parameter
storageLocations
nur, wenn Sie den vordefinierten oder benutzerdefinierten Standardspeicherort überschreiben möchten, der in Ihren Snapshot-Einstellungen konfiguriert ist. - Rufen Sie in der Google Cloud Console die Seite Images auf.
- Klicken Sie auf Image erstellen.
- Wählen Sie unter Quelllaufwerk das Laufwerk aus, von dem Sie ein Image erstellen möchten.
- Wählen Sie unter Verschlüsselung die Option Vom Kunden verwalteter Schlüssel aus.
- Wählen Sie im Drop-down-Menü den Cloud KMS-Schlüssel aus, mit dem Sie das Image verschlüsseln möchten.
- Fahren Sie dann mit der Erstellung des Images fort.
IMAGE_NAME
: der Name des Images, das Sie erstellenSOURCE_DISK
: der Name des Laufwerks, von dem ein Snapshot erstellt werden sollKMS_PROJECT_ID
: das Projekt, das den Cloud KMS-Schlüssel enthältREGION
: die Region, in der sich der Cloud KMS-Schlüssel befindetKEY_RING
: der Schlüsselbund, der den Cloud KMS-Schlüssel enthältKEY
: der Name des Schlüssels, mit dem das neue Laufwerk verschlüsselt wirdPROJECT_ID
: das Projekt, in dem das verschlüsselte Image erstellt werden sollIMAGE_NAME
: der Name des Images, das Sie erstellenKMS_PROJECT_ID
: das Projekt, das den Cloud KMS-Schlüssel enthältREGION
: die Region, in der sich der Cloud KMS-Schlüssel befindetKEY_RING
: der Schlüsselbund, der den Cloud KMS-Schlüssel enthältKEY
: der Name des Schlüssels, mit dem Sie das Quelllaufwerk verschlüsselt haben- Rufen Sie in der Google Cloud Console die Seite Laufwerke auf.
- Klicken Sie auf Laufwerk erstellen und geben Sie die Attribute für das neue Laufwerk ein.
- Wählen Sie unter Quelltyp den Snapshot oder das Image aus, das Sie verwenden möchten.
Optional: Wenn Sie einen neuen Verschlüsselungsschlüssel angeben möchten, geben Sie unter Verschlüsselung den entsprechenden Verschlüsselungsschlüssel an und geben Sie dann die Informationen zum Verschlüsselungsschlüssel an.
Wenn Sie den vom Kunden verwalteten oder vom Kunden bereitgestellten Verschlüsselungsschlüssel entfernen möchten, verwenden Sie für Verschlüsselung den Standardwert Verschlüsselungsschlüssel, der auf Google Cloud basiert.
Fahren Sie dann mit der Erstellung der Persistent Disk fort.
DISK_NAME
: Name des neuen LaufwerksSNAPSHOT_NAME
: der Name des verschlüsselten SnapshotsWenn Sie statt eines Snapshots ein Image verwenden möchten, ersetzen Sie
--source-snapshot SNAPSHOT_NAME
durch--image IMAGE_NAME
.KMS_PROJECT_ID
: Optional: das Projekt, das den Cloud KMS-Schlüssel enthältREGION
: Optional: Region, in der sich der Cloud KMS-Schlüssel befindetKEY_RING
: Optional: der Schlüsselbund, der den Cloud KMS-Schlüssel enthältKEY
: Optional: der Name des Cloud KMS-Schlüssels, der zum Verschlüsseln des neuen Laufwerks verwendet werden sollZum Verschlüsseln des neuen Laufwerks haben Sie folgende Möglichkeiten:
- Verwenden Sie zum Angeben eines neuen vom Kunden verwalteten Verschlüsselungsschlüssels das Flag
--kms-key
. - Wenn Sie den standardmäßigen von Google verwalteten Verschlüsselungsschlüssel verwenden möchten, geben Sie nicht das Flag
--kms-key
an.
- Verwenden Sie zum Angeben eines neuen vom Kunden verwalteten Verschlüsselungsschlüssels das Flag
PROJECT_ID
: das Projekt, in dem das neue Laufwerk erstellt werden sollZONE
: die Zone, in der die neue VM erstellt werden sollDISK_NAME
: Name des neuen LaufwerksSNAPSHOT_PROJECT_ID
: das Projekt, das den Snapshot enthältSNAPSHOT_NAME
: der Name des verschlüsselten SnapshotsWenn Sie statt eines Snapshots ein Image verwenden möchten, ersetzen Sie
sourceSnapshot
durchsourceImage
.KMS_PROJECT_ID
: Optional: das Projekt, das den Cloud KMS-Schlüssel enthältREGION
: Optional: Region, in der sich der Cloud KMS-Schlüssel befindetKEY_RING
: Optional: der Schlüsselbund, der den Cloud KMS-Schlüssel enthältKEY
: Optional: der Name des Cloud KMS-Schlüssels, der zum Verschlüsseln des neuen Laufwerks verwendet werden sollWenn Sie
diskEncryptionKey
angeben, wird das Laufwerk mit dem angegebenen Cloud KMS-Schlüssel verschlüsselt. Wenn SiediskEncryptionKey
nicht angeben, wird das Laufwerk mit einem von Google verwalteten Verschlüsselungsschlüssel verschlüsselt.Rufen Sie in der Google Cloud -Konsole die Seite Instanz erstellen auf.
Geben Sie die VM-Details an und klicken Sie im Abschnitt Bootlaufwerk auf Ändern. Gehen Sie anschließend so vor:
- Klicken Sie auf Vorhandene Laufwerke.
- Wählen Sie in der Liste Laufwerk ein vorhandenes Laufwerk aus, um es an die VM anzuhängen.
- Klicken Sie auf Auswählen.
Fahren Sie mit dem VM-Erstellungsprozess fort.
VM_NAME
: der Name des Snapshots, den Sie erstellenDISK_NAME
: der Name des verschlüsselten LaufwerksPROJECT_ID
: die Zone, in der die neue VM erstellt werden sollZONE
ist die Zone, in der die neue VM erstellt werden soll.DISK_ALIAS
: ein eindeutiger Gerätename, der als Laufwerkalias im Verzeichnis/dev/disk/by-id/google-*
der VM verwendet werden soll, auf der ein Linux-Betriebssystem ausgeführt wird. Mit diesem Namen kann das Laufwerk z. B. aus der Instanz heraus bereitgestellt oder in der Größe angepasst werden. Wenn Sie keinen Gerätenamen angeben, wählt die VM einen Standardgerätenamen aus, der auf dieses Laufwerk angewendet werden soll. Er hat das Formatpersistent-disk-x
, wobeix
eine Nummer ist, die von der Compute Engine zugewiesen werden kann. Dieses Feld gilt nur für Persistent Disk-Volumes.DISK_NAME
: der Name des verschlüsselten Laufwerks- Erstellen Sie einen Snapshot des verschlüsselten Laufwerks.
- Verwenden Sie den neuen verschlüsselten Snapshot, um einen neuen nichtflüchtigen Speicher zu erstellen.
- Rotieren Sie Ihre Cloud KMS-Schlüssel.
- Erstellen Sie einen Snapshot des verschlüsselten Laufwerks.
- Verwenden Sie den neuen Snapshot, um ein neues Laufwerk mit dem im vorherigen Schritt rotierten Schlüssel zu erstellen.
- Ersetzen Sie das mit Ihrer VM verbundene Laufwerk, das den alten Verschlüsselungsschlüssel verwendet.
- Sie können eine VM nicht starten, wenn für eines der angehängten Laufwerke Schlüssel widerrufen wurden.
- Wenn ein Laufwerk, das den Schlüssel verwendet, an eine laufende VM angehängt ist und Sie die Shutdown-Funktion von VMs bei Widerrufen des Schlüssels für die VM aktiviert haben, fährt die Compute Engine die VM innerhalb von 7 Stunden herunter.
- Sie können ein Laufwerk mit einem widerrufenen Schlüssel nicht an eine VM anhängen oder einen Snapshot davon erstellen.
- Sie können keine Images oder Snapshots verwenden, die mit widerrufenen Schlüsseln verschlüsselt sind, um Laufwerke zu erstellen.
- Beginnen Sie mit dem Erstellen einer VM, die ein Laufwerk enthält, das durch einen Cloud KMS-Schlüssel geschützt ist.
- Öffnen Sie das Menü Netzwerk, Laufwerke, Sicherheit, Verwaltung, einzelne Mandanten.
- Maximieren Sie den Bereich Verwaltung.
- Wählen Sie unter Widerrufsrichtlinie für vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) die Option Herunterfahren aus.
- Erstellen Sie eine neue Instanzvorlage, die ein Laufwerk enthält, das durch einen Cloud KMS-Schlüssel geschützt ist.
- Öffnen Sie das Menü Netzwerk, Laufwerke, Sicherheit, Verwaltung, einzelne Mandanten.
- Maximieren Sie den Bereich Verwaltung.
- Wählen Sie unter Widerrufsrichtlinie für vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) die Option Herunterfahren aus.
REST
Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.
Erforderliche Rollen
Damit der Compute Engine-Dienst-Agent die erforderlichen Berechtigungen zum Schutz von Ressourcen mithilfe von Cloud KMS-Schlüsseln hat, bitten Sie Ihren Administrator, dem Compute Engine-Dienst-Agent die Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler (
roles/cloudkms.cryptoKeyEncrypterDecrypter
) IAM-Rolle für Ihr Projekt zu gewähren. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.Ihr Administrator kann dem Compute Engine-Dienst-Agent möglicherweise auch die erforderlichen Berechtigungen über benutzerdefinierte Rollen oder andere vordefinierte Rollen erteilen.
Der Compute Engine-Dienst-Agent hat folgendes Format:
service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
Sie können die Google Cloud CLI verwenden, um die Rolle zuzuweisen:
gcloud projects add-iam-policy-binding KMS_PROJECT_ID \ --member serviceAccount:service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Ersetzen Sie Folgendes:
Verschlüsselungsspezifikationen
Zum Schutz Ihrer Daten in Compute Engine verwendet Cloud KMS AES-256-Schlüssel. Dabei handelt es sich um Schlüsselverschlüsselungsschlüssel zur Verschlüsselung der Datenverschlüsselungsschlüssel, die Ihre Daten verschlüsseln.
Die Daten auf den Laufwerken werden mit Google-eigenen und von Google verwalteten Verschlüsselungsschlüsseln verschlüsselt. Informationen zur Standardverschlüsselung in Google Cloudfinden Sie in der Sicherheitsdokumentation unter Standardverschlüsselung ruhender Daten.
Im Modus "Vertraulich" für Hyperdisk Balanced und Cloud HSM hat der Datenverschlüsselungsschlüssel (Data Encryption Key, DEK) zusätzliche Sicherheitseigenschaften mit hardwaregestützten Enklaven.
Beschränkungen
Manuelle oder automatische Schlüsselerstellung
Sie können Cloud KMS-Schlüssel entweder manuell erstellen oder Cloud KMS Autokey verwenden. Autokey vereinfacht das Erstellen und Verwalten von Cloud KMS-Schlüsseln durch die Automatisierung der Bereitstellung und Zuweisung. Mit Autokey müssen Sie keine Schlüsselbunde, Schlüssel und Dienstkonten im Voraus bereitstellen. Stattdessen werden sie auf Anfrage im Rahmen der Erstellung von Compute Engine-Ressourcen generiert. Weitere Informationen finden Sie in der Übersicht über Autokey.
Schlüsselbund und Schlüssel manuell erstellen
Erstellen Sie für das Google Cloud -Projekt, in dem Cloud KMS ausgeführt wird, einen Schlüsselbund und einen Schlüssel wie unter Schlüsselbunde und Schlüssel erstellen beschrieben.
Neue Persistent Disk mit CMEK verschlüsseln
Sie können eine neue Persistent Disk verschlüsseln, wenn Sie bei der Erstellung der VM oder des Laufwerks einen Schlüssel bereitstellen.
Console
gcloud
Erstellen Sie mit dem Befehl
gcloud compute disks create
ein verschlüsseltes Laufwerk und geben Sie den Schlüssel mit dem Flag--kms-key
an.gcloud compute disks create DISK_NAME \ --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
Ersetzen Sie Folgendes:
REST
Senden Sie eine
POST
-Anfrage an die Methodeinstances.insert
. Verwenden Sie zum Verschlüsseln eines Laufwerks das AttributdiskEncryptionKey
mit dem AttributkmsKeyName
. Sie können beispielsweise während der VM-Erstellung ein neues Laufwerk mit Ihrem Cloud KMS-Schlüssel verschlüsseln. Geben Sie dazu Folgendes an:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "type": "PERSISTENT", "diskEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY" }, "initializeParams": { "sourceImage": "SOURCE_IMAGE" }, "boot": true } ], ... }
Ersetzen Sie Folgendes:
In ähnlicher Weise können Sie die Methode
disks.insert
verwenden, um eine neue eigenständige Persistent Disk zu erstellen und mit Ihrem Cloud KMS-Schlüssel zu verschlüsseln:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks?sourceImage=SOURCE_IMAGE { "name": "DISK_NAME", "diskEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY" }, "type": "projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE" }
Ersetzen Sie Folgendes:
Ausgeglichenes Hyperdisk-Laufwerk im vertraulichen Modus erstellen
Mit derGoogle Cloud Console, der Google Cloud CLI oder REST können Sie einen neuen Hyperdisk Balanced-Speicher im Modus „Vertraulich“ erstellen.
Console
gcloud
Verschlüsseln Sie ein neues Laufwerk mit dem Modus „Vertraulich“ für Hyperdisk Balanced mit dem Befehl
gcloud compute disks create
. Aktivieren Sie den Modus „Vertraulich“ mit dem Flag--confidential-compute
und geben Sie den Schlüssel mit dem Flag--kms-key
an.gcloud compute disks create DISK_NAME \ --type=hyperdisk-balanced \ --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY \ --confidential-compute
Ersetzen Sie Folgendes:
REST
Senden Sie eine
POST
-Anfrage an die Methodeinstances.insert
. Wenn Sie ein Laufwerk mit dem Modus „Vertraulich“ für Hyperdisk Balanced verschlüsseln möchten, verwenden Sie das AttributdiskEncryptionKey
mit dem AttributkmsKeyName
und legen Sie das FlagenableConfidentialCompute
fest. Sie können beispielsweise während der VM-Erstellung ein neues Laufwerk mit Ihrem Cloud HSM-Schlüssel verschlüsseln. Geben Sie dazu Folgendes an:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "type": "DISK_TYPE", "diskEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY" }, "initializeParams": { "sourceImage": "SOURCE_IMAGE", "enableConfidentialCompute": true }, "boot": true } ], "networkInterfaces": [ { "network": "global/networks/default" } ] }
Ersetzen Sie Folgendes:
Ebenso können Sie die Methode
disks.insert
verwenden, um einen neuen Modus „Vertraulich“ für Hyperdisk Balanced zu erstellen:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks?sourceImage=SOURCE_IMAGE { "name": "DISK_NAME", "diskEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY" }, "type": "projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE", "enableConfidentialCompute": true }
Ersetzen Sie Folgendes:
Snapshot von einem mit CMEK verschlüsselten Laufwerk erstellen
Zum Schützen eines Snapshots, den Sie von einem mit CMEK verschlüsselten Laufwerk erstellen, müssen Sie denselben Verschlüsselungsschlüssel verwenden, mit dem das Laufwerk verschlüsselt wurde.
Ein Snapshot, der einen CMEK verwendet, kann nur erstellt werden, wenn das Quelllaufwerk ebenfalls CMEK verwendet. Darüber hinaus können CMEK-verschlüsselte Laufwerke oder Snapshots nicht für die Verwendung der Standardverschlüsselung vonGoogle Cloud konvertiert werden, es sei denn, Sie erstellen ein völlig neues Laufwerk-Image und einen neuen nichtflüchtigen Speicher.
Snapshots von Laufwerken, die mit CMEK verschlüsselt wurden, sind inkrementell.
Console
gcloud
Bei der vom Kunden verwalteten Verschlüsselung wird der Cloud KMS-Schlüssel, der zum Verschlüsseln des Laufwerks verwendet wurde, auch zum Verschlüsseln des Snapshots verwendet.
Sie können den Snapshot in der Richtlinie für den Speicherort erstellen, die in Ihren Snapshot-Einstellungen festgelegt ist, oder indem Sie einen alternativen Speicherort Ihrer Wahl verwenden. Weitere Informationen finden Sie unter Snapshot-Speicherort für Snapshots auswählen.
REST
Sie können den Snapshot in der Richtlinie für den Speicherort erstellen, die in Ihren Snapshot-Einstellungen festgelegt ist, oder indem Sie einen alternativen Speicherort Ihrer Wahl verwenden. Weitere Informationen finden Sie unter Snapshot-Speicherort für Snapshots auswählen.
Ersetzen Sie Folgendes:
Importiertes Image mit CMEK verschlüsseln
Sie können ein neues Image verschlüsseln, wenn Sie ein benutzerdefiniertes Image in Compute Engine importieren. Vor dem Importieren eines Images müssen Sie eine Image-Datei des Laufwerks erstellen und komprimieren und diese komprimierte Datei in Cloud Storage hochladen.
Console
gcloud
Mit dem Befehl
gcloud compute images create
können Sie ein Image importieren und verschlüsseln. Geben Sie für die vom Kunden verwaltete Verschlüsselung den Cloud KMS-Schlüssel für das Image an.gcloud compute images create IMAGE_NAME \ --source-disk=SOURCE_DISK \ --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
Ersetzen Sie Folgendes:
REST
Erstellen Sie eine
POST
-Anfrage an die Methodeimages.insert
, um ein importiertes Image zu verschlüsseln. Geben Sie den URI für die komprimierte Datei an, fügen Sie der Anfrage zum Erstellen des Images das AttributimageEncryptionKey
hinzu und geben Sie im AttributkmsKeyName
den Schlüssel zum Verschlüsseln des Images an.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images { "rawDisk": { "source": "http://storage.googleapis.com/example-image/example-image.tar.gz" }, "name": "IMAGE_NAME", "sourceType": "RAW", "imageEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY" } }
Ersetzen Sie Folgendes:
Persistent Disk anhand eines mit CMEK verschlüsselten Snapshots erstellen
So erstellen Sie eine neue eigenständige Persistent Disk mit einem verschlüsselten Snapshot:
Console
gcloud
Verwenden Sie den Befehl
gcloud compute disks create
, um eine neue eigenständige Persistent Disk aus einem verschlüsselten Snapshot zu erstellen.gcloud compute disks create DISK_NAME \ --source-snapshot SNAPSHOT_NAME \ --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
Ersetzen Sie Folgendes:
REST
Senden Sie eine
POST
-Anfrage an die Methodecompute.disks.insert
, um eine neue eigenständige Persistent Disk aus einem verschlüsselten Snapshot zu erstellen. Verwenden Sie das AttributsourceSnapshot
, um den Snapshot anzugeben.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks { "name": "DISK_NAME", "sourceSnapshot": "projects/SNAPSHOT_PROJECT_ID/global/snapshots/SNAPSHOT_NAME", "diskEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY" } }
Ersetzen Sie Folgendes:
Mit CMEK verschlüsseltes Bootlaufwerk an eine neue VM anhängen
Console
gcloud
Verwenden Sie den Befehl
gcloud compute instances create
, um beim Erstellen einer neuen VM ein verschlüsseltes Laufwerk anzuhängen. Verwenden Sie das Flag--disk
, um das verschlüsselte Bootlaufwerk anzugeben, wie im folgenden Beispiel gezeigt:gcloud compute instances create VM_NAME \ ... --disk name=DISK_NAME,boot=yes
Ersetzen Sie Folgendes:
REST
Senden Sie eine
POST
-Anfrage an die Methodecompute.instances.insert
. Verwenden Sie das Attributdisks
, um das verschlüsselte Bootlaufwerk anzugeben, wie im folgenden Beispiel gezeigt:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { ... "disks": [ { "deviceName": "DISK_ALIAS", "source": "projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME" } ] }
Ersetzen Sie Folgendes:
Cloud KMS-Verschlüsselungsschlüssel aus Persistent Disk entfernen
Sie können den Inhalt eines verschlüsselten Laufwerks entschlüsseln und ein neues Laufwerk erstellen, das stattdessen die Standardverschlüsselung von Google Cloud verwendet. Standardmäßig verschlüsselt Google Cloudalle inaktiven Daten.
Nachdem Sie die neue Persistent Disk erstellt haben, werden die Inhalte des Laufwerks durch die Standardverschlüsselung von Google Cloud geschützt. Auch die Snapshots, die Sie von diesem Laufwerk erstellen, müssen die Standardverschlüsselung verwenden.
Cloud KMS-Verschlüsselungsschlüssel für ein Laufwerk rotieren
Rotieren Sie den Schlüssel, der zum Verschlüsseln des Laufwerks verwendet wird, indem Sie ein neues Laufwerk erstellen, das eine neue Cloud KMS-Schlüsselversion verwendet. Das Rotieren von Schlüsseln ist eine Best Practice zur Einhaltung standardisierter Sicherheitsverfahren. So rotieren Sie Ihre Schlüssel:
Beim Erstellen des neuen Laufwerks wird die neue Schlüsselversion für die Verschlüsselung verwendet. Alle Snapshots, die Sie von diesem Laufwerk erstellen, verwenden die neueste Primärschlüsselversion.
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 Daten neu verschlüsseln. Durch das Rotieren eines Schlüssels wird eine vorhandene Schlüsselversion nicht automatisch deaktiviert oder gelöscht.
CMEK deaktivieren oder löschen
Wenn Sie einen CMEK-Schlüssel nicht mehr benötigen oder seine Verwendung verhindern möchten, löschen oder deaktivieren Sie ihn. Das Löschen, Deaktivieren oder Entfernen von IAM-Berechtigungen für einen Schlüssel wird auch als Widerruf des Schlüssels bezeichnet.
Auswirkungen des Schlüsselwiderrufs auf verschlüsselte Ressourcen
Wenn Sie einen Verschlüsselungsschlüssel widerrufen, sind die damit geschützten Ressourcen wie folgt betroffen:
Wenn Sie den Schlüssel deaktivieren, können Sie die vorherigen Auswirkungen durch Aktivieren des Schlüssels umkehren. Wenn Sie den Schlüssel löschen, können Sie die vorherigen Effekte nicht umkehren.
Herunterfahren einer VM beim Widerrufen von Cloud KMS-Schlüsseln konfigurieren
Sie können eine VM so konfigurieren, dass sie automatisch heruntergefahren wird, wenn Sie den Cloud KMS-Schlüssel widerrufen, durch den ein an die VM angehängtes Laufwerk geschützt wird. Sie können einen Schlüssel widerrufen, indem Sie ihn deaktivieren oder löschen. Wenn diese Einstellung aktiviert ist, fährt die VM innerhalb von 7 Stunden nach dem Widerrufen des Schlüssels herunter.
Wenn Sie den Schlüssel wieder aktivieren, können Sie die VM mit dem angehängten Laufwerk neu starten, das durch den Schlüssel geschützt wird. Die VM wird nach der Aktivierung des Schlüssels nicht automatisch neu gestartet.
Console
So konfigurieren Sie eine VM zum Herunterfahren, wenn ein Cloud KMS-Schlüssel widerrufen wird:
gcloud
Verwenden Sie den Befehl
gcloud compute instances create
, um eine VM zu erstellen, und fügen Sie--key-revocation-action-type=stop
ein.gcloud compute instances create
VM_NAME
\ --imageIMAGE
\ --key-revocation-action-type=stopREST
Verwenden Sie die Methode
instances.insert
, um eine VM zu erstellen, und setzen Sie das Attribut"keyRevocationActionType"
auf"STOP"
. Im folgenden Beispiel wird die VM aus einem öffentlichen Image erstellt.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "
VM_NAME
", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ], "keyRevocationActionType": "STOP" }Alternativ können Sie eine Instanzvorlage konfigurieren, um VMs zu erstellen, die beim Widerrufen des Schlüssels heruntergefahren werden. Dazu nutzen Sie die Google Cloud CLI oder REST.
Console
Mit einer Instanzvorlage können Sie VMs erstellen, die heruntergefahren werden, wenn ein Cloud KMS-Schlüssel widerrufen wird.
gcloud
Erstellen Sie mit dem Befehl
gcloud compute instance-templates create
eine Instanzvorlage und fügen Sie dabei--key-revocation-action-type=stop
ein.gcloud compute instance-templates create
INSTANCE_TEMPLATE_NAME
\ --key-revocation-action-type=stopREST
Senden Sie eine POST-Anfrage an die Methode
instanceTemplates.insert
. Im Anfragetext müssen Sie alle erforderlichen Konfigurationsfelder explizit definieren. Wenn Sie möchten, dass VMs, die aus dieser Vorlage erstellt werden, bei Widerrufen des Schlüssels heruntergefahren werden, geben Sie"keyRevocationActionType":"STOP"
an. Eine Instanzvorlage mit den minimal erforderlichen Feldangaben zum Erstellen von VMs, die beim Widerrufen des Schlüssels heruntergefahren werden, sieht beispielsweise so aus:POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instanceTemplates { "name": "example-template", "properties": { "machineType": "e2-standard-4", "networkInterfaces": [ { "network": "global/networks/default", "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-11" } } ], "keyRevocationActionType": "STOP" } }Nachdem Sie eine VM erstellt haben, die für das Herunterfahren bei einem Cloud KMS-Widerruf konfiguriert ist, erstellen Sie eine Persistent Disk, die mit einem Cloud KMS-Schlüssel verschlüsselt ist, und hängen Sie sie an.
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-01-07 (UTC).
-