Einstellung der Unterstützung vom Kunden bereitgestellter Verschlüsselungsschlüssel (CSEK) in Compute Engine

Die Verwendung vom Kunden bereitgestellter Verschlüsselungsschlüssel (Customer-Supplied Encryption Keys, CSEK) zum Verschlüsseln der folgenden Compute Engine -Ressourcen wird eingestellt. Ab dem 20. Juli 2026 können Sie keine CSEK mehr verwenden, um eine der folgenden Compute Engine-Ressourcen zu verschlüsseln:

  • Nichtflüchtiger Speicher
  • Google Bilder
  • Maschinen-Images
  • Standard- und Archiv-Snapshots
  • Instant Snapshots

CSEK werden am 20. Juli 2027 vollständig aus Compute Engine entfernt.

Alternativen zu CSEK

Verwenden Sie vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK), die vom Cloud Key Management Service verwaltet werden. Cloud KMS bietet erweiterte Sicherheitsfunktionen, Auditierbarkeit und Rotationsunterstützung für Ihre Schlüssel sowie Unterstützung für Hyperdisk-Volumes.

In diesem Dokument wird beschrieben, wie Sie Ihre mit CSEK verschlüsselten Compute Engine-Ressourcen migrieren, um stattdessen CMEK zu verwenden.

Weitere Informationen zur Verwendung von CMEK für Compute Engine-Laufwerke, ‑Snapshots, und ‑Images finden Sie unter Ressourcen mit Cloud KMS-Schlüsseln schützen.

Mit CSEK verschlüsselte Ressourcen migrieren, um vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK) zu verwenden

Sie können den CSEK, der zum Verschlüsseln einer Ressource verwendet wurde, nicht entfernen und durch einen CMEK ersetzen. Sie müssen eine Kopie der vorhandenen Ressource erstellen und die Kopie mit dem CMEK verschlüsseln.

In diesem Abschnitt wird beschrieben, wie Sie die folgenden Compute Engine-Ressourcen migrieren, um anstelle von CSEK CMEK zu verwenden:

  • Nichtflüchtiger Speicher
  • Google Bilder
  • Maschinen-Images
  • Standard- und Archiv-Snapshots
  • Instant Snapshots

Migration von mit CSEK verschlüsselten Ressourcen vorbereiten

Bevor Sie eine Ressource mit einem CMEK verschlüsseln können, benötigen Sie mindestens einen Cloud KMS-Schlüsselbund und ‑Schlüssel. Eine Anleitung zum Erstellen eines Schlüsselbunds und eines Schlüssels finden Sie unter Schlüsselbunde und Schlüssel erstellen.

Mit CSEK verschlüsselte nichtflüchtige Speicher migrieren, um CMEK zu verwenden

Sie können den CSEK nicht von einem Laufwerk entfernen. Stattdessen müssen Sie ein neues mit CMEK verschlüsseltes Laufwerk aus einem Snapshot des mit CSEK verschlüsselten Laufwerks erstellen.

  1. Optional: Wenn das vorhandene mit CSEK verschlüsselte Laufwerk das Bootlaufwerk einer ausgeführten Compute Instanz ist, beenden Sie die Instanz.

  2. Erstellen Sie einen Standard-Snapshot des mit CSEK verschlüsselten Laufwerks.

  3. Erstellen Sie ein neues Laufwerk aus dem Standard-Snapshot und verschlüsseln Sie es mit einem Cloud KMS-Schlüssel. Sie können dazu die Google Cloud CLI oder REST verwenden.

    gcloud CLI

    Verwenden Sie den gcloud compute disks create Befehl.

    Wenn der CSEK für den Snapshot mit RSA verpackt ist, verwenden Sie den gcloud beta compute disks create command. .

    Geben Sie den CMEK für das neue Laufwerk mit dem Flag --kms-key an.

    Wenn Sie ein regionales Laufwerk erstellen möchten, geben Sie die Replikat-Zonen des Laufwerks mit dem replica-zones Flag an: `--replica-zones=^:^ZONE:REPLICA_ZONE.

        gcloud compute disks create NEW_CMEK_DISK_NAME \
        --source-snapshot=CSEK_SNAPSHOT_NAME \
        --csek-key-file=PATH_TO_CSEK_KEY_FILE \
        --kms-key=projects/KMS_PROJECT_ID/locations/KEY_REGION/keyRings/KEY_RING/cryptoKeysKMS_KEY_NAME \
        --no-require-csek-key-create \
        --LOCATION_FLAG=ZONE_OR_REGION \
        --type=DISK_TYPE
    

    Ersetzen Sie Folgendes:

    • NEW_CMEK_DISK_NAME: der Name des neuen Laufwerks, z. B. migrated-cmek-disk.
    • CSEK_SNAPSHOT_NAME: der Name des Snapshots, der aus dem mit CSEK verschlüsselten Laufwerk erstellt wurde, z. B. my-csek-snapshot.
    • PATH_TO_CSEK_KEY_FILE: der Pfad zur Datei mit dem CSEK, der zum Verschlüsseln des Snapshots verwendet wurde, z. B. /tmp/csek_key.json. Das Format der Datei wird unter Dateiformat für Schlüsselbeschrieben.
    • KMS_PROJECT_ID: die Projekt-ID des Projekts, in dem sich der Cloud KMS Schlüssel befindet.
    • KEY_REGION: die Region, in der sich der Schlüssel befindet.
    • KEY_RING: der Name des Schlüsselbunds, der den Schlüssel enthält.
    • KMS_KEY_NAME: der Name des Schlüssels, mit dem das Laufwerk verschlüsselt wird
    • LOCATION_FLAG: das Flag zum Angeben des Standorts, entweder zone oder region.
    • ZONE_OR_REGION: die Zone oder Region für das neue Laufwerk, z. B. us-central1-a oder us-central1.
    • DISK_TYPE: der Typ für das neue Laufwerk. Wenn Sie beispielsweise ein neues Balanced Persistent Disk-Volume erstellen möchten, geben Sie pd-balanced an. Gültige Werte finden Sie unter Unterstützte Typen für Hyperdisk-Volumes und Variablen für Persistent Disk-Typen.

    REST

    Stellen Sie eine POST Anfrage an die disks.insert Methode.

    POST https://compute.googleapis.com/compute/API_VERSION_TO_USE/projects/PROJECT_ID/LOCATION_TYPE/ZONE_OR_REGION/disks
    
    {
     "name": "NEW_CMEK_DISK_NAME",
     "type": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/LOCATION_TYPE/ZONE_OR_REGION/diskTypes/DISK_TYPE",
     "sourceSnapshot": "projects/SNAPSHOT_PROJECT_ID/global/snapshots/CSEK_SNAPSHOT_NAME",
     "diskEncryptionKey": {
        "kmsKeyName": "projects/KMS_PROJECT_ID/locations/KEY_REGION/keyRings/KEY_RING/cryptoKeys/KMS_KEY_NAME"
     },
     "sourceSnapshotEncryptionKey": {
        "CSEK_KEY_TYPE": "RAW_OR_RSA_KEY"
     }
    }
    

    Ersetzen Sie Folgendes:

    • API_VERSION_TO_USE: die zu verwendende API-Version. Wenn der CSEK-Schlüssel ein mit RSA verpackter Schlüssel ist, geben Sie beta an. Andernfalls geben Sie v1 an.
    • PROJECT_ID: die ID Ihres Projekts, z. B. myproject-171.
    • LOCATION_TYPE: der Standorttyp, zones zum Erstellen eines zonalen Laufwerks, oder regions zum Erstellen eines regionalen Laufwerks.
    • ZONE_OR_REGION: die Zone oder Region für das neue Laufwerk, z. B. us-central1-a oder us-central1.
    • DISK_TYPE: der Typ für das neue Laufwerk. Wenn Sie beispielsweise ein neues Balanced Persistent Disk-Volume erstellen möchten, geben Sie pd-balanced an. Gültige Werte finden Sie unter Unterstützte Typen für Hyperdisk-Volumes und Variablen für Persistent Disk-Typen.
    • NEW_CMEK_DISK_NAME: der Name des neuen Laufwerks, z. B. migrated-cmek-disk.
    • SNAPSHOT_PROJECT_ID: die Projekt-ID des Snapshots.
    • CSEK_SNAPSHOT_NAME: der Name des Snapshots, der aus dem mit CSEK verschlüsselten Laufwerk erstellt wurde, z. B. my-csek-snapshot.
    • KMS_PROJECT_ID: die Projekt-ID des Projekts, in dem sich der Cloud KMS-Schlüssel befindet.
    • KEY_REGION: die Region, in der sich der Schlüssel befindet.
    • KEY_RING: der Name des Schlüsselbunds, der den Schlüssel enthält.
    • KMS_KEY_NAME: der Name des Schlüssels, mit dem das Laufwerk verschlüsselt wird
    • CSEK_KEY_TYPE: der Typ des vom Kunden bereitgestellten Verschlüsselungsschlüssels, rawKey für einen unverschlüsselten Schlüssel oder rsaEncryptedKey, wenn der Schlüssel mit RSA verpackt ist.
    • RAW_OR_RSA_KEY: der Wert des unverschlüsselten oder mit RSA verschlüsselten Schlüssels.
  4. Verwenden Sie das neue Laufwerk mit Ihrer Compute-Instanz:

    1. Wenn das vorhandene mit CSEK verschlüsselte Laufwerk das Bootlaufwerk einer ausgeführten Compute Instanz ist, beenden Sie die Instanz.

    2. Wenn Sie das neue Laufwerk verwenden möchten, trennen Sie das mit CSEK verschlüsselte Quelllaufwerk von der Instanz und hängen Sie das neu erstellte Laufwerk an.

    3. Starten Sie die Instanz.

    4. Prüfen Sie, ob das neue Laufwerk wie erwartet funktioniert.

    5. Nachdem Sie das neue Laufwerk getestet haben, löschen Sie den Snapshot und das ursprüngliche mit CSEK verschlüsselte Laufwerk.

      Für das Laufwerk und den Snapshot fallen weiterhin Kosten an, bis Sie sie löschen.

Mit CSEK verschlüsselte Instant Snapshots migrieren

Sie können den CSEK nicht direkt aus einem Instant Snapshot entfernen. Stattdessen müssen Sie den Snapshot in einen mit CMEK verschlüsselten Instant Snapshot konvertieren. Führen Sie dazu die folgenden Schritte aus:

  1. Erstellen Sie einen temporären mit CSEK verschlüsselten Standard-Snapshot aus dem Instant Snapshot.

  2. Erstellen Sie ein temporäres mit CMEK verschlüsseltes Laufwerk aus dem mit CSEK verschlüsselten Snapshot.

  3. Erstellen Sie einen mit CMEK verschlüsselten Instant Snapshot des neuen Laufwerks.

  4. Nachdem Sie den mit CMEK verschlüsselten Instant Snapshot erstellt haben, löschen Sie den mit CSEK verschlüsselten Standard-Snapshot und das temporäre Laufwerk.

Mit CSEK verschlüsselte Images und Snapshots migrieren

Sie können den CSEK nicht aus einem Image, einem Archiv-Snapshot, einem Instant Snapshot oder einem Standard-Snapshot entfernen. Stattdessen müssen Sie ein neues mit CMEK verschlüsseltes Laufwerk aus dem Image oder Snapshot erstellen und dann ein Image oder einen Snapshot des neuen Laufwerks erstellen.

  1. Erstellen Sie ein neues Google Cloud Hyperdisk- oder Persistent Disk-Volume aus dem Image oder Snapshot:

  2. Erstellen Sie ein Image oder einen Standard-Snapshot des neuen Laufwerks. Verschlüsseln Sie das neue Image oder den neuen Snapshot mit einem CMEK.

  3. Löschen Sie das zuvor erstellte Laufwerk.

Mit CSEK verschlüsselte Maschinen-Images migrieren

Wenn Sie ein mit CMEK verschlüsseltes Maschinen-Image aus einem mit CSEK verschlüsselten Maschinen-Image erstellen möchten, müssen Sie eine temporäre Instanz aus dem Maschinen-Image erstellen und dann ein mit CMEK verschlüsseltes Maschinen-Image aus der temporären Instanz erstellen. Führen Sie dazu die folgenden Schritte aus.

  1. Erstellen Sie eine neue Instanz aus dem mit CSEK verschlüsselten Maschinen-Image und geben Sie für jedes Laufwerk im Maschinen-Image einen Cloud KMS-Schlüssel an. Sie müssen die REST API oder die Google Cloud CLI verwenden. Weitere Informationen zum Überschreiben von Attributen beim Erstellen eines Maschinen-Images finden Sie unter siehe Instanz aus einem Maschinen-Image mit Attribut-Überschreibungen erstellen.

    Google Cloud CLI

    Verwenden Sie den gcloud compute instances create Befehl

    gcloud compute instances create NEW_INSTANCE_NAME \
     --project=PROJECT_ID \
     --zone=ZONE \
     --machine-type=INSTANCE_MACHINE_TYPE \
     --source-machine-image=CSEK_MACHINE_IMAGE_NAME \
     --source-machine-image-csek-key-file=PATH_TO_CSEK_KEY_FILE \
     --create-disk=device-name=BOOT_DISK_DEVICE_NAME,boot=yes,auto-delete=yes,kms-key=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/BOOT_DISK_KMS_KEY \
     --create-disk=device-name=DEVICE_NAME_FOR_DATA_DISK_1,boot=no,kms-key=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KMS_KEY_FOR_DATA_DISK_1 \
     --create-disk=device-name=DEVICE_NAME_FOR_DATA_DISK_2,boot=no,kms-key=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KMS_KEY_FOR_DATA_DISK_2
    
    

    Ersetzen Sie Folgendes:

    • NEW_INSTANCE_NAME: der Name der neuen Instanz, z. B. migrated-instance.
    • PROJECT_ID: die ID des Projekts, in dem Sie die Instanz erstellen möchten,z. B.myproject-123.
    • ZONE: die Zone für die neue Instanz, z. B. us-central1-a.
    • INSTANCE_MACHINE_TYPE: der Maschinentyp für die neue Instanz, z. B. c3-standard-4.
    • CSEK_MACHINE_IMAGE_NAME: der Name des mit CSEK verschlüsselten Quellmaschinen-Images.
    • PATH_TO_CSEK_KEY_FILE: der Pfad zur Datei mit dem CSEK der zum Verschlüsseln des Quellmaschinen-Images verwendet wurde, z. B. /tmp/csek_key.json. Das erforderliche Dateiformat finden Sie unter Dateiformat für Schlüssel.
    • BOOT_DISK_DEVICE_NAME: der neue Gerätename für das Bootlaufwerk, wie im Maschinen-Image definiert.
    • KMS_PROJECT_ID: die Projekt-ID des Projekts, in dem sich Ihr Cloud KMS-Schlüssel befindet.
    • REGION: die Region, in der sich Ihr Cloud KMS-Schlüssel befindet, z. B. us-central1.
    • KEY_RING: der Name des Schlüsselbunds, der die Schlüssel enthält.
    • BOOT_DISK_KMS_KEY: der Name des Cloud KMS-Schlüssels, der zum Verschlüsseln des Bootlaufwerks für die neue Instanz verwendet wird.
    • DEVICE_NAME_FOR_DATA_DISK_1: ein neuer Gerätename für das erste Daten laufwerk, wie im Quellmaschinen-Image definiert.
    • KMS_KEY_FOR_DATA_DISK_1: der Name des Cloud KMS -Schlüssels, der zum Verschlüsseln des ersten Datenlaufwerks verwendet wird.
    • KMS_KEY_FOR_DATA_DISK_2: der Name des Cloud KMS-Schlüssels , der zum Verschlüsseln des zweiten Datenlaufwerks verwendet wird.

    REST

    Stellen Sie eine POST Anfrage an die instances.insert Methode

     POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
    
     {
        "name": "NEW_INSTANCE_NAME",
        "sourceMachineImage": "projects/PROJECT_ID/global/machineImages/CSEK_MACHINE_IMAGE_NAME",
           "disks": [
           {
              "deviceName": "BOOT_DISK_DEVICE_NAME",
              "boot": true,
              "diskEncryptionKey": {
                 "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/BOOT_DISK_KMS_KEY"
              }
           },
           {
              "deviceName": "DEVICE_NAME_FOR_DATA_DISK_1",
              "boot": false,
              "diskEncryptionKey": {
                 "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KMS_KEY_FOR_DATA_DISK_1"
              }
           },
           {
              "deviceName": "DEVICE_NAME_FOR_DATA_DISK_2",
              "boot": false,
              "diskEncryptionKey": {
                 "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys//KMS_KEY_FOR_DATA_DISK_2"
              }
           }
        ]
     }
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die Projekt-ID des Projekts, in dem Sie die temporäre Instanz erstellen möchten, z. B. myproject-123.
    • ZONE: die Zone für die neue Instanz, z. B. us-central1-a.
    • NEW_INSTANCE_NAME: der Name der zu erstellenden temporären Instanz, z. B. migrated-instance.
    • CSEK_MACHINE_IMAGE_NAME: der Name des mit CSEK verschlüsselten Quellmaschinen-Images, z. B. csek-encrypted-image.
    • BOOT_DISK_DEVICE_NAME: der Gerätename des Bootlaufwerks, wie im Quellmaschinen-Image definiert, z. B. boot-disk-0.
    • KMS_PROJECT_ID: die Projekt-ID des Projekts, in dem sich Ihr Cloud KMS-Schlüssel befindet.
    • REGION: die Region, in der sich Ihr Cloud KMS-Schlüssel befindet, z. B. us-central1.
    • KEY_RING: der Name des Schlüsselbunds, der die Verschlüsselungsschlüssel enthält.
    • BOOT_DISK_KMS_KEY: der Name des Cloud KMS-Schlüssels, der zum Verschlüsseln des neuen Bootlaufwerks verwendet wird.
    • DEVICE_NAME_FOR_DATA_DISK_1: der Gerätename des ersten Datenlaufwerks, wie im Quellmaschinen-Image definiert.
    • KMS_KEY_FOR_DATA_DISK_1: der Name des Cloud KMS-Schlüssels, der zum Verschlüsseln des ersten Datenlaufwerks verwendet wird.
    • DEVICE_NAME_FOR_DATA_DISK_2: der Gerätename des zweiten Datenlaufwerks, wie im Quellmaschinen-Image definiert.
    • KMS_KEY_FOR_DATA_DISK_2: der Name des Cloud KMS-Schlüssels, der zum Verschlüsseln des zweiten Datenlaufwerks verwendet wird.
  2. Prüfen Sie, ob die Instanz wie erwartet funktioniert.

  3. Nachdem Sie die Instanz getestet haben, erstellen Sie ein mit CMEK verschlüsseltes Maschinen-Image aus der neuen Instanz.

  4. Löschen Sie die temporäre Instanz.

Nicht verwendete Ressourcen entfernen

Um Kosten für nicht verwendete Ressourcen zu vermeiden, löschen Sie alle Laufwerke, Maschinen-Images, Snapshots, Instanzen und Images, die Sie nicht mehr benötigen.

Nächste Schritte