Par défaut, Cloud Workstations chiffre le contenu client au repos. Cloud Workstations gère le chiffrement sans intervention de votre part. Cette option est appelée chiffrement par défaut de Google.
Si vous souhaitez contrôler vos clés de chiffrement, vous pouvez utiliser des clés de chiffrement gérées par le client (CMEK) dans Cloud KMS avec des services bénéficiant d'une intégration des CMEK, y compris Cloud Workstations. 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.
Une fois que vous avez configuré vos ressources avec des CMEK, l'accès à vos ressources Cloud Workstations est semblable à celui du chiffrement par défaut de Google. Pour en savoir plus sur les options de chiffrement, consultez Clés de chiffrement gérées par le client (CMEK).
Par défaut, Cloud Workstations utilise un Google-owned and Google-managed encryption key 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 les projetsGoogle Cloud suivants:
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. Pour en savoir plus, consultez Vérifier l'état de facturation de vos projets.
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.
Installez et initialisez la CLI
gcloud
:Pour installer la CLI
gcloud
, consultez la section Installer la CLIgcloud
et suivez les instructions correspondant à votre système d'exploitation.Pour initialiser la CLI
gcloud
, consultez Initialiser la CLIgcloud
ou 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 pages Bonnes pratiques de sécurité et Utiliser IAM en toute sécurité.
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 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.
Le trousseau de clés doit se trouver dans la même région que votre cluster de stations de travail. Les stations de travail cloud ne sont pas compatibles avec les emplacements Cloud KMS multirégionaux ou globaux.
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. Voir la section Séparation des tâches
Créez une clé de chiffrement symétrique.
Obtenez l'ID de ressource de la clé et enregistrez-le pour une étape ultérieure.
Accorder l'accès à votre clé de chiffrement
Cloud Workstations utilise les comptes de service suivants pour gérer le chiffrement de vos ressources:
Agent de service Cloud Workstations : Cloud Workstations utilise ce compte pour détecter quand votre clé est remplacée.
Compte de service de clé Cloud KMS : vous fournirez un compte de service que les stations de travail Cloud peuvent utiliser pour accéder à votre clé afin de chiffrer et de déchiffrer des ressources.
Attribuer le rôle Lecteur Cloud KMS à l'agent de service Cloud Workstations
L'agent de service Cloud Workstations permet à Cloud Workstations d'effectuer des tâches de service sur votre projet. Lorsque vous avez activé le service Cloud Workstations dans votre projet de stations de travail, cet agent de service a été automatiquement créé. Pour que le chiffrement CMEK fonctionne correctement, vous devez attribuer au service agent Cloud Workstations de votre projet de stations de travail le
rôle Lecteur Cloud KMS (roles/cloudkms.viewer
) sur la clé Cloud KMS, afin que Cloud Workstations puisse détecter la rotation des clés.
Pour récupérer l'agent de service Cloud Workstations pour votre projet de station 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 votre projet de station de travail.L'agent de service Cloud Workstations utilise le format suivant:
service-$WORKSTATIONS_PROJECT_NUMBER@gcp-sa-workstations.iam.gserviceaccount.com
.Attribuez le rôle Lecteur Cloud KMS (
roles/cloudkms.viewer
) à l'agent de service Cloud Workstations sur la clé CMEK. Cela permet aux stations de travail Cloud 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 \ --keyring=KEY_RING \ --location=LOCATION \ --project=KMS_PROJECT_ID \ --role=roles/cloudkms.viewer \ --member=CLOUD_WORKSTATIONS_SERVICE_AGENT
Remplacez les éléments suivants :
KEY_NAME
: nom de votre cléKEY_RING
: nom de votre trousseau de clésLOCATION
: emplacement contenant votre trousseau de clés.KMS_PROJECT_ID
: ID du projet contenant votre clé.CLOUD_WORKSTATIONS_SERVICE_AGENT
: l'agent de service Cloud Workstations obtenu à l'étape précédente.
Pour en savoir plus sur toutes les options et valeurs possibles, exécutez la commande avec l'option
--help
.
Configurer un compte de service de clés Cloud KMS
Cloud Workstations utilise un compte de service de votre choix pour effectuer le chiffrement et le déchiffrement à l'aide de votre clé gérée par le client. Nous appelons ce compte "compte de service de clé Cloud KMS". Vous pouvez créer un compte de service ou en utiliser un existant. Les conditions requises pour ce compte sont les suivantes:
- L'administrateur des stations de travail Cloud doit disposer de l'autorisation
iam.serviceAccounts.actAs
sur ce compte de service. - Le compte de service que vous choisissez doit disposer du rôle Chiffreur/Déchiffreur de CryptoKey Cloud KMS (
roles/cloudkms.cryptoKeyEncrypterDecrypter
) sur votre clé Cloud KMS.
Si vous souhaitez créer un compte de service, exécutez la commande suivante:
gcloud iam service-accounts create \ KMS_KEY_SERVICE_ACCOUNT_NAME \ --display-name="Service account for Cloud Workstations CMEK" \ --project=WORKSTATIONS_PROJECT_ID
Remplacez les éléments suivants :
KMS_KEY_SERVICE_ACCOUNT_NAME
: nom du compte de service.WORKSTATIONS_PROJECT_ID
: ID de votre projet de station de travail.
Le compte de service que vous avez créé dispose d'une adresse e-mail au format suivant :
KMS_KEY_SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
.Enregistrez l'adresse e-mail du compte de service pour une étape ultérieure.
Pour accorder le rôle Utilisateur du compte de service (
roles/iam.serviceAccountUser
) IAM administrateur des stations de travail Cloud au compte de service de clé Cloud KMS, exécutez la commande suivante:gcloud iam service-accounts add-iam-policy-binding \ KMS_KEY_SERVICE_ACCOUNT_EMAIL \ --member="user:CLOUD_WORKSTATIONS_ADMIN_EMAIL" \ --project=WORKSTATIONS_PROJECT_ID \ --role=roles/iam.serviceAccountUser
Remplacez les éléments suivants :
KMS_KEY_SERVICE_ACCOUNT_EMAIL
: adresse e-mail du compte de service de clés Cloud KMS.CLOUD_WORKSTATIONS_ADMIN_EMAIL
: adresse e-mail de l'administrateur Cloud Workstations.WORKSTATIONS_PROJECT_ID
: ID de votre projet de station de travail.
Pour attribuer au compte de service de clé Cloud KMS le rôle Chiffreur/Déchiffreur de CryptoKey Cloud KMS (
roles/cloudkms.cryptoKeyEncrypterDecrypter
) sur votre clé Cloud KMS, exécutez la commande suivante:gcloud kms keys add-iam-policy-binding \ KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --project KMS_PROJECT_ID \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter \ --member serviceAccount:KMS_KEY_SERVICE_ACCOUNT_EMAIL\
Remplacez les éléments suivants :
KEY_NAME
: nom de votre cléKEY_RING
: nom de votre trousseau de clésLOCATION
: emplacement contenant votre trousseau de clés.KMS_PROJECT_ID
: ID du projet contenant votre clé.KMS_KEY_SERVICE_ACCOUNT_EMAIL
: adresse e-mail du compte de service de clés Cloud KMS.
Pour en savoir plus sur toutes les options et valeurs possibles, exécutez la commande avec l'option
--help
.
Rechercher des clusters de stations de travail
Si aucun cluster de stations de travail n'est disponible dans la console Google Cloud, demandez à votre administrateur Cloud Workstations de vous créer un cluster de stations de travail dans la même région que le trousseau de clés Cloud KMS, ou assurez-vous de disposer d'un rôle IAM administrateur Cloud Workstations sur le projet afin de pouvoir créer vous-même ces ressources.
Utiliser les clés de chiffrement gérées par le client
Si vous n'avez pas encore créé de cluster de stations de travail, créez-en un à l'aide de la commande CLI
gcloud
clusters create.gcloud workstations clusters create \ WORKSTATIONS_CLUSTER_NAME --region=LOCATION \ --project=WORKSTATIONS_PROJECT_ID
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_ID
: ID de votre projet de station de travail.
Créez une configuration de station de travail avec des paramètres
encryption_key
.Pour créer une configuration de poste de travail avec le type de machine
e2-standard-2
, un délai d'inactivité de3600s
et des ressources de poste 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="KMS_KEY_SERVICE_ACCOUNT_EMAIL" \ --project=WORKSTATIONS_PROJECT_ID
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éKMS_KEY_SERVICE_ACCOUNT_EMAIL
: adresse e-mail du compte de service de clés Cloud KMS.WORKSTATIONS_PROJECT_ID
: ID de votre projet de station 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 avez attribué le rôle de lecteur Cloud KMS à l'agent de service des stations de travail Cloud (roles/cloudkms.viewer
) sur la clé CMEK, le service de station de travail peut détecter la rotation de clé et rechiffrer votre disque de démarrage à l'aide de la nouvelle version de 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 station de travail crée un instantané du disque d'accueil de votre station 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 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 dansGoogle 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 en savoir plus sur l'utilisation des clés externes, consultez 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 ?