Par défaut, Cloud Workstations utilise une clé appartenant à Google et gérée par Google pour chiffrer les ressources de la station de travail, telles que les VM et les disques persistants, lorsque les données sont au repos. Si vous avez des exigences réglementaires ou de conformité spécifiques concernant les clés qui protègent vos données, vous pouvez utiliser des clés de chiffrement gérées par le client (CMEK) à l'aide de Cloud Key Management Service (Cloud KMS).
Pour en savoir plus sur CMEK en général, y compris quand et pourquoi l'activer, consultez la documentation Cloud KMS.
Avant de commencer
Créer vos projets
Dans la console Google Cloud, sur la page de sélection du projet, sélectionnez ou créez deux projets Google Cloud:
Un projet de clé contient vos ressources Cloud KMS, y compris un trousseau de clés et une clé de chiffrement symétrique.
Un projet de stations de travail contient des stations de travail chiffrées à l'aide d'une clé CMEK.
Vous pouvez utiliser le même projet pour votre projet de clé et votre projet de stations de travail, mais nous vous recommandons d'utiliser deux projets pour une séparation des tâches.
Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.
Activez les API requises dans chaque projet.
Dans votre projet de clé, assurez-vous d'avoir activé l'API Cloud KMS.
Dans votre projet de stations de travail, assurez-vous d'avoir activé les API Cloud KMS et Cloud Workstations.
Assurez-vous d'installer et d'initialiser la CLI
gcloud
. Pour initialiser la CLIgcloud
, exécutez la commande suivante:gcloud init
Rôles requis
Bien que vous puissiez attribuer les rôles Administrateur Cloud KMS et Administrateur des stations de travail Cloud à la même personne, nous vous recommandons de suivre le principe du moindre privilège lorsque vous attribuez des rôles. Nous vous recommandons d'attribuer ces rôles à deux personnes distinctes et de les faire coordonner, plutôt que de demander à votre administrateur Cloud KMS d'être également votre administrateur Cloud Workstations. Pour en savoir plus, consultez les bonnes pratiques de sécurité et l'utilisation sécurisée d'IAM.
Pour obtenir les autorisations nécessaires pour configurer CMEK, demandez à votre administrateur de vous accorder les rôles IAM suivants:
-
Si vous êtes administrateur Cloud KMS, demandez à votre administrateur de vous accorder le rôle suivant afin de pouvoir créer et gérer des ressources Cloud KMS : administrateur Cloud KMS (
roles/cloudkms.admin
) sur votre projet de clé. -
Si vous êtes l'administrateur Cloud Workstations, demandez à votre administrateur de vous accorder le rôle suivant afin de pouvoir créer et mettre à jour des stations de travail : Administrateur Cloud Workstations (
roles/workstations.admin
) sur votre projet de stations de travail.
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.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Créer un trousseau de clés et une clé de chiffrement
Dans votre projet de clé, créez une clé et enregistrez son ID de ressource:
Créez ou sélectionnez un trousseau de clés.
Vous pouvez partager des trousseaux de clés entre les services, mais nous vous recommandons d'utiliser une clé différente pour chaque ressource protégée. Consultez la section Séparation des tâches.
Créez une clé de chiffrement symétrique.
Assurez-vous de créer votre clé CMEK et la configuration de votre poste de travail dans la même région.
Obtenez l'ID de ressource de la clé et enregistrez-le pour une étape ultérieure.
Rechercher des configurations de stations de travail
Si aucune configuration de station de travail n'est disponible dans la console Google Cloud, demandez à l'administrateur Cloud Workstations de votre organisation de créer une configuration de station de travail pour vous ou assurez-vous de disposer d'un rôle IAM administrateur Cloud Workstations sur le projet afin de pouvoir créer ces ressources vous-même.
Utiliser les clés de chiffrement gérées par le client
Pour utiliser un CMEK dans une configuration de station de travail, activez-le depuis la console Google Cloud ou la CLI gcloud
.
Console
Attribuez à votre compte de service Compute Engine et à votre agent de service Compute Engine le rôle Chiffreur/Déchiffreur de clés cryptographiques Cloud KMS et le rôle Lecteur Cloud KMS:
Dans la console Google Cloud, accédez à la page Gestion des clés.
Cliquez sur le nom du trousseau de clés contenant la clé.
Cochez la case correspondant à la clé que vous souhaitez utiliser.
L'onglet Autorisations s'affiche sous forme de volet.
Dans la boîte de dialogue Ajouter des membres, indiquez l'adresse e-mail du compte de service Compute Engine et de l'agent de service Compute Engine auxquels vous accordez l'accès.
Dans le menu déroulant Sélectionner un rôle, sélectionnez Chiffreur/Déchiffreur de clés cryptographiques Cloud KMS.
Cliquez sur Ajouter un autre rôle.
Dans le menu déroulant Sélectionner un rôle, sélectionnez Lecteur Cloud KMS.
Cliquez sur Enregistrer.
Pour activer CMEK à partir de la console Google Cloud:
Suivez la procédure pour créer une configuration de station de travail.
Lorsque vous spécifiez la configuration de la machine, recherchez la section Options avancées.
Cliquez sur expand_more Développer, puis sélectionnez Utiliser une clé de chiffrement gérée par le client (CMEK).
Dans le champ Select a customer-managed key (Sélectionner une clé gérée par le client), sélectionnez la clé de chiffrement gérée par le client que vous avez créée dans votre projet de clé.
Si la clé que vous avez créée ne figure pas dans la liste, cliquez sur Saisir la clé manuellement pour sélectionner la clé par ID de ressource, puis saisissez l'ID de ressource que vous avez noté précédemment.
Dans le champ Compte de service, sélectionnez le compte de service utilisé par la clé.
Suivez les autres étapes pour créer la configuration de votre poste de travail.
Créez, démarrez et lancez la configuration de la station de travail pour chiffrer les disques persistants de votre projet avec la clé Cloud KMS spécifiée.
gcloud
L'exemple suivant accorde un rôle IAM qui permet d'accéder à une clé Cloud KMS, puis active CMEK en spécifiant cette clé dans la configuration de la station de travail:
Attribuez au compte de service KMS et à l'agent de service Compute Engine de votre projet de station de travail le rôle Chiffreur/Déchiffreur de clés cryptographiques (
roles/cloudkms.cryptoKeyEncrypterDecrypter
) Cloud KMS sur la clé CMEK. Cela permet au service Compute Engine de créer des ressources chiffrées dans votre projet à l'aide de la clé CMEK spécifiée.gcloud kms keys add-iam-policy-binding KEY_NAME \ --location LOCATION \ --keyring KEY_RING \ --member serviceAccount:WORKSTATIONS_PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter \ --project KMS_PROJECT_ID gcloud kms keys add-iam-policy-binding KEY_NAME \ --location LOCATION \ --keyring KEY_RING \ --member serviceAccount:service-WORKSTATIONS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter \ --project KMS_PROJECT_ID
Remplacez les éléments suivants :
KEY_NAME
: nom de votre cléLOCATION
: nom de la région dans laquelle vous avez créé votre trousseau de clés.KEY_RING
: nom de votre trousseau de clésWORKSTATIONS_PROJECT_NUMBER
: identifiant numérique unique généré automatiquement, inclus dans la première partie du compte de service Compute Engine par défaut du projet de stations de travail.KMS_PROJECT_ID
: ID de projet, chaîne unique permettant de différencier votre projet Cloud KMS de tous les autres dans Google Cloud.
Pour en savoir plus sur toutes les options et valeurs possibles, exécutez la commande avec l'option
--help
.Pour récupérer le compte de service de gestion des postes de travail pour votre projet de poste de travail, utilisez la commande suivante:
gcloud beta services identity create --service=workstations.googleapis.com \ --project=WORKSTATIONS_PROJECT_ID
Remplacez
WORKSTATIONS_PROJECT_ID
par l'ID de projet de vos stations de travail.Attribuez au compte de service de gestion des stations de travail de votre projet le rôle de lecteur Cloud KMS (
roles/cloudkms.viewer
) sur la clé CMEK. Cela permet au service de station de travail de détecter la rotation des clés et de rechiffrer les ressources si nécessaire dans votre projet.gcloud kms keys add-iam-policy-binding KEY_NAME \ --location LOCATION \ --keyring KEY_RING \ --member WORKSTATIONS_MANAGEMENT_SERVICE_ACCOUNT \ --role roles/cloudkms.viewer \ --project KMS_PROJECT_ID
Remplacez les éléments suivants :
KEY_NAME
: nom de votre cléLOCATION
: nom de la région dans laquelle vous avez créé votre trousseau de clés.KEY_RING
: nom de votre trousseau de clésWORKSTATIONS_MANAGEMENT_SERVICE_ACCOUNT
: compte de service de gestion des stations de travail obtenu à l'étape précédente.KMS_PROJECT_ID
: ID du projet, chaîne unique permettant de différencier votre projet de clé Cloud KMS de tous les autres dans Google Cloud.
Pour en savoir plus sur toutes les options et valeurs possibles, exécutez la commande avec l'option
--help
.Facultatif:Si vous n'avez pas encore créé de cluster de stations de travail, créez-en un à l'aide de la commande CLI clusters create
gcloud
.gcloud workstations clusters create \ WORKSTATIONS_CLUSTER_NAME --region=LOCATION \ --project=WORKSTATIONS_PROJECT_NUMBER
Remplacez les éléments suivants :
WORKSTATIONS_CLUSTER_NAME
: nom du cluster de stations de travail.LOCATION
: nom de la région de votre cluster de stations de travail.WORKSTATIONS_PROJECT_NUMBER
: identifiant numérique unique généré automatiquement, inclus dans la première partie du compte de service Compute Engine par défaut du projet de stations de travail.
En supposant que vous ayez déjà créé un cluster, créez une configuration de station de travail avec les paramètres
encryption_key
.Pour créer une configuration de station de travail avec le type de machine
e2-standard-2
, un délai d'inactivité de3600s
et des ressources de station de travail chiffrées CMEK, exécutez la commande CLIgcloud
suivante:gcloud workstations configs create WORKSTATIONS_CONFIG_NAME \ --cluster=WORKSTATIONS_CLUSTER_NAME \ --region=LOCATION \ --machine-type="e2-standard-2" \ --idle-timeout=3600 \ --kms-key="projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME" \ --kms-key-service-account="WORKSTATIONS_PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --project=WORKSTATIONS_PROJECT_NUMBER
Remplacez les éléments suivants :
WORKSTATIONS_CONFIG_NAME
: nom de la configuration de la station de travail.WORKSTATIONS_CLUSTER_NAME
: nom de votre cluster de stations de travail.LOCATION
: nom de la région de votre cluster.KMS_PROJECT_ID
: ID de projet, chaîne unique permettant de différencier votre projet de tous les autres dans Google Cloud.KEY_RING
: nom de votre trousseau de clésKEY_NAME
: nom de votre cléWORKSTATIONS_PROJECT_NUMBER
: identifiant numérique unique généré automatiquement, inclus dans la première partie du compte de service Compute Engine par défaut du projet de stations de travail.
Une fois que vous avez créé une configuration de station de travail, Cloud KMS chiffre les disques persistants de votre projet avec la clé Cloud KMS spécifiée.
Effectuer une rotation des clés de chiffrement gérées par le client
Lorsque vous accordez au compte de service de gestion des stations de travail le rôle de lecteur Cloud KMS (roles/cloudkms.viewer
) sur la clé CMEK, le service de station de travail peut détecter la rotation des clés et rechiffrer votre disque de démarrage à l'aide de la nouvelle version de la clé principale.
Le chiffrement est réactivé une fois que vous avez arrêté votre station de travail. Chaque fois que vous arrêtez une station de travail chiffrée, le service de la station de travail vérifie si la clé a été remplacée. Si la clé a été remplacée, le service de poste de travail crée un instantané du disque d'accueil de votre poste de travail et le supprime. La prochaine fois que vous démarrerez la station de travail, le service de station de travail créera un nouveau disque à partir de l'instantané, à l'aide de la nouvelle version de clé principale.
Quotas Cloud KMS et Cloud Workstations
Lorsque vous utilisez des clés CMEK dans Cloud Workstations, vos projets peuvent consommer des quotas de requêtes de chiffrement Cloud KMS. Par exemple, les dépôts chiffrés avec CMEK peuvent utiliser ces quotas pour chaque importation ou téléchargement. Les opérations de chiffrement et de déchiffrement à l'aide de clés CMEK n'affectent les quotas Cloud KMS que si vous utilisez des clés matérielles (Cloud HSM) ou externes (Cloud EKM). Pour en savoir plus, consultez la page Quotas Cloud KMS.
Clés externes
Vous pouvez utiliser Cloud External Key Manager (Cloud EKM) pour chiffrer les données dans Google Cloud à l'aide de clés externes que vous gérez.
Lorsque vous utilisez une clé Cloud EKM, Google n'a aucun contrôle sur la disponibilité de votre clé gérée en externe. Si la clé devient indisponible, votre station de travail ne peut pas être démarrée.
Pour plus d'informations sur l'utilisation des clés externes, consultez la section Cloud External Key Manager.
Étape suivante
- En savoir plus sur les clés de chiffrement gérées par le client
- Découvrez qu'est-ce que le chiffrement ?