Ce document fournit des informations sur l'utilisation des clés gérées par Cloud Key Management Service (Cloud KMS) afin de chiffrer les disques et d'autres ressources liées au stockage. Les clés gérées par Cloud KMS sont des 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.
Pour en savoir plus sur le chiffrement de disques et d'autres ressources de stockage à l'aide de clés de chiffrement fournies par le client (CSEK), consultez la page Chiffrer des disques avec des clés fournies par le client.
En savoir plus sur le chiffrement des disques.
Avant de commencer
- Familiarisez-vous avec les disques, les images, les instantanés de disques persistants et les instances de machine virtuelle (VM).
- Déterminez si vous allez exécuter Compute Engine et Cloud KMS dans le même projet Google Cloud ou dans des projets différents. Pour en savoir plus sur les ID et numéros de projet Google Cloud, consultez la section Identifier des projets.
- Pour le projet Google Cloud qui exécute Cloud KMS, procédez comme suit :
-
Enable the Cloud KMS API.
-
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :
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 Google Cloud pour accéder aux services et aux API Google Cloud, vous n'avez pas besoin de configurer l'authentification.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Définissez une région et une zone par défaut.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
Rôles requis
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 suivant : Chiffreur/Déchiffreur de CryptoKeys Cloud KMS (roles/cloudkms.cryptoKeyEncrypterDecrypter
) sur votre projet.
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
Votre administrateur peut également attribuer à l'agent de service Compute Engine les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
L'agent de service de Compute Engine se présente sous la forme suivante :
service-PROJECT_NUMBER@compute-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.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Remplacez les éléments suivants :
KMS_PROJECT_ID
: ID de votre projet Google Cloud qui exécute Cloud KMS (même s'il correspond également au projet exécutant Compute Engine)PROJECT_NUMBER
: numéro de votre projet Google Cloud qui exécute les ressources Compute Engine, et non son ID
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 clés générées par Google. Pour en savoir plus sur les spécifications liées au chiffrement par défaut dans Google Cloud, consultez la page Chiffrement au repos par défaut de la documentation sur la sécurité.
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 utilisez d'autres ressources chiffrées par CMEK, telles que des clones de disque et des instantanés standards.
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 Google et supprimées à l'arrêt de la VM.
Les ressources régionales (disques) ne peuvent être chiffrées que par une clé située dans l'un des emplacements Cloud KMS suivants :
- Clé située dans la même région que le disque
- Une clé multirégionale dans le même emplacement géographique que le disque
- Clé dans l'emplacement global.
Par exemple, un disque de la zone
us-west1-a
peut être chiffré à l'aide d'une clé située dans l'emplacement global, dans la régionus-west1
ou dans l'emplacement multirégionalus
.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.
Le chiffrement d'un disque, d'un instantané ou d'une image avec une clé est définitif. Vous ne pouvez pas supprimer le chiffrement de la ressource ni modifier la clé utilisée. Le seul moyen de supprimer le chiffrement ou de modifier les clés consiste à créer une copie de la ressource tout en spécifiant une nouvelle option de chiffrement.
Création manuelle ou automatique de clés
Vous pouvez créer des clés Cloud KMS manuellement ou utiliser la clé automatique Cloud KMS (bêta). 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 page Présentation de la fonction de clé automatique.
Créer manuellement un trousseau de clés et une clé
Pour le projet Google Cloud 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
- Dans la console Google Cloud, accédez à la page Disques.
- Cliquez sur Créer un disque et saisissez les propriétés du nouveau disque.
- Sous Chiffrement, sélectionnez Clé gérée par le client.
- Dans le menu déroulant, sélectionnez la clé Cloud KMS à utiliser pour chiffrer ce disque.
- 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 disqueKMS_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 projet Google Cloud exécutant Compute EngineZONE
: zone dans laquelle créer la VMMACHINE_TYPE
: type de machine, par exemplec3-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 disqueSOURCE_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 projet Google Cloud exécutant Compute EngineZONE
: zone dans laquelle vous souhaitez créer le disqueSOURCE_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 disqueDISK_TYPE
: type de disque à créer.
Créer un instantané à partir d'un disque chiffré avec une clé CMEK
Pour protéger un instantané que vous créez à partir d'un disque chiffré avec une clé CMEK, vous devez utiliser 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, ne pouvez pas convertir des disques ou des instantanés chiffrés par CMEK pour utiliser le chiffrement Google Cloud 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
- Dans Google Cloud Console, accédez à la page Instantanés.
- Cliquez sur Create snapshot (Créer un instantané).
- 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
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é.
- 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 : emplacement multirégional Cloud Storage ou la 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.
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éthodesnapshots.insert
:POST https://compute.googleapis.com/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éthodesnapshots.insert
et incluez la propriétéstorageLocations
dans votre requête :POST https://compute.googleapis.com/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" ], }
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 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 : emplacement multirégional Cloud Storage ou la 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.
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
- Dans la console Google Cloud, accédez à la page Images.
- Cliquez sur Create image (Créer une image).
- Sous Disque source, sélectionnez le disque dont vous souhaitez créer une image.
- Pour le champ Chiffrement, sélectionnez Clé gérée par le client.
- Dans le menu déroulant, sélectionnez la clé Cloud KMS à utiliser pour chiffrer cette image.
- 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 KMSKEY
: 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 KMSKEY
: nom de la clé que vous avez utilisée pour chiffrer le disque source.
Créer un disque persistant à partir d'un instantané chiffré avec une clé CMEK
Pour créer un disque persistant autonome à l'aide d'un instantané chiffré, procédez comme suit :
Console
- Dans la console Google Cloud, accédez à la page Disques.
- Cliquez sur Créer un disque et saisissez les propriétés du nouveau disque.
- Sous Type de source, sélectionnez l'image ou l'instantané que vous souhaitez utiliser.
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 Clé de chiffrement gérée par Google pour le chiffrement.
Poursuivez le processus de création du disque persistant.
gcloud
Exécutez la commande gcloud compute disks create
pour créer un disque persistant autonome à partir d'un instantané chiffré.
gcloud compute disks create DISK_NAME \ --source-snapshot SNAPSHOT_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 disqueSNAPSHOT_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 KMSKEY_RING
: (facultatif) trousseau de clés contenant la clé Cloud KMSKEY
: 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 le chiffrement par défaut géré par Google, n'incluez pas l'option
--kms-key
.
- Pour spécifier une nouvelle clé de chiffrement gérée par le client, utilisez l'option
REST
Envoyez une requête POST
à la méthode compute.disks.insert
pour créer un disque persistant autonome à partir d'un instantané chiffré. 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" } }
Remplacez les éléments suivants :
PROJECT_ID
: projet dans lequel créer le disqueZONE
: zone dans laquelle créer le disqueDISK_NAME
: le nom du nouveau disqueSNAPSHOT_PROJECT_ID
: projet contenant l'instantané.SNAPSHOT_NAME
: nom de l'instantané chiffréPour utiliser une image au lieu d'un instantané, remplacez
sourceSnapshot
parsourceImage
.KMS_PROJECT_ID
: projet contenant la clé Cloud KMS (facultatif).REGION
(facultatif) : région dans laquelle se trouve la clé Cloud KMSKEY_RING
: (facultatif) trousseau de clés contenant la clé Cloud KMSKEY
: 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 pasdiskEncryptionKey
, le disque est chiffré à l'aide du chiffrement géré par Google.
Associer un disque de démarrage chiffré avec une clé CMEK à une nouvelle VM
Console
Accédez à la page Créer une instance dans Google Cloud Console.
Spécifiez les détails de la VM, puis, dans la section Disque de démarrage, cliquez sur Modifier. Ensuite, procédez comme suit :
- Cliquez sur Disques existants.
- Dans la liste Disque, sélectionnez un disque existant à associer à la VM.
- Cliquez sur Select (Sélectionner).
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 VMDISK_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 depuis l'instance au cours des processus de montage ou de redimensionnement, par exemple. Si vous ne spécifiez pas de nom d'appareil, la VM choisit un nom d'appareil par défaut à appliquer à ce disque, au formatpersistent-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é.
Supprimer la clé de chiffrement Cloud KMS d'un disque persistant
Vous pouvez déchiffrer le contenu d'un disque chiffré et créer un disque qui utilise le chiffrement Compute Engine par défaut. Par défaut, Google Cloud chiffre toutes les données au repos.
- Créez un instantané du disque chiffré.
- Utilisez le nouvel instantané chiffré pour créer un disque persistant.
Le nouveau disque persistant utilisera le chiffrement Google Cloud par défaut 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.
Effectuer une rotation de votre clé de chiffrement Cloud KMS pour un disque
Alternez la clé utilisée pour chiffrer le disque en créant un nouveau disque qui utilise une nouvelle version de clé Cloud KMS. La rotation des clés est une bonne pratique à suivre pour respecter les pratiques de sécurité standardisées. Pour effectuer une rotation de vos clés, procédez comme suit :
- Effectuez une rotation de votre clé Cloud KMS.
- Créez un instantané du disque chiffré.
- Utilisez le nouvel instantané pour créer un disque avec la clé ayant subi la rotation à l'étape précédente.
- Remplacez le disque associé à votre VM qui utilise l'ancienne clé de chiffrement.
Lorsque vous créez le disque, il utilise la nouvelle version de clé pour le chiffrement. Tous les instantanés que vous créez à partir de ce disque utilisent la dernière version de clé primaire.
Lors de la rotation d'une clé, les données chiffrées avec les versions de clé précédentes ne sont pas automatiquement rechiffrées. Pour en savoir plus, consultez la page Rechiffrer des données. La rotation d'une clé n'entraîne ni la désactivation, ni la destruction automatique d'une version de clé existante.
Impact de la désactivation ou de la suppression des clés CMEK
La désactivation ou la suppression d'une clé de chiffrement a les effets suivants sur les ressources qu'elle protège :
- Les VM auxquelles sont associés des disques ne peuvent pas démarrer. Si vous avez activé l'option d'arrêt de VM sur révocation de clés, les VM auxquelles sont associés des disques protégés par la clé sont arrêtées.
- Les disques ne peuvent pas être associés à des VM et ne permettent pas de créer des instantanés.
- Les instantanés ne peuvent pas être utilisés pour créer un disque.
- Les images ne peuvent pas être utilisées pour créer un disque.
Si vous désactivez la clé, vous pouvez inverser les effets ci-dessus en la réactivant. Si vous supprimez 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 se ferme automatiquement lorsque vous révoquez la clé Cloud KMS qui protège un disque persistant 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 :
- Commencez à créer une VM qui inclut un disque protégé par une clé Cloud KMS.
- Ouvrez le menu Mise en réseau, disques, sécurité, gestion, location unique.
- Développez la section Gestion.
- 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 createVM_NAME
\ --imageIMAGE
\ --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.
- Commencez à créer un modèle d'instance incluant un disque protégé par une clé Cloud KMS.
- Ouvrez le menu Mise en réseau, disques, sécurité, gestion, location unique.
- Développez la section Gestion.
- 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.