Obsolescence des clés de chiffrement fournies par le client (CSEK) dans Compute Engine

L'utilisation de clés de chiffrement fournies par le client (CSEK) pour chiffrer les ressources Compute Engine suivantes est obsolète. Depuis le 20 juillet 2026, vous ne pouvez plus utiliser de clé CSEK pour chiffrer les ressources Compute Engine suivantes :

  • Disques persistants
  • Images
  • Images système
  • Instantanés standards et instantanés d'archive
  • Instantanés immédiats

Les clés CSEK seront complètement supprimées de Compute Engine le 20 juillet 2027.

Alternatives aux clés CSEK

Utilisez des clés de chiffrement gérées par le client (CMEK) gérées par le Cloud Key Management Service. Cloud KMS offre des contrôles de sécurité améliorés, une auditabilité et une compatibilité avec la rotation pour vos clés, ainsi qu'une compatibilité avec les volumes Hyperdisk.

Ce document explique comment migrer vos ressources Compute Engine chiffrées par CSEK pour utiliser des clés CMEK à la place.

Pour en savoir plus sur l'utilisation des clés CMEK pour les disques, les instantanés, et les images Compute Engine, consultez Protéger des ressources avec des clés Cloud KMS.

Migrer des ressources chiffrées par CSEK pour utiliser des clés de chiffrement gérées par le client (CMEK)

Vous ne pouvez pas supprimer la clé CSEK utilisée pour chiffrer une ressource et la remplacer par une clé CMEK. Vous devez créer une copie de la ressource existante et la chiffrer avec la clé CMEK.

Cette section explique comment migrer les ressources Compute Engine suivantes pour utiliser des clés CMEK au lieu de clés CSEK :

  • Volumes de disque persistant
  • Images
  • Images système
  • Instantanés standards et d'archive
  • Instantanés immédiats

Préparer la migration des ressources chiffrées par CSEK

Pour pouvoir chiffrer une ressource avec une clé CMEK, vous devez disposer d'au moins un trousseau de clés et d'une clé Cloud KMS. Pour créer un trousseau de clés et une clé, suivez les étapes décrites dans Créer des trousseaux de clés et des clés.

Migrer des volumes de disque persistant chiffrés par CSEK pour utiliser des clés CMEK

Vous ne pouvez pas supprimer la clé CSEK d'un disque. Vous devez plutôt créer un disque chiffré par CMEK à partir d'un instantané du disque chiffré par CSEK.

  1. Facultatif : si le disque chiffré par CSEK existant est le disque de démarrage d'une instance de calcul en cours d'exécution, arrêtez l'instance.

  2. Créez un instantané standard du disque chiffré par CSEK.

  3. Créez un disque à partir de l'instantané standard et chiffrez-le avec une clé Cloud KMS. Vous pouvez utiliser Google Cloud CLI ou REST.

    gcloud CLI

    Utilisez la gcloud compute disks create commande.

    Si la clé CSEK de l'instantané est encapsulée en RSA, utilisez la gcloud beta compute disks create command. .

    Spécifiez la clé CMEK pour le nouveau disque avec l'option --kms-key.

    Pour créer un disque régional, spécifiez les zones de répliques du disque à l'aide de l' replica-zones option : `--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
    

    Remplacez les éléments suivants :

    • NEW_CMEK_DISK_NAME : nom du nouveau disque, par exemple migrated-cmek-disk.
    • CSEK_SNAPSHOT_NAME : nom de l'instantané créé à partir de le disque chiffré par CSEK, par exemple my-csek-snapshot.
    • PATH_TO_CSEK_KEY_FILE : chemin d'accès au fichier contenant la clé CSEK utilisée pour chiffrer l'instantané, par exemple /tmp/csek_key.json. Le format du fichier est décrit dans Format du fichier de clés.
    • KMS_PROJECT_ID : ID du projet dans lequel se trouve la clé Cloud KMS.
    • KEY_REGION : région dans laquelle se trouve la clé.
    • KEY_RING : nom du trousseau de clés qui inclut la clé.
    • KMS_KEY_NAME : nom de la clé utilisée pour chiffrer le disque.
    • LOCATION_FLAG : option permettant de spécifier l'emplacement, zone ou region.
    • ZONE_OR_REGION : zone ou région du nouveau disque, par exemple us-central1-a ou us-central1.
    • DISK_TYPE : type du nouveau disque. Par exemple, pour créer un volume de disque persistant équilibré, spécifiez pd-balanced. Pour connaître les valeurs valides, consultez Types compatibles pour les volumes Hyperdisk et Variables de type de disque persistant.

    REST

    Envoyez une POST requête à la disks.insert méthode.

    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"
     }
    }
    

    Remplacez les éléments suivants :

    • API_VERSION_TO_USE : version de l'API à utiliser. Si la clé CSEK est une clé encapsulée en RSA, spécifiez beta. Sinon, spécifiez v1.
    • PROJECT_ID : ID de votre projet, par exemple myproject-171.
    • LOCATION_TYPE : type d'emplacement, zones pour créer un disque zonal, ou regions pour créer un disque régional.
    • ZONE_OR_REGION : zone ou région du nouveau disque, par exemple us-central1-a ou us-central1.
    • DISK_TYPE : type du nouveau disque. Par exemple, pour créer un volume de disque persistant équilibré, spécifiez pd-balanced. Pour connaître les valeurs valides, consultez Types compatibles pour les volumes Hyperdisk et Variables de type de disque persistant.
    • NEW_CMEK_DISK_NAME : nom du nouveau disque, par exemple migrated-cmek-disk.
    • SNAPSHOT_PROJECT_ID : ID du projet de l'instantané.
    • CSEK_SNAPSHOT_NAME : nom de l'instantané créé à partir du disque chiffré par CSEK, par exemple my-csek-snapshot.
    • KMS_PROJECT_ID : ID du projet dans lequel se trouve la clé Cloud KMS.
    • KEY_REGION : région dans laquelle se trouve la clé.
    • KEY_RING : nom du trousseau de clés qui inclut la clé.
    • KMS_KEY_NAME : nom de la clé utilisée pour chiffrer le disque.
    • CSEK_KEY_TYPE : type de clé de chiffrement fournie par le client, rawKey pour une clé brute ou rsaEncryptedKey si la clé est encapsulée en RSA.
    • RAW_OR_RSA_KEY : valeur de la clé brute ou chiffrée par RSA.
  4. Utilisez le nouveau disque avec votre instance de calcul :

    1. Si le disque chiffré par CSEK existant est le disque de démarrage d'une instance de calcul en cours d'exécution, arrêtez l'instance.

    2. Pour commencer à utiliser le nouveau disque, dissociez le disque source chiffré par CSEK de l'instance et associez le nouveau disque que vous venez de créer.

    3. Démarrez l'instance.

    4. Vérifiez que le nouveau disque fonctionne comme prévu.

    5. Après avoir testé le nouveau disque, supprimez l'instantané et le disque d'origine chiffré par CSEK.

      Vous continuez à être facturé pour le disque et l'instantané tant que vous ne les supprimez pas.

Migrer des instantanés immédiats chiffrés par CSEK

Vous ne pouvez pas supprimer directement la clé CSEK d'un instantané immédiat. Vous devez plutôt convertir l'instantané en instantané immédiat chiffré par CMEK en effectuant les tâches suivantes :

  1. Créez un instantané standard temporaire chiffré par CSEK à partir de l'instantané immédiat.

  2. Créez un disque temporaire chiffré par CMEK à partir de l'instantané chiffré par CSEK.

  3. Créez un instantané immédiat chiffré par CMEK du nouveau disque.

  4. Une fois l'instantané immédiat chiffré par CMEK créé, supprimez l'instantané standard chiffré par CSEK et le disque temporaire.

Migrer des images et des instantanés chiffrés par CSEK

Vous ne pouvez pas supprimer la clé CSEK d'une image, d'un instantané d'archive, d'un instantané immédiat ni d'un instantané standard. Vous devez plutôt créer un disque chiffré par CMEK à partir de l'image ou de l'instantané, puis créer une image ou un instantané du nouveau disque.

  1. Créez un volume Google Cloud Hyperdisk ou de disque persistant à partir de l'image ou de l'instantané :

  2. Créez une image ou un instantané standard du nouveau disque. Chiffrez la nouvelle image ou le nouvel instantané avec une clé CMEK.

  3. Supprimez le disque que vous avez créé précédemment.

Migrer des images système chiffrées par CSEK

Pour créer une image système chiffrée par CMEK à partir d'une image système chiffrée par CSEK, vous devez créer une instance temporaire à partir de l'image système, puis créer une image système chiffrée par CMEK à partir de l'instance temporaire. Procédez comme suit.

  1. Créez une instance à partir de l'image système chiffrée par CSEK, en spécifiant une clé Cloud KMS pour chaque disque de l'image système. Vous devez utiliser REST ou Google Cloud CLI. Pour en savoir plus sur le remplacement des propriétés lors de la création d'une image système, consultez Créer une instance à partir d'une image système avec des valeurs de remplacement de propriété.

    Google Cloud CLI

    Utilisez la gcloud compute instances create commande.

    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
    
    

    Remplacez les éléments suivants :

    • NEW_INSTANCE_NAME : nom de la nouvelle instance, par exemple migrated-instance.
    • PROJECT_ID : ID du projet dans lequel vous souhaitez créer l' instance, par exemple myproject-123.
    • ZONE : zone de la nouvelle instance, par exemple us-central1-a.
    • INSTANCE_MACHINE_TYPE : type de machine de la nouvelle instance, par exemple c3-standard-4.
    • CSEK_MACHINE_IMAGE_NAME : nom de l'image système source chiffrée par CSEK.
    • PATH_TO_CSEK_KEY_FILE : chemin d'accès au fichier contenant la clé CSEK utilisée pour chiffrer l'image système source, par exemple /tmp/csek_key.json. Pour connaître le format de fichier requis, consultez Format du fichier de clés.
    • BOOT_DISK_DEVICE_NAME : nouveau nom d'appareil pour le disque de démarrage tel qu'il est défini dans l'image système.
    • KMS_PROJECT_ID : ID du projet dans lequel se trouve votre clé Cloud KMS.
    • REGION : région dans laquelle se trouve votre clé Cloud KMS, par exemple us-central1.
    • KEY_RING : nom du trousseau de clés qui inclut les clés.
    • BOOT_DISK_KMS_KEY : nom de la clé Cloud KMS utilisée pour chiffrer le disque de démarrage de la nouvelle instance.
    • DEVICE_NAME_FOR_DATA_DISK_1 : nouveau nom d'appareil pour le premier disque de données tel qu'il est défini dans l'image système source.
    • KMS_KEY_FOR_DATA_DISK_1 : nom de la clé Cloud KMS utilisée pour chiffrer le premier disque de données.
    • KMS_KEY_FOR_DATA_DISK_2 : nom de la clé Cloud KMS utilisée pour chiffrer le deuxième disque de données.

    REST

    Envoyez une requête POST à la méthode instances.insert

     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"
              }
           }
        ]
     }
    

    Remplacez les éléments suivants :

    • PROJECT_ID: ID du projet dans lequel vous souhaitez créer l'instance temporaire, par exemple myproject-123.
    • ZONE: zone de la nouvelle instance, par exemple us-central1-a.
    • NEW_INSTANCE_NAME: nom de l'instance temporaire à créer, par exemple migrated-instance.
    • CSEK_MACHINE_IMAGE_NAME: nom de l'image système source chiffrée par CSEK, par exemple csek-encrypted-image.
    • BOOT_DISK_DEVICE_NAME: nom d'appareil du disque de démarrage tel qu'il est défini dans l'image système source, par exemple boot-disk-0.
    • KMS_PROJECT_ID: ID du projet dans lequel se trouve votre clé Cloud KMS.
    • REGION: région dans laquelle se trouve votre clé Cloud KMS, par exemple us-central1.
    • KEY_RING: nom du trousseau de clés qui inclut les clés de chiffrement.
    • BOOT_DISK_KMS_KEY: nom de la clé Cloud KMS utilisée pour chiffrer le nouveau disque de démarrage.
    • DEVICE_NAME_FOR_DATA_DISK_1: nom d'appareil du premier disque de données tel qu'il est défini dans l'image système source.
    • KMS_KEY_FOR_DATA_DISK_1: nom de la clé Cloud KMS utilisée pour chiffrer le premier disque de données.
    • DEVICE_NAME_FOR_DATA_DISK_2: nom d'appareil du deuxième disque de données tel qu'il est défini dans l'image système source.
    • KMS_KEY_FOR_DATA_DISK_2: nom de la clé Cloud KMS utilisée pour chiffrer le deuxième disque de données.
  2. Vérifiez que l'instance fonctionne comme prévu.

  3. Après avoir testé l'instance, créez une image système chiffrée par CMEK à partir de la nouvelle instance.

  4. Supprimez l'instance temporaire.

Supprimer les ressources inutilisées

Pour éviter d'être facturé pour les ressources inutilisées, supprimez les disques, les images système, les instantanés, les instances et les images dont vous n'avez plus besoin.

Étape suivante