Chiffrer les ressources de la station de travail à l'aide de CMEK

Par défaut, Cloud Workstations utilise un Clé appartenant à Google et gérée par Google pour chiffrer les ressources de station de travail, telles que les VM et les disques persistants, les données sont au repos. Si vous avez des exigences réglementaires ou de conformité spécifiques liées aux clés qui protègent vos données, vous pouvez utiliser 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 les CMEK en général, y compris quand et pourquoi les activer, consultez les Documentation Cloud KMS

Avant de commencer

Créer vos projets

  1. 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 avec un Clé CMEK.

    Vous pouvez utiliser le même projet pour votre projet de clé et votre projet de stations de travail, mais comme bonne pratique, nous vous recommandons d'utiliser deux projets pour séparation des tâches.

  2. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifiez si la facturation est activée projet.

  3. Activez les API requises dans chaque projet.

  4. Veillez à installer et à initialiser CLI gcloud. À initialisez la CLI gcloud. exécutez la commande suivante:

    gcloud init
    

Rôles requis

Même si vous pouvez attribuer le rôle d'administrateur et d'administrateur Cloud Workstations à 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 leur demander de se coordonner, au lieu de demander à Cloud KMS d'être aussi votre Administrateur Cloud Workstations. Pour en savoir plus, consultez bonnes pratiques concernant la sécurité et en utilisant IAM en toute sécurité.

Pour obtenir les autorisations dont vous avez besoin pour configurer CMEK, demandez à votre administrateur de vous accorder le rôles IAM suivants:

  • Si vous êtes l'administrateur Cloud KMS, demandez à votre administrateur de vous attribuer le rôle suivant afin que vous puissiez créer et gérer des ressources Cloud KMS: Administrateur Cloud KMS (roles/cloudkms.admin) sur votre projet clé.
  • Si vous êtes l'administrateur Cloud Workstations, demandez à votre administrateur de vous attribuer le rôle suivant pour que vous puissiez 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 section Gérer les accès.

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 l'ID de ressource de la clé:

  1. Créez ou sélectionnez un trousseau de clés.

    Vous pouvez partager des trousseaux entre les services, mais nous vous recommandons recommandent d'utiliser une clé différente pour chaque ressource protégée. Voir séparation des tâches.

  2. Créez un clé de chiffrement symétrique.

    Veillez à créer votre clé CMEK et votre configuration de station de travail dans le dans la même région.

  3. Obtenir l'ID de ressource de la clé et enregistrez-le pour une étape ultérieure.

Vérifier les configurations de stations de travail

Si vous ne disposez pas de configurations de stations de travail disponibles dans le la console Google Cloud, demandez à votre administrateur Cloud Workstations de créer configuration de station de travail pour vous, ou assurez-vous que vous disposez Administrateur Cloud Workstations IAM 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 une CMEK dans une configuration de station de travail, activez CMEK à partir de la console Google Cloud ou la CLI gcloud.

Console

Attribuer le rôle Cloud KMS à votre compte de service Compute Engine et à votre agent de service Compute Engine Rôle de chiffreur/déchiffreur de clés cryptographiques et le rôle Lecteur Cloud KMS:

  1. Dans la console Google Cloud, accédez à la page Gestion des clés.

    Accéder à la page "Gestion des clés"

  2. Cliquez sur le nom du trousseau de clés contenant la clé.

  3. Cochez la case correspondant à la clé que vous souhaitez utiliser.

    L'onglet Autorisations s'affiche en tant que volet.

  4. Dans la boîte de dialogue Ajouter des membres, indiquez l'adresse e-mail du Compte de service Compute Engine et agent de service Compute Engine auxquels vous accordez l'accès.

  5. Dans le menu déroulant Sélectionnez un rôle, sélectionnez Chiffreur/Déchiffreur de CryptoKeys Cloud KMS

  6. Cliquez sur Ajouter un autre rôle.

  7. Dans la liste déroulante Sélectionnez un rôle, choisissez Lecteur Cloud KMS.

  8. Cliquez sur Enregistrer.

Pour activer CMEK à partir de la console Google Cloud:

  1. Suivez les étapes pour Créez une configuration de station de travail.

  2. Lorsque vous spécifiez votre machine configuration, recherchez la section Options avancées.

  3. Cliquez sur expand_more. Cliquez sur Plus d'options et sélectionnez Utiliser une clé de chiffrement gérée par le client (CMEK).

    1. Dans le champ Sélectionnez une clé gérée par le client, choisissez 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 n'est pas répertoriée, cliquez sur Saisir la clé manuellement pour sélectionnez la clé par ID de ressource, puis saisissez l'ID de ressource noté précédemment.

    2. Dans le champ Compte de service, sélectionnez le compte de service utilisé par .

  4. Suivez les autres étapes pour créer votre configuration de station de travail.

  5. Créez, démarrez et lancez la configuration de la station de travail pour chiffrer le disques persistants de votre projet avec la clé Cloud KMS spécifiée.

gcloud

L'exemple suivant attribue un rôle IAM qui fournit un accès à une clé Cloud KMS, puis active les CMEK en spécifiant cette clé la configuration de la station de travail:

  1. Attribuez le rôle Cloud KMS au compte de service KMS et à l'agent de service Compute Engine pour votre projet de stations de travail Rôle de chiffreur/déchiffreur de clés cryptographiques (roles/cloudkms.cryptoKeyEncrypterDecrypter) sur la clé CMEK. Ainsi, le service Compute Engine peut créer les ressources chiffrées de 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 clé son anneau.
    • KEY_RING : nom de votre trousseau de clés
    • WORKSTATIONS_PROJECT_NUMBER: la valeur un identifiant numérique unique généré, inclus dans la première partie du compte de service Compute Engine par défaut stations de travail.
    • KMS_PROJECT_ID: ID du projet. Il s'agit d'une chaîne unique permettant de différencier votre projet Cloud KMS des autres Google Cloud.

    Pour obtenir des informations sur tous les indicateurs et toutes les valeurs possibles, exécutez la commande avec la --help.

  2. Pour récupérer le compte de service de gestion des stations de travail pour votre station de travail , exécutez la commande suivante:

    gcloud beta services identity create --service=workstations.googleapis.com \
        --project=WORKSTATIONS_PROJECT_ID
    

    Remplacer WORKSTATIONS_PROJECT_ID par vos stations de travail l'ID du projet associé.

  3. Accordez au compte de service de gestion des stations de travail de votre projet le rô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 rechiffrer les ressources selon les besoins de 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 clé son anneau.
    • KEY_RING : nom de votre trousseau de clés
    • WORKSTATIONS_MANAGEMENT_SERVICE_ACCOUNT: le compte de service de gestion des stations de travail obtenu à l'étape ci-dessus.
    • KMS_PROJECT_ID: ID du projet. Il s'agit d'une chaîne unique permettant de différencier votre projet de clé Cloud KMS des autres Google Cloud.

    Pour obtenir des informations sur tous les indicateurs et toutes les valeurs possibles, exécutez la commande avec la --help.

  4. Facultatif:Si vous n'avez pas encore créé de cluster de stations de travail, créez-en un à l'aide de la classe création de clusters 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: la valeur un identifiant numérique unique généré, inclus dans la première partie du compte de service Compute Engine par défaut projet stations de travail
  5. Si vous avez déjà créé un cluster, Créer 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, procédez comme suit : le délai d'inactivité de 3600s et les ressources de station de travail chiffrées par CMEK, exécutez la commande CLI gcloud 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 du 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 du projet. Il s'agit d'une chaîne unique permettant de différencier votre projet des autres dans Google Cloud.
    • KEY_RING : nom de votre trousseau de clés
    • KEY_NAME : nom de votre clé
    • WORKSTATIONS_PROJECT_NUMBER: la valeur un identifiant numérique unique généré, inclus dans la première partie du compte de service Compute Engine par défaut projet stations de travail

    Une fois la configuration d'une station de travail créée, Cloud KMS chiffre les disques persistants de votre projet avec le service .

Quotas Cloud KMS et Cloud Workstations

Lorsque vous utilisez des CMEK dans Cloud Workstations, vos projets peuvent utiliser des requêtes de chiffrement Cloud KMS quotas. Par exemple, les dépôts chiffrés par 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