In diesem Dokument finden Sie Informationen dazu, 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 kundenverwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) bezeichnet. Sie können mit CMEKs Compute Engine-Ressourcen wie Laufwerke, Maschinen-Images, Instant Snapshots und Standard-Snapshots verschlüsseln.
Hinweis
- Machen Sie sich mit den Informationen zu Laufwerken, Images, Standardsnapshots und VM-Instanzen vertraut.
- Überlegen Sie sich, ob Sie Compute Engine und Cloud KMS im selben Cloud de Confiance by S3NS -Projekt oder in verschiedenen Projekten ausführen möchten. Weitere Informationen zu Cloud de Confiance Projekt-IDs und Projektnummern finden Sie unter Projekte identifizieren.
- Gehen Sie für das Cloud de Confiance -Projekt, in dem Cloud KMS ausgeführt wird, so vor:
Aktivieren Sie die Cloud KMS API.
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (
roles/serviceusage.serviceUsageAdmin), die die Berechtigungserviceusage.services.enableenthält. Weitere Informationen zum Zuweisen von Rollen
- Wenn Sie ein neues Hyperdisk Balanced-Volume im Modus „Vertraulich“ erstellen möchten, prüfen Sie anhand der relevanten Einschränkungen und unterstützten Regionen, ob Ihr Anwendungsfall unterstützt wird.
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Cloud de Confiance by S3NS Dienste und APIs überprüft. Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren:
Wählen Sie den Tab aus, der Ihrer geplanten Verwendung der Beispiele auf dieser Seite entspricht:
Console
Wenn Sie über die Cloud de Confiance Console auf Cloud de Confiance by S3NS Dienste und APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.
gcloud
-
Installieren Sie die Google Cloud CLI und melden Sie sich dann mit Ihrer föderierten Identität in der gcloud CLI an. Nach der Anmeldung initialisieren Sie die Google Cloud CLI mit dem folgenden Befehl:
gcloud init
-
- Legen Sie eine Standardregion und -zone fest.
REST
Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.
Installieren Sie die Google Cloud CLI und melden Sie sich dann mit Ihrer föderierten Identität in der gcloud CLI an.
Weitere Informationen finden Sie in der Dokumentation zur Cloud de Confiance -Authentifizierung unter Für die Verwendung von REST authentifizieren.
Erforderliche Rollen und Berechtigungen
Der Compute Engine-Dienst-Agent hat die folgende Form:
service-PROJECT_NUMBER@compute-system.s3ns-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.s3ns-system.iam.gserviceaccount.com \
--role roles/cloudkms.cryptoKeyEncrypterDecrypter
Ersetzen Sie Folgendes:
KMS_PROJECT_ID: die ID IhresCloud de Confiance -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 Cloud de Confiance Projekt-ID) Ihres Cloud de Confiance Projekts, in dem die Compute Engine-Ressourcen ausgeführt werden
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.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Schützen von Ressourcen mit Cloud KMS-Schlüsseln erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um Ressourcen mit Cloud KMS-Schlüsseln zu schützen:
-
So rotieren Sie einen Verschlüsselungsschlüssel, der ein Laufwerk schützt:
compute.disks.updateKmsKey -
So rotieren Sie einen Verschlüsselungsschlüssel, der einen Snapshot schützt:
compute.snapshots.updateKmsKey
Ihr Administrator kann dem Compute Engine-Dienst-Agent diese Berechtigungen möglicherweise auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen zuweisen.
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, nicht der Daten selbst.
Die Daten auf den Festplatten werden mit Google Cloud-powered encryption keysverschlüsselt. Informationen zur Standardverschlüsselung in Cloud de Confiance by S3NSfinden 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
Vorhandene 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, der zum Verschlüsseln des Quelllaufwerks verwendet wurde. Sie müssen den Schlüssel nicht angeben, wenn Sie mit anderen CMEK-verschlüsselten Ressourcen wie Laufwerkklonen und Standard-Snapshots arbeiten.
Wenn Sie einen regionalen Snapshot (Vorabversion) von einem mit einem CMEK verschlüsselten Laufwerk erstellen, müssen Sie den Snapshot mit einem regionalen CMEK erstellen, der sich am selben Ort wie der Snapshot befindet. Dadurch wird die regionale Isolation Ihres Snapshots sichergestellt und die Zuverlässigkeit Ihres Snapshots erhöht.
Sie können Ihre eigenen Schlüssel nicht mit lokalen SSD-Laufwerken verwenden, da die Schlüssel von der Cloud de Confiance by S3NS -Infrastruktur verwaltet und bei Beendigung der VM gelöscht werden.
Regionale Ressourcen (Laufwerke) können nur mit einem Schlüssel an einem der folgenden Cloud KMS-Standorte verschlüsselt werden:
- Ein Schlüssel in derselben Region wie das Laufwerk.
- Ein multiregionaler Schlüssel am selben geografischen Standort wie das Laufwerk.
- Ein Schlüssel am globalen Standort.
Beispielsweise kann ein Laufwerk in Zone
us-west1-amit einem Schlüssel am globalen Standort, in der Regionus-west1oder in der Multi-Regionusverschlüsselt werden.Globale Ressourcen (z. B. 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.
Sie können den Verschlüsselungsschlüssel für ein Bild oder einen Instant Snapshot nicht ändern oder entfernen.
Sie können den Verschlüsselungsschlüssel eines Laufwerks oder Snapshots nicht entfernen oder den Schlüssel von einem CMEK in einen Google Cloud-powered keyändern. Erstellen Sie stattdessen eine Kopie des Laufwerks oder Snapshots und geben Sie einen neuen Verschlüsselungstyp für die Kopie an.
Weitere Informationen finden Sie unter CMEK von einem Laufwerk entfernen und CMEK aus einem Snapshot entfernen.
Sie können den CMEK von Online-Volumes für vertrauliche Hyperdisk oder Online-Hyperdisk-Volumes, die an nicht unterstützte Maschinentypen angehängt sind, nicht rotieren oder ändern.
Sie können den CMEK nur für die folgenden Laufwerkstypen rotieren oder ändern:
- Alle Persistent Disk-Volumes
- Hyperdisk-Volumes, die aus einem Instant Snapshot erstellt wurden
- Offline-Hyperdisk-Volumes
- Offline-Hyperdisk-Volumes für vertrauliche Daten
- Online-Hyperdisk-Volumes, die an Maschinentypen der ersten oder zweiten Generation angehängt sind
Online-Hyperdisk-Volumes, die an die folgenden Maschinentypen der dritten oder vierten Generation angehängt sind:
- A3
- A4
- A4X
- C4
- C4A
- C4D
- C3
- X4
- Z3
- H4D
- alle TPU-Versionen
Sie können den Schlüssel für Hyperdisk-Volumes, die Sie durch Klonen eines Laufwerks erstellt haben, nur ändern, wenn Sie das Quelllaufwerk und alle anderen Klone des Quelllaufwerks gelöscht haben.
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 bei Bedarf 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 Cloud de Confiance -Projekt, in dem Cloud KMS ausgeführt wird, einen Schlüsselbund und einen Schlüssel, wie in 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
- Rufen Sie in der Cloud de Confiance 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.
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:
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 wird
REST
Senden Sie eine POST-Anfrage an die Methode instances.insert.
Verwenden Sie zum Verschlüsseln eines Laufwerks das Attribut diskEncryptionKey mit dem Attribut kmsKeyName. 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:
PROJECT_ID: die ID desCloud de Confiance -Projekts, in dem Compute Engine ausgeführt wirdZONEist die Zone, in der die VM erstellt werden soll.MACHINE_TYPE: der Maschinentyp, z. B.c3-standard-4KMS_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
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:
PROJECT_ID: die ID desCloud de Confiance -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-v20231115DISK_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
Hyperdisk Balanced-Laufwerk im Modus „Vertraulich“ erstellen
Mit derCloud de Confiance -Konsole, der Google Cloud CLI oder REST können Sie eine neue Hyperdisk Balanced-Festplatte im Modus „Vertraulich“ erstellen. Wenn Sie ein Laufwerk erstellen möchten, das sich nicht im vertraulichen Modus befindet, folgen Sie der Anleitung unter Persistent Disk anhand eines mit CMEK verschlüsselten Snapshots erstellen.
Console
- Rufen Sie in der Cloud de Confiance Console die Seite Laufwerke auf.
- Klicken Sie auf Laufwerk erstellen und geben Sie die Attribute für das neue Laufwerk ein.
- Wählen Sie im Abschnitt 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.
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:
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 wird
REST
Senden Sie eine POST-Anfrage an die Methode instances.insert.
Wenn Sie ein Laufwerk mit dem Modus „Vertraulich“ für Hyperdisk Balanced verschlüsseln möchten, verwenden Sie das Attribut diskEncryptionKey mit dem Attribut kmsKeyName und legen Sie das Flag enableConfidentialCompute 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:
DISK_TYPE: der zu erstellende Laufwerkstyp, z. B.hyperdisk-balancedPROJECT_ID: die ID des Cloud de Confiance -Projekts, in dem Compute Engine ausgeführt wirdZONEist die Zone, in der die VM erstellt werden soll.MACHINE_TYPE: der Maschinentyp, z. B.n2d-standard-4KMS_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 VM unterstützt und beim Erstellen der VM verwendet werden soll, z. B.projects/debian-cloud/global/images/debian-11-bullseye-v20231115
In ähnlicher Weise können Sie die Methode disks.insert verwenden, um ein neues Hyperdisk Balanced-Volume im Modus „Vertraulich“ 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:
PROJECT_ID: die ID desCloud de Confiance -Projekts, in dem Compute Engine ausgeführt wirdZONE: Zone, in der die VM erstellt werden sollSOURCE_IMAGE: das Image, das vertrauliche VMs beim Erstellen des Laufwerks unterstützt, z. B.projects/debian-cloud/global/images/debian-11-bullseye-v20231115DISK_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
Snapshot von einem mit CMEK verschlüsselten Laufwerk erstellen
Wenn Sie einen Snapshot von einem mit CMEK verschlüsselten Laufwerk erstellen möchten, müssen Sie den Snapshot mit demselben Verschlüsselungsschlüssel erstellen, mit dem Sie das Laufwerk verschlüsselt haben.
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 derCloud de Confiance by S3NS -Standardverschlüsselung 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
- Rufen Sie in der Cloud de Confiance Console 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.
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.
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-locationan, 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 -
Preview: Wenn Sie einen Snapshot mit regionalem Umfang in einer zulässigen Region erstellen möchten, geben Sie das Flag
--regionan, um festzulegen, wo der Snapshot erstellt werden soll.gcloud beta compute snapshots create SNAPSHOT_NAME \ --region=SNAPSHOT_SCOPE_REGION --source-disk=SOURCE_DISK_NAME \ --source-disk-zone=SOURCE_ZONE \ --snapshot-type=SNAPSHOT_TYPE \ --kms-key=projects/KMS_PROJECT_ID/locations/KEY_REGION/keyRings/KEY_RING/cryptoKeys/SNAPSHOT_KEY
Ersetzen Sie Folgendes:
- SNAPSHOT_NAME: Ein Name für den Snapshot.
- 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: Für global ausgerichtete Snapshots ist dies 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-locationnur, wenn Sie den vordefinierten oder benutzerdefinierten Standardspeicherort überschreiben möchten, der in Ihren Snapshot-Einstellungen konfiguriert ist. -
SNAPSHOT_SCOPE_REGION: Optional: Bei regionalen Snapshots die Region, auf die der Snapshot beschränkt ist. Wenn Sie diesen Parameter angeben, können Sie den Parameter
--storage-locationnicht verwenden. STORAGE_LOCATION wird automatisch auf SNAPSHOT_SCOPE_REGION festgelegt.
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.
-
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.s3nsapis.fr/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.insertMethode und fügen Sie das AttributstorageLocationsin Ihre Anfrage ein:POST https://compute.s3nsapis.fr/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" ], } -
Vorabversion: Wenn Sie einen regionalen Snapshot in einer zulässigen Region erstellen möchten, senden Sie eine
POST-Anfrage an die Methodesnapshots.insertund definieren Sie die Erstellungsregion:POST https://compute.s3nsapis.fr/compute/beta/projects/DESTINATION_PROJECT_ID/regions/SNAPSHOT_SCOPE_REGION/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE", "snapshotEncryptionKey": { "kmsKeyName":"projects/KMS_PROJECT_ID/locations/KEY_REGION/keyRings/KEY_RING/cryptoKeys/SNAPSHOT_KEY", }, }
Ersetzen Sie Folgendes:
- 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: Für global ausgerichtete Snapshots ist dies 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
storageLocationsnur, wenn Sie den vordefinierten oder benutzerdefinierten Standardspeicherort überschreiben möchten, der in Ihren Snapshot-Einstellungen konfiguriert ist. SNAPSHOT_SCOPE_REGION: Optional: Bei regionalen Snapshots die Region, auf die der Snapshot beschränkt ist. Wenn Sie diesen Parameter angeben, können Sie den Parameter
storageLocationsnicht verwenden. STORAGE_LOCATION wird automatisch auf SNAPSHOT_SCOPE_REGION festgelegt.
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
- Rufen Sie in der Cloud de Confiance 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.
gcloud
Mit dem Befehl gcloud compute images create können Sie ein Image importieren und verschlüsseln.
Geben Sie für die kundenverwaltete 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:
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 wird
REST
Erstellen Sie eine POST-Anfrage an die Methode images.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 Attribut imageEncryptionKey hinzu und geben Sie im Attribut kmsKeyName 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:
PROJECT_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
Laufwerk anhand eines mit CMEK verschlüsselten Snapshots erstellen
So erstellen Sie ein neues Laufwerk aus einem verschlüsselten Snapshot:
Console
- Rufen Sie in der Cloud de Confiance 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 Google Cloud-powered encryption key.
Fahren Sie mit der Erstellung des Laufwerks fort.
gcloud
Verwenden Sie den Befehl
gcloud compute disks create, um ein neues Laufwerk aus einem global verschlüsselten Snapshot zu erstellen.gcloud compute disks create DISK_NAME \ --zone=ZONE \ --source-snapshot=SNAPSHOT_NAME \ --kms-key=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
Vorabversion: Wenn Sie ein neues Laufwerk aus einem regional verschlüsselten Snapshot erstellen möchten, verwenden Sie den
gcloud compute disks create-Befehl und geben Sie die Region des Quell-Snapshots an.gcloud compute disks create DISK_NAME \ --zone=ZONE \ --source-snapshot=SNAPSHOT_NAME \ --source-snapshot-region=SOURCE_REGION \ --kms-key=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
Ersetzen Sie Folgendes:
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_NAMEdurch--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 befindetSOURCE_REGION: Die Region, auf die der Quell-Snapshot beschränkt istZONE: Die Zone, in der sich das neue Laufwerk 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 die Standardeinstellung Google Cloud-powered encryption keyverwenden möchten, geben Sie nicht das Flag
--kms-keyan.
- Verwenden Sie zum Angeben eines neuen vom Kunden verwalteten Verschlüsselungsschlüssels das Flag
REST
Erstellen Sie eine
POST-Anfrage an die Methodecompute.disks.insert, um ein neues Laufwerk aus einem global 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" } }Vorschau: Wenn Sie ein neues Laufwerk aus einem regional verschlüsselten Snapshot erstellen möchten, senden Sie eine
POST-Anfrage an die Methodecompute.disks.insert. 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/regions/SOURCE_REGION/snapshots/SNAPSHOT_NAME", "type": "projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE", "zone": "projects/PROJECT_ID/zones/ZONE" "diskEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY" } }
Ersetzen Sie Folgendes:
PROJECT_ID: Das Projekt, in dem das neue Laufwerk erstellt werden sollZONE: Die Zone, in der das neue Laufwerk erstellt werden sollSOURCE_REGION: Die Region, auf die der Quell-Snapshot beschränkt istDISK_NAME: Der Name des neuen Laufwerks.DISK_TYPE: Die vollständige oder partielle URL für den Typ des Laufwerks, z. B.PROJECT_ID/zones/ZONE/diskTypes/pd-ssd.SNAPSHOT_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
sourceSnapshotdurchsourceImage.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
diskEncryptionKeyangeben, wird das Laufwerk mit dem angegebenen Cloud KMS-Schlüssel verschlüsselt. Wenn SiediskEncryptionKeynicht angeben, wird das Laufwerk mit einem Google Cloud-powered encryption keyverschlüsselt.
Mit CMEK verschlüsseltes Bootlaufwerk an eine neue VM anhängen
Console
Rufen Sie in der Cloud de Confiance Console 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.
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:
VM_NAME: der Name des Snapshots, den Sie erstellenDISK_NAME: der Name des verschlüsselten Laufwerks
REST
Senden Sie eine POST-Anfrage an die Methode compute.instances.insert.
Verwenden Sie das Attribut disks, 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:
PROJECT_ID: die Zone, in der die neue VM erstellt werden sollZONEist 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, wobeixeine 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
CMEK für ein Laufwerk oder einen Snapshot rotieren
Um die potenziellen Folgen eines Schlüsseldiebstahls zu minimieren, empfehlen wir, Cloud KMS-Verschlüsselungsschlüssel regelmäßig mit einer der folgenden Methoden zu rotieren.
gcloud
Wenn Sie den Cloud KMS-Schlüssel, der zum Verschlüsseln eines Laufwerks, eines Archivsnapshots oder eines Standardsnapshots verwendet wird, auf eine neue Schlüsselversion rotieren möchten, verwenden Sie den gcloud compute disks update-kms-key-Befehl oder den gcloud compute snapshots update-kms-key-Befehl.
So rotieren Sie die Schlüsselversion, mit der ein Laufwerk verschlüsselt wird:
gcloud compute disks update-kms-key DISK_NAME \ --zone ZONE
So rotieren Sie die Schlüsselversion, mit der ein Standardsnapshot verschlüsselt wird:
gcloud compute snapshots update-kms-key SNAPSHOT_NAME
Ersetzen Sie Folgendes:
DISK_NAME: der Name des verschlüsselten LaufwerksZONE: die Zone, in der sich das verschlüsselte Laufwerk befindetSNAPSHOT_NAME: der Name des verschlüsselten Snapshots
REST
Wenn Sie den Cloud KMS-Schlüssel rotieren möchten, der zum Verschlüsseln eines Laufwerks, archivierten Snapshots oder Standardsnapshots in eine neue Schlüsselversion verwendet wird, erstellen Sie eine PATCH-Anfrage an die Methode compute.disks.updateKmsKey oder die Methode compute.snapshots.updateKmsKey.
So rotieren Sie die Schlüsselversion, mit der ein zonales Laufwerk verschlüsselt wird:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/updateKmsKey
So rotieren Sie die Schlüsselversion, mit der ein regionales Laufwerk verschlüsselt wird:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME/updateKmsKey
So rotieren Sie die Schlüsselversion, mit der ein Standard-Snapshot mit globalem Bereich verschlüsselt wird:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME/updateKmsKey
Vorschau: So rotieren Sie die Schlüsselversion, mit der ein regionaler Standard-Snapshot verschlüsselt wird:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/snapshots/SNAPSHOT_NAME/updateKmsKey
Ersetzen Sie Folgendes:
PROJECT_ID: das Projekt, in dem sich das verschlüsselte Laufwerk oder der Snapshot befindetZONE: die Zone, in der sich das verschlüsselte Laufwerk befindetREGION: die Region, in der sich das regionale Laufwerk oder der regional begrenzte Snapshot befindetDISK_NAME: der Name des verschlüsselten LaufwerksSNAPSHOT_NAME: der Name des verschlüsselten SnapshotsREGION: die Region, in der sich das regionale Laufwerk oder der regional begrenzte Snapshot befindet
Die Antwort enthält ein name-Element mit einem Vorgangswert, der die Schlüsselrotation darstellt:
"name": "operation-YYYYYYYYYYYYY-YYYYYYYYYYYYY-YYYYYYYY-YYYYYYYY"
Anschließend können Sie den Status des Vorgangs abfragen, um festzustellen, ob Ihr API-Aufruf erfolgreich war. Senden Sie dazu eine GET-Anfrage:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/operations/OPERATION_NAME
Ersetzen Sie Folgendes:
PROJECT_ID: das Projekt, in dem sich das verschlüsselte Laufwerk oder der Snapshot befindetZONE: die Zone, in der sich das verschlüsselte Laufwerk befindetOPERATION_NAME: Der Name des CMEK-Rotationsvorgangs im Formatoperation-YYYYYYYYYYYYY-YYYYYYYYYYYYY-YYYYYYYY-YYYYYYYY.
Die Antwort enthält einen progress-Wert, der den Status der Schlüsselrotation darstellt. Wenn progress den Wert 100 hat, war der Vorgang erfolgreich.
Durch das Rotieren von Schlüsseln werden vorherige Schlüsselversionen weder deaktiviert noch gelöscht. Weitere Informationen finden Sie unter Nachdem Sie Schlüssel rotiert haben.
CMEK für ein Laufwerk oder einen Snapshot ändern
Sie können die Verschlüsselung eines Laufwerks, eines Archiv-Snapshots oder eines Standard-Snapshots ohne Ausfallzeiten in einen anderen CMEK ändern, z. B. bei einer Projektmigration oder um neue Compliance-Anforderungen zu erfüllen.
Wenn Sie den CMEK ändern, wird der Datenverschlüsselungsschlüssel (Data Encryption Key, DEK) der Ressource mit dem neuen Schlüssel neu verschlüsselt. Bei diesem Vorgang wird der DEK nicht geändert und die Leistung laufender Arbeitslasten wird nicht beeinträchtigt.
Sie können den Cloud KMS-Schlüssel entweder mit der gcloud CLI oder mit REST ändern.
gcloud
Wenn Sie den Cloud KMS-Schlüssel für ein Laufwerk oder einen Standardsnapshot ändern möchten, verwenden Sie das Flag --kms-key mit dem gcloud compute disks update-kms-key-Befehl oder dem gcloud compute snapshots update-kms-key-Befehl.
So ändern Sie den Schlüssel für ein zonales Laufwerk:
gcloud compute disks update-kms-key DISK_NAME \ --kms-key=projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME \ --zone=ZONE
So ändern Sie den Schlüssel für ein regionales Laufwerk:
gcloud compute disks update-kms-key DISK_NAME \ --kms-key=projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME \ --region=REGION
So ändern Sie den Schlüssel für einen globalen Snapshot:
gcloud compute snapshots update-kms-key SNAPSHOT_NAME \ --kms-key=projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME
So ändern Sie den Schlüssel für einen regionalen Snapshot:
gcloud beta compute snapshots update-kms-key SNAPSHOT_NAME \ --kms-key=projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME \ --regions=REGION
Ersetzen Sie Folgendes:
DISK_NAME: der Name des verschlüsselten Laufwerks.NEW_KMS_KEY: Die vollständige Ressourcen-ID des neuen CMEK.ZONEist die Zone, in der sich das Laufwerk befindet.REGION: die Region, in der sich das Laufwerk oder der Snapshot befindet.SNAPSHOT_NAME: der Name des verschlüsselten Snapshots.
REST
Wenn Sie den Schlüssel ändern möchten, senden Sie eine POST-Anfrage an die Methode compute.disks.updateKmsKey oder die Methode compute.snapshots.updateKmsKey und fügen Sie kmsKeyName in den Anfragetext ein.
So ändern Sie den Schlüssel für ein zonales Laufwerk:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/updateKmsKey { "kmsKeyName": "projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME" }So ändern Sie den Schlüssel für ein regionales Laufwerk:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME/updateKmsKey { "kmsKeyName": "projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME" }So ändern Sie den Schlüssel für einen globalen Snapshot:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME/updateKmsKey { "kmsKeyName": "projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME" }So ändern Sie den Schlüssel für einen regionalen Snapshot:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/snapshots/SNAPSHOT_NAME/updateKmsKey { "kmsKeyName": "projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME" }
Ersetzen Sie Folgendes:
PROJECT_ID: das Projekt, das das Laufwerk oder den Snapshot enthält.ZONEist die Zone, in der sich das Laufwerk befindet.REGION: die Region, in der sich das Laufwerk oder der Snapshot befindet.DISK_NAME: der Name des LaufwerksNEW_KEY_NAME: Der Name des neuen CMEK.SNAPSHOT_NAME: der Name des verschlüsselten Snapshots.
CMEK von einem Laufwerk entfernen
Sie können einen CMEK nicht von einem Laufwerk entfernen oder den Typ des Verschlüsselungsschlüssels ändern. Sie haben folgende Möglichkeiten:
Sie können den Inhalt eines mit CMEK verschlüsselten Laufwerks entschlüsseln und ein neues Laufwerk erstellen, das stattdessen die Standardverschlüsselung von Cloud de Confiance by S3NS verwendet. Standardmäßig verschlüsselt Cloud de Confiance by S3NSalle inaktiven Daten.
So erstellen Sie ein Laufwerk, das Google Cloud-powered key verwendet, aus einem CMEK-verschlüsselten Laufwerk:
- Erstellen Sie einen Snapshot des verschlüsselten Laufwerks.
- Verwenden Sie den neuen verschlüsselten Snapshot, um ein neues Laufwerk zu erstellen.
Nachdem Sie das neue Laufwerk erstellt haben, werden die Inhalte des Laufwerks durch die Cloud de Confiance by S3NS -Standardverschlüsselung geschützt. Auch die Snapshots, die Sie von diesem Laufwerk erstellen, müssen die Standardverschlüsselung verwenden.
CMEK aus einem Snapshot entfernen
Sie können keinen CMEK aus einem Snapshot entfernen oder den Typ des Verschlüsselungsschlüssels ändern. Sie können den Snapshot so ändern, dass ein anderer CMEK verwendet wird, oder eine Kopie des Snapshots erstellen und die Kopie mit einem Google Cloud-powered keyverschlüsseln.
So erstellen Sie einen Snapshot, der Google Cloud-powered keyaus einem CMEK-verschlüsselten Snapshot verwendet:
Erstellen Sie ein neues Laufwerk aus dem Snapshot. Wenn Sie das neue Laufwerk erstellen, wählen Sie den gewünschten Verschlüsselungstyp aus.
Erstellen Sie einen Snapshot des neuen Laufwerks:
Wenn das neue Laufwerk mit einem CMEK verschlüsselt ist, lesen Sie den Abschnitt Laufwerk anhand eines mit CMEK verschlüsselten Snapshots erstellen.
Wenn das neue Laufwerk mit einem Google Cloud-powered keyverschlüsselt ist, lesen Sie den Abschnitt Laufwerk-Snapshots erstellen.
CMEK deaktivieren oder löschen
Wenn Sie einen CMEK nicht mehr benötigen oder seine Verwendung verhindern möchten, deaktivieren oder löschen Sie den Schlüssel. Das Löschen, Deaktivieren oder Entfernen von IAM-Berechtigungen für einen Schlüssel wird auch als Widerrufen des Schlüssels bezeichnet.
Auswirkungen des Schlüsselwiderrufs auf verschlüsselte Ressourcen
Wenn Sie einen Verschlüsselungsschlüssel widerrufen, sind die Ressourcen, die durch den Schlüssel geschützt werden, folgendermaßen betroffen:
- Sie können eine VM nicht starten, wenn für eines der angehängten Laufwerke die Schlüssel widerrufen wurden.
- Wenn ein Laufwerk, für das der Schlüssel verwendet wird, an eine laufende VM angehängt ist und Sie für die VM die Shutdown-Funktion von VMs bei Widerrufen des Schlüssels aktiviert haben, fährt Compute Engine die VM innerhalb von sieben Stunden herunter.
- Sie können ein Laufwerk mit einem widerrufenen Schlüssel nicht an eine VM anhängen oder einen Snapshot des Laufwerks erstellen.
- Sie können keine Laufwerke aus Images oder Snapshots erstellen, die mit widerrufenen Schlüsseln verschlüsselt sind.
Wenn Sie den Schlüssel deaktivieren, können Sie die vorherigen Auswirkungen durch Aktivieren des Schlüssels umkehren. Wenn Sie den Schlüssel zerstören, 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:
- 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.
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 createVM_NAME\ --imageIMAGE\ --key-revocation-action-type=stop
REST
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.
- 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.
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=stop
REST
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.