Protéger des ressources avec des clés Cloud KMS

Ce document fournit des informations sur l'utilisation des clés Cloud Key Management Service (Cloud KMS) créées manuellement afin de chiffrer les disques et d'autres ressources liées au stockage. Les clés gérées dans Cloud KMS sont appelées clés de chiffrement gérées par le client (CMEK). Vous pouvez utiliser des clés CMEK pour chiffrer les ressources Compute Engine, telles que les disques, les images système, les instantanés immédiats et les instantanés standards.

Avant de commencer

  • Familiarisez-vous avec les disques, les images, les instantanés standards et les instances de machine virtuelle (VM).
  • Déterminez si vous allez exécuter Compute Engine et Cloud KMS dans le même projet Cloud de Confiance by S3NS ou dans des projets différents. Pour en savoir plus sur les ID et numéros de projet Cloud de Confiance , consultez Identifier des projets.
  • Pour le projet Cloud de Confiance qui exécute Cloud KMS, procédez comme suit :
    1. Activez l'API Cloud KMS.

      Rôles requis pour activer les API

      Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin), qui contient l'autorisation serviceusage.services.enable. Découvrez comment attribuer des rôles.

      Activer l'API

  • Pour créer un volume Hyperdisk Balanced en mode confidentiel, assurez-vous que votre cas d'utilisation est compatible en consultant les limites et les régions compatibles.
  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification permet de valider votre identité pour accéder aux services et aux API Cloud de Confiance by S3NS . Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes :

    Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :

    Console

    Lorsque vous utilisez la console Cloud de Confiance pour accéder aux services Cloud de Confiance by S3NS et aux API, vous n'avez pas besoin de configurer l'authentification.

    gcloud

    1. Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :

      gcloud init
  • Définissez une région et une zone par défaut.
  • REST

    Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.

      Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée.

    Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Cloud de Confiance .

Rôles et autorisations nécessaires

L'agent de service de Compute Engine se présente sous la forme suivante :

service-PROJECT_NUMBER@compute-system.s3ns-system.iam.gserviceaccount.com

Pour attribuer le rôle, vous pouvez utiliser Google Cloud CLI comme suit :

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

Remplacez les éléments suivants :

  • KMS_PROJECT_ID : ID de votre projetCloud de Confiance qui exécute Cloud KMS (même s'il correspond également au projet exécutant Compute Engine)
  • PROJECT_NUMBER : numéro de votre projet Cloud de Confiance qui exécute les ressources Compute Engine, et non son ID Cloud de Confiance

Pour vous assurer que l'agent de service Compute Engine dispose des autorisations nécessaires pour protéger des ressources à l'aide de clés Cloud KMS, demandez à votre administrateur d'accorder à l'agent de service Compute Engine le rôle IAM Chiffreur/Déchiffreur de CryptoKeys Cloud KMS (roles/cloudkms.cryptoKeyEncrypterDecrypter) sur votre projet.

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations requises pour protéger les ressources à l'aide de clés Cloud KMS. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Vous devez disposer des autorisations suivantes pour protéger des ressources à l'aide de clés Cloud KMS :

  • Pour effectuer la rotation d'une clé de chiffrement protégeant un disque : compute.disks.updateKmsKey
  • Pour effectuer la rotation d'une clé de chiffrement protégeant un instantané : compute.snapshots.updateKmsKey

Votre administrateur peut également attribuer ces autorisations à l'agent de service Compute Engine par le biais de rôles personnalisés ou d'autres rôles prédéfinis.

Spécifications de chiffrement

Les clés Cloud KMS qui servent à protéger les données dans Compute Engine sont de type AES-256. Il s'agit de clés de chiffrement de clés, s'appliquant aux clés de chiffrement de données qui chiffrent vos données, et non aux données elles-mêmes.

Les données sur les disques sont chiffrées à l'aide de Google Cloud-powered encryption keys. Pour en savoir plus sur les spécifications liées au chiffrement par défaut dans Cloud de Confiance by S3NS, consultez Chiffrement au repos par défaut dans la documentation sur la sécurité.

Avec le mode confidentiel pour Hyperdisk Balanced et Cloud HSM, la clé de chiffrement des données (DEK) dispose de propriétés de sécurité supplémentaires avec des enclaves matérielles.

Limites

  • Vous ne pouvez pas chiffrer des ressources existantes avec des CMEK. Vous ne pouvez chiffrer des disques, des images et des instantanés qu'avec des clés CMEK lors de leur création.

  • Lorsque vous créez un disque à partir d'un instantané immédiat chiffré par CMEK, vous devez spécifier la clé utilisée pour chiffrer le disque source. Vous n'avez pas besoin de spécifier la clé lorsque vous travaillez avec d'autres ressources chiffrées par CMEK, telles que les clones de disque et les instantanés standards.

  • Lorsque vous créez un instantané à portée régionale (preview) à partir d'un disque chiffré avec une clé CMEK, vous devez créer l'instantané avec une clé CMEK régionale située au même emplacement que l'instantané. Cela garantit l'isolation régionale de votre instantané et augmente sa fiabilité.

  • Vous ne pouvez pas utiliser vos propres clés avec des disques SSD locaux, car les clés sont gérées par l'infrastructure Cloud de Confiance by S3NS et supprimées lorsque la VM est arrêtée.

  • Les ressources régionales (disques) ne peuvent être chiffrées que par une clé située dans l'un des emplacements Cloud KMS suivants :

    • Une clé située dans la même région que le disque.
    • Une clé multirégionale située dans la même zone géographique que le disque.
    • Clé dans l'emplacement mondial.

    Par exemple, un disque de la zone us-west1-a peut être chiffré à l'aide d'une clé située dans l'emplacement mondial, dans la région us-west1 ou dans l'emplacement multirégional us.

    Les ressources globales (telles que les images et les instantanés) peuvent être chiffrées par des clés se trouvant à n'importe quel emplacement. Pour plus d'informations, consultez la section Types d'emplacements pour Cloud KMS.

  • Vous ne pouvez pas modifier ni supprimer la clé de chiffrement d'une image ou d'un instantané immédiat.

  • Vous ne pouvez pas supprimer la clé de chiffrement d'un disque ou d'un instantané, ni la modifier en passant d'une clé CMEK à une clé Google Cloud-powered key. Créez plutôt une copie du disque ou de l'instantané, et spécifiez un nouveau type de chiffrement pour la copie.

    Pour en savoir plus, consultez Supprimer la clé CMEK d'un disque et Supprimer la clé CMEK d'un instantané.

  • Vous ne pouvez pas faire pivoter ni modifier la clé CMEK des volumes Hyperdisk confidentiels en ligne ni des volumes Hyperdisk en ligne associés à des types de machines non compatibles.

  • Vous ne pouvez faire pivoter ou modifier la clé CMEK que pour les types de disques suivants :

    • Tous les volumes Persistent Disk
    • Volumes Hyperdisk créés à partir d'un instantané immédiat
    • Volumes Hyperdisk hors connexion
    • Volumes Hyperdisk confidentiels hors connexion
    • Volumes Hyperdisk en ligne associés à des types de machines de première ou deuxième génération
    • Volumes Hyperdisk en ligne associés aux types de machines de troisième ou quatrième génération suivants :

      • A3
      • A4
      • A4X
      • C4
      • C4A
      • C4D
      • C3
      • X4
      • Z3
      • H4D
      • toutes les versions de TPU
  • Vous ne pouvez pas modifier la clé des volumes Hyperdisk que vous avez créés en clonant un disque, sauf si vous avez supprimé le disque source et tous les autres clones du disque source.

Création manuelle ou automatique de clés

Vous pouvez créer des clés Cloud KMS manuellement ou utiliser Cloud KMS Autokey. La fonctionnalité de clé automatique simplifie la création et la gestion des clés Cloud KMS en automatisant le provisionnement et l'attribution. Avec la fonction de clé automatique, vous n'avez pas besoin de provisionner des trousseaux de clés, des clés et des comptes de service à l'avance. Au lieu de cela, ils sont générés à la demande lors de la création des ressources Compute Engine. Pour en savoir plus, consultez la présentation d'Autokey.

Créer manuellement un trousseau de clés et une clé

Pour le projet Cloud de Confiance qui exécute Cloud KMS, créez un trousseau de clés et une clé, comme décrit dans la section Créer des trousseaux de clés et des clés.

Chiffrer un nouveau disque persistant avec des clés CMEK

Vous pouvez chiffrer un nouveau disque persistant en fournissant une clé lors de la création de la VM ou du disque.

Console

  1. Dans la console Cloud de Confiance , accédez à la page Disques.

    Accéder à la page Disques

  2. Cliquez sur Créer un disque et saisissez les propriétés du nouveau disque.
  3. Sous Chiffrement, sélectionnez Clé gérée par le client.
  4. Dans le menu déroulant, sélectionnez la clé Cloud KMS à utiliser pour chiffrer ce disque.
  5. Pour créer le disque, cliquez sur Créer.

gcloud

Créez un disque chiffré à l'aide de la commande gcloud compute disks create, puis spécifiez la clé à l'aide de l'option --kms-key.

gcloud compute disks create DISK_NAME \
  --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY

Remplacez les éléments suivants :

  • DISK_NAME : le nom du nouveau disque
  • KMS_PROJECT_ID : projet propriétaire de la clé Cloud KMS.
  • REGION : région où se trouve la clé.
  • KEY_RING : nom du trousseau de clés qui inclut la clé.
  • KEY : nom de la clé utilisée pour chiffrer le disque.

REST

Envoyez une requête POST à la méthode instances.insert. Pour chiffrer un disque, utilisez la propriété diskEncryptionKey avec la propriété kmsKeyName. Par exemple, vous pouvez chiffrer un nouveau disque lors de la création de la VM avec votre clé Cloud KMS en procédant comme suit :

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
 }
],
...
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projetCloud de Confiance exécutant Compute Engine
  • ZONE : zone dans laquelle créer la VM
  • MACHINE_TYPE : type de machine, par exemple c3-standard-4.
  • KMS_PROJECT_ID : projet propriétaire de la clé Cloud KMS.
  • REGION : la région où se trouve le disque.
  • KEY_RING : nom du trousseau de clés qui inclut la clé
  • KEY : nom de la clé utilisée pour chiffrer le disque
  • SOURCE_IMAGE : image à utiliser lors de la création de la VM, par exemple, projects/debian-cloud/global/images/debian-11-bullseye-v20231115.

De même, vous pouvez utiliser la méthode disks.insert pour créer un disque persistant autonome et le chiffrer avec votre clé Cloud KMS :

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

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projetCloud de Confiance exécutant Compute Engine
  • ZONE : zone dans laquelle vous souhaitez créer le disque
  • SOURCE_IMAGE : image à utiliser lors de la création du disque, par exemple, projects/debian-cloud/global/images/debian-11-bullseye-v20231115.
  • DISK_NAME : nom du nouveau disque.
  • KMS_PROJECT_ID : projet propriétaire de la clé Cloud KMS.
  • REGION : la région où se trouve le disque.
  • KEY_RING : nom du trousseau de clés qui inclut la clé
  • KEY : nom de la clé utilisée pour chiffrer le disque
  • DISK_TYPE : type de disque à créer.

Créer un disque Hyperdisk Balanced en mode confidentiel

Vous pouvez créer un disque Hyperdisk équilibré en mode confidentiel à l'aide de la consoleCloud de Confiance , de la Google Cloud CLI ou de REST. Pour créer un disque qui n'est pas en mode confidentiel, suivez la procédure décrite dans Créer un disque persistant à partir d'un instantané chiffré avec une clé CMEK.

Console

  1. Dans la console Cloud de Confiance , accédez à la page Disques.

    Accéder à la page Disques

  2. Cliquez sur Créer un disque et saisissez les propriétés du nouveau disque.
  3. Dans la section Paramètres du disque, sélectionnez le type de disque Hyperdisk Balanced.
  4. Facultatif. Modifiez les paramètres par défaut de taille, d'IOPS provisionnées et de débit provisionné du disque.
  5. Dans la section Chiffrement, sélectionnez Clé Cloud KMS.
  6. Dans la liste des clés, sélectionnez la clé Cloud HSM à utiliser pour chiffrer ce disque.
  7. Dans la section Informatique confidentielle, sélectionnez Activer les services d'informatique confidentielle.
  8. Pour créer le disque, cliquez sur Créer.

gcloud

Chiffrez un nouveau disque avec le mode confidentiel pour Hyperdisk Balanced à l'aide de la commande gcloud compute disks create. Activez le mode confidentiel avec l'option --confidential-compute et spécifiez la clé à l'aide de l'option --kms-key.

gcloud compute disks create DISK_NAME \
  --type=hyperdisk-balanced \
  --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY \
  --confidential-compute

Remplacez les éléments suivants :

  • DISK_NAME : le nom du nouveau disque
  • KMS_PROJECT_ID : projet propriétaire de la clé Cloud HSM.
  • REGION : région où se trouve la clé.
  • KEY_RING : nom du trousseau de clés qui inclut la clé.
  • KEY : nom de la clé utilisée pour chiffrer le disque.

REST

Envoyez une requête POST à la méthode instances.insert. Pour chiffrer un disque avec le mode confidentiel pour Hyperdisk Balanced, utilisez la propriété diskEncryptionKey avec la propriété kmsKeyName et définissez l'indicateur enableConfidentialCompute. Par exemple, vous pouvez chiffrer un nouveau disque lors de la création de la VM avec votre clé Cloud HSM en procédant comme suit :

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

Remplacez les éléments suivants :

  • DISK_TYPE : type de disque à créer, par exemple hyperdisk-balanced
  • PROJECT_ID : ID du projet Cloud de Confiance exécutant Compute Engine
  • ZONE : zone dans laquelle créer la VM
  • MACHINE_TYPE : type de machine, par exemple n2d-standard-4.
  • KMS_PROJECT_ID : projet propriétaire de la clé Cloud HSM.
  • REGION : la région où se trouve le disque.
  • KEY_RING : nom du trousseau de clés qui inclut la clé.
  • KEY : nom de la clé utilisée pour chiffrer le disque.
  • SOURCE_IMAGE : image compatible avec Confidential VM à utiliser lors de la création de la VM, par exemple projects/debian-cloud/global/images/debian-11-bullseye-v20231115

De même, vous pouvez utiliser la méthode disks.insert pour créer un mode confidentiel pour Hyperdisk Balanced :

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
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projetCloud de Confiance exécutant Compute Engine
  • ZONE : zone dans laquelle vous souhaitez créer le disque
  • SOURCE_IMAGE : image compatible avec les VM confidentielles lors de la création du disque, par exemple, projects/debian-cloud/global/images/debian-11-bullseye-v20231115.
  • DISK_NAME : nom du nouveau disque.
  • KMS_PROJECT_ID : projet propriétaire de la clé Cloud HSM.
  • REGION : la région où se trouve le disque.
  • KEY_RING : nom du trousseau de clés qui inclut la clé
  • KEY : nom de la clé utilisée pour chiffrer le disque
  • DISK_TYPE : type de disque à créer, par exemple hyperdisk-balanced.

Créer un instantané à partir d'un disque chiffré avec une clé CMEK

Pour créer un instantané à partir d'un disque chiffré avec une clé CMEK, vous devez créer l'instantané avec la même clé de chiffrement que celle utilisée pour chiffrer le disque.

Vous ne pouvez pas créer un instantané qui utilise une clé CMEK à moins que le disque source n'utilise également CMEK. En outre, vous ne pouvez pas convertir des disques ou des instantanés chiffrés par CMEK pour utiliser le chiffrementCloud de Confiance by S3NS par défaut, sauf si vous créez une image disque entièrement nouvelle et un nouveau disque persistant.

Les instantanés créés à partir de disques chiffrés avec une clé CMEK sont incrémentiels.

Console

  1. Dans la console Cloud de Confiance , accédez à la page Instantanés.

    Accéder à la page Instantanés

  2. Cliquez sur Create snapshot (Créer un instantané).
  3. Sous Disque source, choisissez le disque source pour l'instantané. L'instantané est automatiquement chiffré avec la même clé que celle utilisée par le disque source.

gcloud

Pour le chiffrement géré par le client, la clé Cloud KMS utilisée pour chiffrer le disque est également utilisée pour chiffrer l'instantané.

Vous pouvez créer votre instantané dans la stratégie d'emplacement de stockage définie par vos paramètres d'instantanés ou en utilisant un autre emplacement de stockage de votre choix. Pour en savoir plus, consultez la section Choisir l'emplacement de stockage de vos instantanés.

  • Pour créer un instantané à l'emplacement par défaut prédéfini ou personnalisé configuré dans vos paramètres d'instantané, utilisez la commande gcloud compute snapshots create.

    gcloud compute snapshots create SNAPSHOT_NAME \
        --source-disk-zone=SOURCE_ZONE \
        --source-disk=SOURCE_DISK_NAME \
        --snapshot-type=SNAPSHOT_TYPE
    
  • Sinon, pour remplacer les paramètres d'instantané et créer un instantané dans un emplacement de stockage personnalisé, incluez l'option --storage-location pour spécifier où stocker l'instantané.

    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) Pour créer un instantané à portée régionale dans une région autorisée, incluez l'indicateur --region pour spécifier où créer l'instantané.

      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
    

Remplacez les éléments suivants :

  • SNAPSHOT_NAME : nom de l'instantané.
  • SOURCE_ZONE : zone du disque source.
  • SOURCE_DISK_NAME : nom du volume de disque à partir duquel vous souhaitez créer un instantané.
  • KMS_PROJECT_ID : projet contenant la clé de chiffrement stockée dans Cloud Key Management Service.
  • KEY_REGION : région où se trouve la clé Cloud KMS.
  • KEY_RING : nom du trousseau de clés contenant la clé Cloud KMS.
  • SNAPSHOT_KEY : nom de la clé Cloud KMS que vous avez utilisée pour chiffrer le disque source.
  • SNAPSHOT_TYPE : type d'instantané, STANDARD ou ARCHIVE. Si aucun type d'instantané n'est spécifié, un instantané STANDARD est créé.
  • STORAGE_LOCATION : Facultatif : pour les instantanés à portée mondiale, emplacement multirégional Cloud Storage ou région Cloud Storage dans laquelle vous souhaitez stocker l'instantané. Vous ne pouvez spécifier qu'un seul emplacement de stockage.

    N'utilisez le paramètre --storage-location que si vous souhaitez ignorer l'emplacement de stockage par défaut prédéfini ou personnalisé configuré dans vos paramètres d'instantanés.

  • SNAPSHOT_SCOPE_REGION : Facultatif : pour les instantanés à champ d'application régional, région à laquelle l'instantané est associé. Si vous incluez ce paramètre, vous ne pouvez pas utiliser le paramètre --storage-location. La valeur de STORAGE_LOCATION est automatiquement définie sur SNAPSHOT_SCOPE_REGION.

REST

Vous pouvez créer votre instantané dans la stratégie d'emplacement de stockage définie par vos paramètres d'instantanés ou en utilisant un autre emplacement de stockage de votre choix. Pour en savoir plus, consultez la section Choisir l'emplacement de stockage de vos instantanés.

  • Pour créer un instantané dans l'emplacement par défaut prédéfini ou personnalisé configuré dans vos paramètres d'instantanés, envoyez une requête POST à la méthode snapshots.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"
    }
    
  • Pour remplacer les paramètres d'instantané et créer un instantané dans un emplacement de stockage personnalisé, vous pouvez aussi envoyer une requête POST à la méthode snapshots.insert et incluez la propriété storageLocations dans votre requête :

    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"
        ],
    }
    
  • (Aperçu) Pour créer un instantané à portée régionale dans une région autorisée, envoyez une requête POST à la méthode snapshots.insert et définissez la région de création :

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

Remplacez les éléments suivants :

  • DESTINATION_PROJECT_ID : ID du projet dans lequel vous souhaitez créer l'instantané.
  • SNAPSHOT_NAME : nom de l'instantané.
  • SOURCE_PROJECT_ID : ID de projet du disque source.
  • SOURCE_ZONE : zone du disque source.
  • SOURCE_DISK_NAME : nom du disque à partir duquel vous souhaitez créer un instantané.
  • KMS_PROJECT_ID : projet contenant la clé de chiffrement stockée dans Cloud Key Management Service.
  • KEY_REGION : région où se trouve la clé Cloud KMS.
  • KEY_RING : nom du trousseau de clés contenant la clé Cloud KMS.
  • SNAPSHOT_KEY : nom de la clé Cloud KMS que vous avez utilisée pour chiffrer le disque source.
  • SNAPSHOT_TYPE : type d'instantané, STANDARD ou ARCHIVE. Si aucun type d'instantané n'est spécifié, un instantané STANDARD est créé.
  • STORAGE_LOCATION : Facultatif : pour les instantanés à portée mondiale, emplacement multirégional Cloud Storage ou région Cloud Storage dans laquelle vous souhaitez stocker l'instantané. Vous ne pouvez spécifier qu'un seul emplacement de stockage.

    N'utilisez le paramètre storageLocations que si vous souhaitez ignorer l'emplacement de stockage par défaut prédéfini ou personnalisé configuré dans vos paramètres d'instantanés.

  • SNAPSHOT_SCOPE_REGION : Facultatif : pour les instantanés à champ d'application régional, région à laquelle l'instantané est associé. Si vous incluez ce paramètre, vous ne pouvez pas utiliser le paramètre storageLocations. La valeur de STORAGE_LOCATION est automatiquement définie sur SNAPSHOT_SCOPE_REGION.

Chiffrer une image importée avec une clé CMEK

Vous pouvez chiffrer une nouvelle image lorsque vous importez une image personnalisée dans Compute Engine. Pour pouvoir importer une image, vous devez créer et compresser un fichier image de disque, puis importer ce fichier compressé dans Cloud Storage.

Console

  1. Dans la console Cloud de Confiance , accédez à la page Images.

    Accéder à la page "Images"

  2. Cliquez sur Create image (Créer une image).
  3. Sous Disque source, sélectionnez le disque dont vous souhaitez créer une image.
  4. Pour le champ Chiffrement, sélectionnez Clé gérée par le client.
  5. Dans le menu déroulant, sélectionnez la clé Cloud KMS à utiliser pour chiffrer cette image.
  6. Poursuivez le processus de création de l'image.

gcloud

Pour importer et chiffrer une image, utilisez la commande gcloud compute images create. Pour le chiffrement géré par le client, spécifiez la clé Cloud KMS de l'image.

gcloud compute images create IMAGE_NAME \
    --source-disk=SOURCE_DISK  \
    --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY

Remplacez les éléments suivants :

  • IMAGE_NAME : nom de l'image que vous créez.
  • SOURCE_DISK : le nom du disque pour lequel créer un instantané.
  • KMS_PROJECT_ID : projet contenant la clé Cloud KMS.
  • REGION : région dans laquelle se trouve la clé Cloud KMS.
  • KEY_RING : trousseau de clés contenant la clé Cloud KMS
  • KEY : nom de la clé à utiliser pour chiffrer le nouveau disque

REST

Pour chiffrer une image importée, envoyez une requête POST à la méthode images.insert. Spécifiez l'URI du fichier compressé, ajoutez la propriété imageEncryptionKey à la requête de création d'image, puis spécifiez la clé permettant de chiffrer l'image dans la propriété kmsKeyName.

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

Remplacez les éléments suivants :

  • PROJECT_ID : projet dans lequel créer l'image chiffrée.
  • IMAGE_NAME : nom de l'image que vous créez.
  • KMS_PROJECT_ID : projet contenant la clé Cloud KMS.
  • REGION : région dans laquelle se trouve la clé Cloud KMS.
  • KEY_RING : trousseau de clés contenant la clé Cloud KMS
  • KEY : nom de la clé que vous avez utilisée pour chiffrer le disque source.

Créer un disque à partir d'un instantané chiffré avec une clé CMEK

Pour créer un disque à partir d'un instantané chiffré, procédez comme suit :

Console

  1. Dans la console Cloud de Confiance , accédez à la page Disques.

    Accéder à la page Disques

  2. Cliquez sur Créer un disque et saisissez les propriétés du nouveau disque.
  3. Sous Type de source, sélectionnez l'image ou l'instantané que vous souhaitez utiliser.
  4. Facultatif : Si vous souhaitez spécifier une nouvelle clé de chiffrement, dans le champ Chiffrement, spécifiez le type de clé de chiffrement à utiliser, puis fournissez les informations de clé de chiffrement.

    Si vous souhaitez supprimer la clé de chiffrement gérée ou fournie par le client, utilisez la valeur par défaut Google Cloud-powered encryption key pour le chiffrement.

  5. Poursuivez le processus de création du disque.

gcloud

  • Pour créer un disque à partir d'un instantané chiffré à portée mondiale, utilisez la commande gcloud compute disks create.

    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
    
  • (Aperçu) Pour créer un disque à partir d'un instantané chiffré à portée régionale, utilisez la commande gcloud compute disks create et spécifiez la région de l'instantané source.

    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
    

Remplacez les éléments suivants :

  • DISK_NAME : le nom du nouveau disque
  • SNAPSHOT_NAME : nom de l'instantané chiffré

    Pour utiliser une image au lieu d'un instantané, remplacez --source-snapshot SNAPSHOT_NAME par --image IMAGE_NAME.

  • KMS_PROJECT_ID : projet contenant la clé Cloud KMS (facultatif).

  • REGION (facultatif) : région dans laquelle se trouve la clé Cloud KMS

  • SOURCE_REGION : région à laquelle est associé l'instantané source

  • ZONE : zone où se trouve le nouveau disque

  • KEY_RING : (facultatif) trousseau de clés contenant la clé Cloud KMS

  • KEY : nom de la clé Cloud KMS à utiliser pour chiffrer le nouveau disque.

    Pour chiffrer le nouveau disque, vous pouvez effectuer l'une des opérations suivantes :

    • Pour spécifier une nouvelle clé de chiffrement gérée par le client, utilisez l'option --kms-key.
    • Pour utiliser la valeur par défaut Google Cloud-powered encryption key, n'incluez pas l'option --kms-key.

REST

  • Pour créer un disque à partir d'un instantané chiffré à portée mondiale, envoyez une requête POST à la méthode compute.disks.insert. Utilisez la propriété sourceSnapshot pour spécifier l'instantané.

    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"
      }
    }
    
  • (Aperçu) Pour créer un disque à partir d'un instantané chiffré à portée régionale, envoyez une requête POST à la méthode compute.disks.insert. Utilisez la propriété sourceSnapshot pour spécifier l'instantané.

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

Remplacez les éléments suivants :

  • PROJECT_ID : projet dans lequel créer le disque
  • ZONE : zone dans laquelle créer le disque
  • SOURCE_REGION : région à laquelle est associé l'instantané source
  • DISK_NAME : nom du nouveau disque.
  • DISK_TYPE : URL complète ou partielle du type du disque, par exemple PROJECT_ID/zones/ZONE/diskTypes/pd-ssd.
  • SNAPSHOT_PROJECT_ID : projet contenant l'instantané.
  • SNAPSHOT_NAME : nom de l'instantané chiffré

    Pour utiliser une image au lieu d'un instantané, remplacez sourceSnapshot par sourceImage.

  • KMS_PROJECT_ID : projet contenant la clé Cloud KMS (facultatif).

  • REGION (facultatif) : région dans laquelle se trouve la clé Cloud KMS

  • KEY_RING : (facultatif) trousseau de clés contenant la clé Cloud KMS

  • KEY : nom de la clé Cloud KMS à utiliser pour chiffrer le nouveau disque.

    Si vous incluez diskEncryptionKey, le disque est chiffré avec la clé Cloud KMS spécifiée. Si vous n'incluez pas diskEncryptionKey, le disque est chiffré à l'aide d'un Google Cloud-powered encryption key.

Associer un disque de démarrage chiffré avec une clé CMEK à une nouvelle VM

Console

  1. Accédez à la page Créer une instance dans la console Cloud de Confiance .

    Accéder à la page Créer une instance

  2. Spécifiez les détails de la VM, puis, dans la section Disque de démarrage, cliquez sur Modifier. Ensuite, procédez comme suit :

    1. Cliquez sur Disques existants.
    2. Dans la liste Disque, sélectionnez un disque existant à associer à la VM.
    3. Cliquez sur Select (Sélectionner).
  3. Poursuivez le processus de création de la VM.

gcloud

Pour associer un disque chiffré lorsque vous créez une VM, utilisez la commande gcloud compute instances create. Utilisez l'option --disk pour spécifier le disque de démarrage chiffré, comme illustré dans l'exemple suivant :

gcloud compute instances create VM_NAME \
  ...
  --disk name=DISK_NAME,boot=yes

Remplacez les éléments suivants :

  • VM_NAME : nom de la VM que vous créez.
  • DISK_NAME : le nom du disque chiffré.

REST

Envoyez une requête POST à la méthode compute.instances.insert. Utilisez la propriété disks pour spécifier le disque de démarrage chiffré, comme illustré dans l'exemple suivant :

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

Remplacez les éléments suivants :

  • PROJECT_ID : projet dans lequel créer la nouvelle VM.
  • ZONE : zone dans laquelle créer la nouvelle VM
  • DISK_ALIAS : nom d'appareil unique à utiliser comme alias de disque dans le répertoire /dev/disk/by-id/google-* de la VM qui exécute un système d'exploitation Linux. Ce nom peut être utilisé pour faire référence au disque lors d'opérations telles que le montage ou le redimensionnement depuis l'instance. Si vous ne spécifiez pas de nom d'appareil, la VM choisit un nom d'appareil par défaut à appliquer à ce disque, au format persistent-disk-x, où x est un numéro attribué par Compute Engine. Ce champ ne s'applique qu'aux volumes de disque persistant.
  • DISK_NAME : le nom du disque chiffré.

Faire pivoter la CMEK pour un disque ou un instantané

Pour réduire les conséquences potentielles d'une clé compromise, nous vous recommandons d'effectuer régulièrement une rotation des clés de chiffrement Cloud KMS à l'aide de l'une des méthodes suivantes.

gcloud

Pour alterner la clé Cloud KMS utilisée pour chiffrer un disque, un instantané d'archive ou un instantané standard vers une nouvelle version de clé, utilisez la commande gcloud compute disks update-kms-key ou la commande gcloud compute snapshots update-kms-key.

  • Pour effectuer la rotation de la version de clé qui chiffre un disque :

    gcloud compute disks update-kms-key DISK_NAME \
    --zone ZONE
    
  • Pour effectuer la rotation de la version de clé qui chiffre un instantané standard :

    gcloud compute snapshots update-kms-key SNAPSHOT_NAME
    

Remplacez les éléments suivants :

  • DISK_NAME : le nom du disque chiffré.
  • ZONE : zone où se trouve le disque chiffré
  • SNAPSHOT_NAME : nom de l'instantané chiffré

REST

Pour alterner la clé Cloud KMS utilisée pour chiffrer un disque, un instantané archivé ou un instantané standard vers une nouvelle version de clé, créez une requête PATCH pour la méthode compute.disks.updateKmsKey ou la méthode compute.snapshots.updateKmsKey.

  • Pour effectuer la rotation de la version de clé qui chiffre un disque zonal :

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/updateKmsKey
    
  • Pour effectuer la rotation de la version de clé qui chiffre un disque régional :

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME/updateKmsKey
    
  • Pour effectuer la rotation de la version de clé qui chiffre un instantané standard à champ d'application global :

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME/updateKmsKey
    
  • (Aperçu) Pour faire pivoter la version de la clé qui chiffre un instantané standard à portée régionale :

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/snapshots/SNAPSHOT_NAME/updateKmsKey
    

Remplacez les éléments suivants :

  • PROJECT_ID : projet dans lequel se trouve le disque ou l'instantané chiffré
  • ZONE : zone où se trouve le disque chiffré
  • REGION : région où se trouve le disque régional ou l'instantané à portée régionale
  • DISK_NAME : le nom du disque chiffré.
  • SNAPSHOT_NAME : nom de l'instantané chiffré
  • REGION : région où se trouve le disque régional ou l'instantané à portée régionale

La réponse inclut un élément name avec une valeur d'opération qui représente la rotation des clés :

  "name": "operation-YYYYYYYYYYYYY-YYYYYYYYYYYYY-YYYYYYYY-YYYYYYYY"
  

Vous pouvez ensuite interroger l'état de l'opération pour déterminer si votre appel d'API a réussi en envoyant une requête GET :

  GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/operations/OPERATION_NAME
  

Remplacez les éléments suivants :

  • PROJECT_ID : projet dans lequel se trouve le disque ou l'instantané chiffré
  • ZONE : zone où se trouve le disque chiffré
  • OPERATION_NAME : nom de l'opération de rotation de la CMEK, au format operation-YYYYYYYYYYYYY-YYYYYYYYYYYYY-YYYYYYYY-YYYYYYYY

La réponse inclut une valeur progress qui représente l'état de la rotation des clés. Lorsque l'état progress est défini sur 100, l'opération a réussi.

La rotation des clés n'entraîne ni la désactivation, ni la suppression des versions précédentes. Pour en savoir plus, consultez Après la rotation des clés.

Modifier la clé CMEK d'un disque ou d'un instantané

Vous pouvez modifier le chiffrement d'un disque, d'un instantané d'archive ou d'un instantané standard pour utiliser une autre clé CMEK (par exemple, lors d'une migration de projet ou pour répondre à de nouvelles exigences de conformité) sans temps d'arrêt.

Si vous modifiez la clé CMEK, la clé de chiffrement des données (DEK) de la ressource est à nouveau chiffrée avec la nouvelle clé. Ce processus ne modifie pas la clé DEK et n'a pas d'incidence sur les performances des charges de travail en cours d'exécution.

Pour modifier la clé Cloud KMS, vous pouvez utiliser gcloud CLI ou REST.

gcloud

Pour modifier la clé Cloud KMS d'un disque ou d'un instantané standard, utilisez l'option --kms-key avec la commande gcloud compute disks update-kms-key ou la commande gcloud compute snapshots update-kms-key.

  • Pour modifier la clé d'un disque zonal :

    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
    
  • Pour modifier la clé d'un disque régional :

    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
    
  • Pour modifier la clé d'un instantané global :

    gcloud compute snapshots update-kms-key SNAPSHOT_NAME \
    --kms-key=projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME
    
  • Pour modifier la clé d'un instantané à champ d'application régional :

    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
    

Remplacez les éléments suivants :

  • DISK_NAME : nom du disque chiffré.
  • NEW_KMS_KEY : ID complet de la ressource de la nouvelle CMEK.
  • ZONE : zone où se trouve le disque.
  • REGION : région où se trouve le disque ou l'instantané.
  • SNAPSHOT_NAME : nom de l'instantané chiffré.

REST

Pour modifier la clé, envoyez une requête POST à la méthode compute.disks.updateKmsKey ou à la méthode compute.snapshots.updateKmsKey et incluez le kmsKeyName dans le corps de la requête.

  • Pour modifier la clé d'un disque zonal :

    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"
    }
    
  • Pour modifier la clé d'un disque régional :

    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"
    }
    
  • Pour modifier la clé d'un instantané global :

    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"
    }
    
  • Pour modifier la clé d'un instantané à champ d'application régional :

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

Remplacez les éléments suivants :

  • PROJECT_ID : projet contenant le disque ou l'instantané.
  • ZONE : zone où se trouve le disque.
  • REGION : région où se trouve le disque ou l'instantané.
  • DISK_NAME : nom du disque.
  • NEW_KEY_NAME : nom de la nouvelle clé CMEK.
  • SNAPSHOT_NAME : nom de l'instantané chiffré.

Supprimer la clé CMEK d'un disque

Vous ne pouvez pas supprimer une clé CMEK d'un disque ni modifier le type de clé de chiffrement. Vous pouvez effectuer l'une des actions suivantes :

Pour créer un disque qui utilise Google Cloud-powered key à partir d'un disque chiffré par CMEK, procédez comme suit :

  1. Créez un instantané du disque chiffré.
  2. Utilisez le nouvel instantané chiffré pour créer un disque.

Le nouveau disque utilisera le chiffrement par défaut Cloud de Confiance by S3NS pour protéger son contenu. Tous les instantanés que vous créerez à partir de ce disque devront également utiliser le chiffrement par défaut.

Supprimer la clé CMEK d'un instantané

Vous ne pouvez pas supprimer une clé CMEK d'un instantané ni modifier le type de clé de chiffrement. Vous pouvez modifier l'instantané pour utiliser une autre clé CMEK ou créer une copie de l'instantané et la chiffrer avec une clé Google Cloud-powered key.

Pour créer un instantané qui utilise Google Cloud-powered keyà partir d'un instantané chiffré par CMEK, procédez comme suit :

  1. Créez un disque à partir de l'instantané. Lorsque vous créez le disque, sélectionnez le type de chiffrement souhaité.

  2. Créez un instantané du nouveau disque :

Désactiver ou détruire une clé CMEK

Si vous n'avez plus besoin d'une clé CMEK ou si vous souhaitez empêcher son utilisation, désactivez ou détruisez la clé. La suppression, la désactivation ou la suppression des autorisations IAM sur une clé est également appelée révocation de la clé.

Impact de la révocation de clés sur les ressources chiffrées

Lorsque vous révoquez une clé de chiffrement, les ressources qu'elle protège sont affectées comme suit :

  • Vous ne pouvez pas démarrer une VM si l'un de ses disques associés possède des clés révoquées.
  • Si un disque utilisant la clé est associé à une VM en cours d'exécution et que vous avez activé l'arrêt de VM sur révocation de clés pour la VM, Compute Engine arrête la VM dans un délai de sept heures.
  • Vous ne pouvez pas associer un disque dont la clé a été révoquée à une VM ni créer d'instantané à partir du disque.
  • Vous ne pouvez pas utiliser d'images ni d'instantanés chiffrés avec des clés révoquées pour créer des disques.

Si vous désactivez la clé, vous pouvez inverser les effets ci-dessus en la réactivant. Si vous détruisez la clé, les effets ci-dessus seront irréversibles.

Configurer l'arrêt de la VM sur révocation de la clé Cloud KMS

Vous pouvez configurer votre VM pour qu'elle s'arrête automatiquement lorsque vous révoquez la clé Cloud KMS qui protège un disque associé à la VM. Vous pouvez révoquer une clé en la désactivant ou en la supprimant. Lorsque ce paramètre est activé, la VM s'arrête dans les sept heures suivant la révocation de la clé.

Si vous réactivez la clé, vous pouvez redémarrer la VM avec le disque associé que la clé protège. La VM ne redémarre pas automatiquement après l'activation de la clé.

Console

Pour configurer une VM afin qu'elle s'arrête lorsqu'une clé Cloud KMS est révoquée, procédez comme suit :

  1. Commencez à créer une VM qui inclut un disque protégé par une clé Cloud KMS.
  2. Ouvrez le menu Mise en réseau, disques, sécurité, gestion, location unique.
  3. Développez la section Gestion.
  4. Sous Règle de révocation de clé de chiffrement gérée par le client (CMEK), sélectionnez Arrêter.

gcloud

Exécutez la commande gcloud compute instances create pour créer une VM et incluez --key-revocation-action-type=stop.

gcloud compute instances create VM_NAME \
  --image IMAGE \
  --key-revocation-action-type=stop

REST

Utilisez la méthode instances.insert pour créer une VM et définissez la propriété "keyRevocationActionType" sur "STOP". L'exemple suivant crée la VM à partir d'une image publique.

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

Vous pouvez également configurer un modèle d'instance pour créer des VM qui s'arrêtent sur révocation de clé à l'aide de gcloud CLI ou de REST.

Console

Vous pouvez utiliser un modèle d'instance pour créer des VM qui s'arrêtent lorsqu'une clé Cloud KMS est révoquée.

  1. Commencez à créer un modèle d'instance incluant un disque protégé par une clé Cloud KMS.
  2. Ouvrez le menu Mise en réseau, disques, sécurité, gestion, location unique.
  3. Développez la section Gestion.
  4. Sous Règle de révocation de clé de chiffrement gérée par le client (CMEK), sélectionnez Éteindre.

gcloud

Créez un modèle d'instance à l'aide de la commande gcloud compute instance-templates create et ajoutez --key-revocation-action-type=stop.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
  --key-revocation-action-type=stop

REST

Envoyez une requête POST à la méthode instanceTemplates.insert. Dans le corps de la requête, vous devez définir explicitement tous les champs de configuration requis. Si vous souhaitez que les VM créées à partir de ce modèle s'arrêtent lors de la révocation de la clé, spécifiez "keyRevocationActionType":"STOP". Par exemple, un modèle d'instance qui ne comporte que les champs obligatoires requis et va créer des VM qui s'arrêtent lors de la révocation de la clé se présente comme suit :

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

Après avoir créé une VM qui est configurée pour s'arrêter sur révocation de Cloud KMS, créez et associez un disque persistant chiffré avec une clé Cloud KMS.

Étapes suivantes