Ce document explique comment utiliser des clés Cloud Key Management Service (Cloud KMS) créées manuellement pour chiffrer des 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.
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 vous souhaitez créer un volume Hyperdisk équilibré 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 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 en sélectionnant l'une des options suivantes:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
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 IDVous 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.
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 :
- Une clé située dans la même région que le disque
- Une clé multirégionale au 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, la régionus-west1
ou la zone multirégionaleus
.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, modifier le type de chiffrement ni modifier la clé utilisée. Le seul moyen de supprimer le chiffrement ou de modifier les clés de chiffrement consiste à créer une copie de la ressource tout en spécifiant une nouvelle option de chiffrement. Par exemple, pour passer d'une utilisation de clés générées par Google à des clés CMEK, procédez comme suit:
- Créez un instantané du disque.
- Créez un disque à partir de l'instantané. Lorsque vous créez le disque, sélectionnez le type de chiffrement souhaité.
Pour en savoir plus, consultez la section Modifier le type d'un disque.
- 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.
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.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
.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.- 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.
- Dans la section Paramètres du disque, sélectionnez le type de disque Hyperdisk Balanced.
- Facultatif. Modifiez les paramètres par défaut pour la taille, les IOPS provisionnées et le débit provisionné du disque.
- Dans la section Chiffrement, sélectionnez Clé Cloud KMS.
- Dans la liste des clés, sélectionnez la clé Cloud HSM que vous souhaitez utiliser pour chiffrer ce disque.
- Dans la section Informatique confidentielle, sélectionnez Activer les services d'informatique confidentielle.
- Pour créer le disque, cliquez sur Créer.
DISK_NAME
: le nom du nouveau disqueKMS_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.DISK_TYPE
: type de disque à créer, par exemplehyperdisk-balanced
PROJECT_ID
: ID du projet Google Cloud exécutant Compute EngineZONE
: zone dans laquelle créer la VMMACHINE_TYPE
: type de machine, par exemplen2d-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 les VM confidentielles à utiliser lors de la création de la VM, par exempleprojects/debian-cloud/global/images/debian-11-bullseye-v20231115
.PROJECT_ID
: ID du projet Google Cloud exécutant Compute EngineZONE
: zone dans laquelle vous souhaitez créer le disqueSOURCE_IMAGE
: image compatible avec la VM confidentielle lors de la création du disque, par exempleprojects/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 disqueDISK_TYPE
: type de disque à créer (par exemple,hyperdisk-balanced
)- 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.
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.
-
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" ], }
- 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 : 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. - 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.
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 disquePROJECT_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.- 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.
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 la clé par défaut appartenant à Google et gérée 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
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 d'une clé appartenant à Google et gérée par Google.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.
VM_NAME
: nom de la VM que vous créez.DISK_NAME
: le nom du disque chiffré.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 pour des 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 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é.- Créez un instantané du disque chiffré.
- Utilisez le nouvel instantané chiffré pour créer un disque persistant.
- 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.
- Vous ne pouvez pas démarrer une VM si des clés ont été révoquées sur l'un de ses disques associés.
- Si un disque qui utilise la clé est associé à une VM en cours d'exécution et que vous avez activé l'option Arrêt de VM en cas de révocation de clé pour la VM, Compute Engine arrête la VM dans un délai de sept heures.
- Vous ne pouvez pas associer un disque avec une clé 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.
- 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.
- 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.
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
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
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 page Gérer l'accès aux projets, aux dossiers et aux organisations.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 :
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 appartenant à Google et gé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é.
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 basées sur le matériel.
Limites
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. 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 section Présentation de la 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
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 :
REST
Envoyez une requête
POST
à la méthodeinstances.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 :
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 :
Créer un disque Hyperdisk équilibré en mode confidentiel
Vous pouvez créer un disque Hyperdisk équilibré en mode Confidential à l'aide de la console Google Cloud, de la Google Cloud CLI ou de REST.
Console
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 :
REST
Envoyez une requête
POST
à la méthodeinstances.insert
. Pour chiffrer un disque avec le mode Confidentiel pour Hyperdisk équilibré, utilisez la propriétédiskEncryptionKey
avec la propriétékmsKeyName
et définissez l'indicateurenableConfidentialCompute
. 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 :
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 :
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
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.
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.
Remplacez les éléments suivants :
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
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 :
REST
Pour chiffrer une image importée, envoyez une requête
POST
à la méthodeimages.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 :
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
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 :
REST
Envoyez une requête
POST
à la méthodecompute.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 :
Associer un disque de démarrage chiffré avec une clé CMEK à une nouvelle VM
Console
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 :
REST
Envoyez une requête
POST
à la méthodecompute.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 :
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.
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 :
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.
Désactiver ou supprimer une clé CMEK
Si vous n'avez plus besoin d'une CMEK ou si vous souhaitez empêcher son utilisation, supprimez ou désactivez 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é sur les ressources chiffrées
Lorsque vous révoquez une clé de chiffrement, les ressources qu'elle protège sont affectées comme suit:
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 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 :
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
\ --imageIMAGE
\ --key-revocation-action-type=stopREST
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.
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=stopREST
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.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/12/22 (UTC).
-