À propos du chiffrement des disques


Par défaut, Compute Engine chiffre les contenus client au repos. Compute Engine gère le chiffrement pour vous sans aucune action supplémentaire de votre part. Cette option est appelée chiffrement par défaut de Google.

Toutefois, vous pouvez personnaliser le chiffrement que Compute Engine utilise pour vos ressources en fournissant des clés de chiffrement de clés (KEK). Les clés de chiffrement de clés ne chiffrent pas directement les données. Au lieu de cela, elles utilisent les clés générées par Google pour chiffrer vos données.

Vous disposez de deux options pour fournir des clés de chiffrement de clés :

  • Recommandation. Utilisez des clés de chiffrement gérées par le client (CMEK) dans Cloud KMS avec Compute Engine. L'utilisation de clés Cloud KMS vous permet de contrôler leur niveau de protection, leur emplacement, leur calendrier de rotation, leurs autorisations d'utilisation et d'accès, ainsi que leurs limites cryptographiques. Cloud KMS vous permet également de suivre l'utilisation des clés, d'afficher les journaux d'audit et de contrôler les cycles de vie des clés. Au lieu de laisser Google posséder et gérer les clés de chiffrement de clés (KEK) symétriques qui protègent vos données, c'est vous qui vous chargez de cette tâche dans Cloud KMS.

    Vous pouvez créer des clés CMEK manuellement ou utiliser Cloud KMS Autokey pour les créer automatiquement en votre nom.

    Dans la plupart des cas, après avoir créé un disque chiffré par CMEK, vous n'avez pas besoin de spécifier la clé lorsque vous travaillez avec le disque.

  • Vous pouvez gérer vos propres clés de chiffrement de clés en dehors de Compute Engine et les fournir chaque fois que vous créez ou gérez un disque. Cette option est appelée clés de chiffrement fournies par le client (CSEK pour "customer-supplied encryption keys"). Lorsque vous gérez des ressources chiffrées par CSEK, vous devez toujours spécifier la clé que vous avez utilisée lors du chiffrement de la ressource.

Pour en savoir plus, consultez les pages Clés de chiffrement gérées par le client et Clés de chiffrement fournies par le client.

Types de disques compatibles

Cette section répertorie les types de chiffrement compatibles avec les disques et autres options de stockage proposées par Compute Engine.

  • Les volumes de disque persistant sont compatibles avec le chiffrement par défaut de Google, les clés CMEK et les clés CSEK.

  • Google Cloud Hyperdisk est compatible avec les clés CMEK et le chiffrement par défaut de Google. Vous ne pouvez pas utiliser de clés CSEK pour chiffrer des hyperdisques.

  • Les disques SSD locaux ne sont compatibles qu'avec le chiffrement par défaut de Google. Vous ne pouvez pas utiliser des CSEK ou des CMEK pour chiffrer les disques SSD locaux.

  • Les clones de disque et les images système sont compatibles avec le chiffrement par défaut de Google, les clés CMEK et les clés CSEK.

  • Les instantanés standards et les instantanés immédiats sont compatibles avec le chiffrement par défaut de Google, les CMEK et les CSEK.

CMEK avec Cloud KMS Autokey

Si vous choisissez d'utiliser des clés Cloud KMS pour protéger vos ressources Compute Engine, vous pouvez créer des clés CMEK manuellement ou utiliser Cloud KMS Autokey. Avec Autokey, les trousseaux de clés et les clés sont générés à la demande lors de la création de ressources dans Compute Engine. Les agents de service qui utilisent les clés pour les opérations de chiffrement et de déchiffrement sont créés s'ils n'existent pas déjà et s'ils se voient attribuer les rôles IAM (Identity and Access Management) requis. Pour en savoir plus, consultez la section Présentation de la clé Autokey.

Pour apprendre à utiliser les CMEK créées par Cloud KMS Autokey afin de protéger vos ressources Compute Engine, consultez la section Utiliser Autokey avec des ressources Compute Engine.

Instantanés

Lorsque vous utilisez Autokey pour créer des clés afin de protéger vos ressources Compute Engine, Autokey ne crée pas de clés pour les instantanés. Vous devez chiffrer un instantané avec la même clé que celle utilisée pour chiffrer le disque source. Si vous créez un instantané à l'aide de la console Google Cloud, la clé de chiffrement utilisée par le disque est automatiquement appliquée à l'instantané. Si vous créez un instantané à l'aide de gcloud CLI, de Terraform ou de l'API Compute Engine, vous devez obtenir l'identifiant de ressource de la clé utilisée pour chiffrer le disque, puis utiliser cette clé pour chiffrer l'instantané.

Chiffrer des disques avec des clés de chiffrement gérées par le client

Pour en savoir plus sur le chiffrement de disques et d'autres ressources Compute Engine à l'aide de clés de chiffrement créées manuellement et gérées par le client (CMEK), consultez la page Protéger des ressources avec des clés Cloud KMS.

Chiffrer des disques avec des clés fournies par le client

Pour savoir comment utiliser des clés de chiffrement fournies par le client (CSEK) afin de chiffrer des disques et d'autres ressources Compute Engine, consultez la page Chiffrer des disques avec des clés fournies par le client.

Afficher les informations relatives au chiffrement d'un disque

Les disques Compute Engine sont chiffrés avec des clés de chiffrement gérées par Google, gérées par le client ou fournies par le client. Le chiffrement géré par Google est la valeur par défaut.

Pour afficher le type de chiffrement d'un disque, vous pouvez utiliser gcloud CLI, la console Google Cloud ou l'API Compute Engine.

Console

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

    Accéder à la page Disques

  2. Dans la colonne Nom, cliquez sur le nom du disque.

  3. Dans la table Propriétés, la ligne libellée Chiffrement indique le type de chiffrement : Géré par Google ,géré par le client ou fourni par le client.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Exécutez la commande gcloud compute disks describe :

        gcloud compute disks describe DISK_NAME \
          --zone=ZONE \
          --format="json(diskEncryptionKey)"
      

    Remplacez les éléments suivants :

    • PROJECT_ID : ID de votre projet.
    • ZONE : la zone où se trouve le disque.
    • DISK_NAME: Nom du disque.

      Résultat de la commande

      Si le résultat est null, le disque utilise le chiffrement géré par Google, soit la valeur par défaut.

      Sinon, le résultat est un objet JSON.

      Si l'objet JSON contient un champ nommé diskEncryptionKey, le disque est chiffré. L'objet diskEncryptionKey contient des informations indiquant si le disque est chiffré avec une clé CMEK ou CSEK :

      • Si la propriété diskEncryptionKey.kmsKeyName est présente, le disque est chiffré avec une CMEK. La propriété kmsKeyName indique le nom de la clé spécifique utilisée pour chiffrer le disque :
        {
          "diskEncryptionKey": {
            "kmsKeyName": "projects/my-proj/.."
          }
        }
        
      • Si la propriété diskEncryptionKey.sha256 est présente, le disque est chiffré par CSEK. La propriété sha256 correspond au hachage SHA-256 de la clé de chiffrement fournie par le client qui protège le disque.
          {
            "diskEncryptionKey": {
              "sha256": "abcdefghijk134560459345dssfd"
            }
          }
            

API

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

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet.
  • ZONE : la zone où se trouve le disque.
  • DISK_NAME : le nom du disque

Réponse de requête

Si la réponse est null, le disque utilise le chiffrement géré par Google, soit la valeur par défaut.

Sinon, la réponse est un objet JSON.

Si l'objet JSON contient un champ nommé diskEncryptionKey, le disque est chiffré. L'objet diskEncryptionKey contient des informations indiquant si le disque est chiffré avec une clé CMEK ou CSEK :

  • Si la propriété diskEncryptionKey.kmsKeyName est présente, le disque est chiffré avec une CMEK. La propriété kmsKeyName indique le nom de la clé spécifique utilisée pour chiffrer le disque :
    {
      "diskEncryptionKey": {
        "kmsKeyName": "projects/my-proj/.."
      }
    }
    
  • Si la propriété diskEncryptionKey.sha256 est présente, le disque est chiffré par CSEK. La propriété sha256 correspond au hachage SHA-256 de la clé de chiffrement fournie par le client qui protège le disque.
      {
        "diskEncryptionKey": {
          "sha256": "abcdefghijk134560459345dssfd"
        }
      }
        

Si le disque utilise le chiffrement CMEK, vous pouvez trouver des informations détaillées sur la clé, son trousseau et son emplacement en suivant les étapes décrites dans la section Afficher les clés par projet.

Si le disque utilise le chiffrement CSEK, contactez l'administrateur de votre organisation pour plus de détails sur la clé. Avec CMEK, vous pouvez également voir quelles ressources cette clé protège avec le suivi de l'utilisation des clés. Pour en savoir plus, consultez la section Afficher l'utilisation des clés.

Étapes suivantes