À propos du chiffrement vSAN

Le chiffrement des données vSAN au repos nécessite un système de gestion de clés (KMS). Google Cloud VMware Engine propose plusieurs options de gestion des clés pour le chiffrement des données vSAN :

  • Google-owned and Google-managed encryption keys (GMEK) : par défaut, le chiffrement des données vSAN utilise Google-owned and Google-managed encryption keys dans Cloud Key Management Service pour les clouds privés, sans frais supplémentaire.
  • Clés de chiffrement gérées par le client (CMEK) : vous pouvez utiliser des clés CMEK dans Cloud Key Management Service pour gérer les clés de chiffrement de chaque cloud privé
  • KMS externe : vous pouvez déployer un KMS externe pour le chiffrement des données vSAN au repos proposé par l'un des fournisseurs compatibles ci-dessous.

Choisir une solution de gestion des clés

Pour vous aider à choisir une solution de gestion des clés, consultez le tableau comparatif suivant :

Fonctionnalité GMEK (par défaut) CMEK KMS externe
Responsabilité de la gestion des clés Google Client Client
Stockage des clés Cloud Key Management Service (projet Google) Cloud Key Management Service (projet client) KMS externe
Niveau d'isolement Service régional Cloud privé individuel Cloud privé individuel
Automatisation de la rotation Automatisée par Google Automatisée par Google lors de la rotation du KMS Gérée par le client
Coût de licence supplémentaire Aucun Google Cloud Frais KMS applicables Licence KMS tierce

Cette page explique le comportement du chiffrement vSAN et décrit comment utiliser un KMS externe pour chiffrer les données de machine virtuelle au repos dans VMware Engine.

Chiffrement des données vSAN

Par défaut, VMware Engine active le chiffrement vSAN pour les données du cluster principal et des clusters ajoutés ultérieurement au cloud privé. Le chiffrement des données vSAN au repos utilise une clé de chiffrement des données (DEK) stockée sur le disque physique local du cluster après le chiffrement. La DEK est une clé de chiffrement AES-256 conforme au niveau 1 de la norme FIPS 140-2 et générée automatiquement par les hôtes ESXi. Le système utilise une clé de chiffrement de clé (KEK) fournie par Cloud Key Management Service ou un KMS externe pour chiffrer la DEK.

Nous vous déconseillons vivement de désactiver le chiffrement vSAN des données au repos, car cela peut vous empêcher de respecter les conditions spécifiques du service Google Cloud VMware Engine. Lorsque vous désactivez le chiffrement vSAN des données au repos sur un cluster, la logique de surveillance VMware Engine déclenche une alerte. Pour vous aider à éviter le non-respect des conditions de service, cette alerte déclenche une action basée sur Cloud Customer Care pour réactiver le chiffrement vSAN sur le cluster concerné.

De même, si vous configurez un KMS externe, nous vous déconseillons vivement de supprimer la configuration du fournisseur de clé Cloud Key Management Service dans vCenter Server.

Google-owned and Google-managed encryption keys (GMEK)

Par défaut, les clouds privés utilisent Google-owned and Google-managed encryption keys (GMEK). Avec GMEK, VMware Engine configure vCenter Server pour qu'il se connecte à un fournisseur GMEK. VMware Engine crée une instance du fournisseur de clé par région, et le fournisseur de clés utilise Cloud KMS pour chiffrer la clé KEK. VMware Engine gère entièrement le fournisseur de clés et le configure pour qu'il soit disponibilité élevée dans toutes les régions.

Le fournisseur GMEK complète le fournisseur de clés intégré dans vCenter Server (dans vSphere 7.0 Update 2 et versions ultérieures) et constitue l'approche recommandée pour les environnements de production. Le fournisseur de clé intégré s'exécute en tant que processus dans vCenter Server, qui s'exécute sur un cluster vSphere dans VMware Engine. VMware déconseille d'utiliser le fournisseur de clé intégré pour chiffrer le cluster qui héberge vCenter Server. Utilisez plutôt GMEK, CMEK ou un KMS externe.

Rotation automatique des clés GMEK

Google Cloud VMware Engine déclenche régulièrement une rotation automatique des clés GMEK pour tous les clusters. Il s'agit d'une tâche de maintenance en arrière-plan qui ne nécessite aucune intervention de l'utilisateur et n'a pas d'incidence sur la disponibilité du cluster.

Clés de chiffrement gérées par le client (CMEK)

Google Cloud VMware Engine est compatible avec les clés de chiffrement gérées par le client (CMEK) pour les clouds privés individuels à l'aide de Cloud Key Management Service. Vous pouvez configurer chaque cloud privé avec une clé CMEK distincte, plutôt que de partager une seule clé sur l'ensemble du projet. Cela présente les avantages suivants :

  • Isolation améliorée : la compromission ou la rotation d'une clé pour un cloud privé n'affecte pas les autres.
  • Conformité précise : attribuez des clés en fonction des exigences spécifiques de résidence des données ou de conformité des charges de travail dans chaque cloud privé.

Gérer le chiffrement CMEK

Vous pouvez configurer et gérer des clés de chiffrement gérées par le client (CMEK) pour votre cloud privé à l'aide de la Google Cloud console et de l'API VMware Engine. Pour utiliser des clés CMEK, vous devez attribuer le rôle IAM roles/cloudkms.cryptoKeyEncrypterDecrypter à votre compte de service VMware Engine (service-<var>PROJECT_NUMBER</var>@gcp-sa-vmwareengine.iam.gserviceaccount.com) pour la clé Cloud KMS spécifique que vous comptez utiliser. Cette autorisation permet à VMware Engine de chiffrer et de déchiffrer la clé de chiffrement de clé (KEK) qui protège vos données vSAN à l'aide de la clé Cloud KMS sélectionnée dans votre projet.

Attribuer des autorisations de clé

Avant de pouvoir activer les clés CMEK, vous devez attribuer les autorisations nécessaires :

  1. Identifiez votre ressource KMS : accédez à la page Gestion des clés de la Google Cloud console et recherchez la clé Cloud KMS spécifique à utiliser pour la protection des données.

    Accéder à Key Management

  2. Configurez les rôles IAM : attribuez le rôle roles/cloudkms.cryptoKeyEncrypterDecrypter au compte de service VMware Engine (service-<var>PROJECT_NUMBER</var>@gcp-sa-vmwareengine.iam.gserviceaccount.com) directement sur le tableau de bord de la clé Cloud KMS.

Google Cloud Instructions de la console et de l'API VMware Engine pour gérer les clés CMEK :

Google Cloud Console

Pour configurer des clés de chiffrement gérées par le client (CMEK) à l'aide de la Google Cloud console, procédez comme suit :

Créer un cloud privé avec des clés CMEK

Pour créer un cloud privé avec des clés CMEK à l'aide de la Google Cloud console :

  1. Dans la Google Cloud console, accédez à la page Clouds privés.

    Accéder à Private Clouds

  2. Cliquez sur Créer.

  3. Dans la section Chiffrement, sélectionnez Clés de chiffrement gérées par le client (CMEK).

  4. Saisissez le nom complet de la ressource de votre clé Cloud KMS.

  5. Cliquez sur Créer ou sur Enregistrer.

Mettre à jour la clé CMEK pour un cloud privé existant

Pour mettre à jour la clé CMEK d'un cloud privé existant à l'aide de la Google Cloud console :

  1. Dans la Google Cloud console, accédez à la page Clouds privés.

    Accéder à Private Clouds

  2. Sélectionnez le cloud privé existant à mettre à jour.

  3. Dans la section Chiffrement, sélectionnez Clés de chiffrement gérées par le client (CMEK).

  4. Saisissez le nom complet de la ressource de votre clé Cloud KMS.

  5. Cliquez sur Créer ou sur Enregistrer.

Mettre à jour le chiffrement vers GMEK pour un cloud privé existant

Pour mettre à jour le type de chiffrement vers GMEK pour un cloud privé existant à l'aide de la Google Cloud console :

  1. Dans la Google Cloud console, accédez à la page Clouds privés.

    Accéder à Private Clouds

  2. Sélectionnez le cloud privé existant à mettre à jour.

  3. Dans la section Chiffrement, sélectionnez Google-owned and Google-managed encryption keys (GMEK).

  4. Cliquez sur Créer ou sur Enregistrer.

API VMware Engine

Pour utiliser les commandes de l'API, remplacez d'abord les variables suivantes par les valeurs de votre environnement :

  • PROJECT_ID: ID de votre Google Cloud projet.
  • LOCATION: région VMware Engine, telle que us-east4.
  • PC_ID : ID de votre nouveau cloud privé.
  • NETWORK_ID : ID de votre réseau VPC.
  • CIDR_RANGE : plage CIDR de gestion du cloud privé.
  • CLUSTER_ID : ID du cluster de gestion.
  • NODE_TYPE : type de nœud, par exemple standard-72.
  • COUNT : nombre de nœuds dans le cluster.
  • RING : nom du trousseau de clés Cloud KMS.
  • KEY : nom de la clé cryptographique Cloud KMS.
  • PC_NAME : nom du cloud privé existant.

Pour créer un cloud privé avec des clés CMEK, utilisez la privateClouds.create méthode et spécifiez le encryptionConfig paramètre :

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json; charset=utf-8" \
  "https://vmwareengine.googleapis.com/v1/projects//locations//privateClouds?private_cloud_id=" \
  -d '{
  "networkConfig": {
    "vmwareEngineNetwork": "projects//locations/global/vmwareEngineNetworks/",
    "managementCidr": ""
  },
  "managementCluster": {
    "clusterId": "",
    "nodeTypeConfigs": {
      "": {
        "nodeCount": 
      }
    }
  },
  "encryptionConfig": {
    "cryptoKeyName": "projects//locations//keyRings//cryptoKeys/"
  }
}'

Pour mettre à jour la clé CMEK d'un cloud privé existant, utilisez la privateClouds.patch méthode :

curl -X PATCH \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json; charset=utf-8" \
  "https://vmwareengine.googleapis.com/v1/projects//locations//privateClouds/?updateMask=encryptionConfig" \
  -d '{
  "encryptionConfig": {
    "cryptoKeyName": "projects//locations//keyRings//cryptoKeys/"
  }
}'

Pour rétablir GMEK (Google-owned and Google-managed encryption keys) dans un cloud privé existant, utilisez la méthode privateClouds.patch avec un objet encryptionConfig vide :

curl -X PATCH \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json; charset=utf-8" \
  "https://vmwareengine.googleapis.com/v1/projects//locations//privateClouds/?updateMask=encryptionConfig" \
  -d '\''{
  "encryptionConfig": {}
}'\''

Comprendre les contraintes et les limites des clés CMEK

  • Exigences régionales : le cloud privé et la clé Cloud KMS sélectionnée doivent se trouver dans la même région. Notez que les clés globales Google Cloud KMS ne sont pas compatibles avec le chiffrement vSAN.
  • Disponibilité des clés : si la clé de chiffrement devient inaccessible, car elle est désactivée ou révoquée, toutes les opérations vSAN dépendantes échouent. Les procédures essentielles, y compris les redémarrages d'hôte et le rechiffrement superficiel, ne peuvent pas se poursuivre tant que l'accès aux clés n'est pas rétabli.

Efficacité opérationnelle avec la rotation automatique des clés KEK CMEK

Pour les organisations qui choisissent des clés CMEK, la fonctionnalité de rotation automatique des clés KEK pour le chiffrement des données vSAN au repos automatise les tâches de sécurité manuelles :

  • Synchronisation automatisée : le système surveille Cloud KMS et détecte automatiquement les rotations de clés.
  • Rotation KEK en arrière-plan transparente : lors de la rotation, le système lance une rotation KEK superficielle, assurant une protection continue sans intervention manuelle dans vCenter. Cette opération met à jour la clé de chiffrement de clé pour vos clés de chiffrement des données (DEK) avec une nouvelle clé de chiffrement de clé (KEK). Étant donné que les DEK chiffrent directement vos données vSAN, ce processus ne nécessite pas un rechiffrement complet de vos données vSAN.
  • Gestion sans temps d'arrêt : le système génère et applique des clés KEK en arrière-plan, ce qui permet de maintenir les performances et la disponibilité des charges de travail. Ce processus se termine généralement dans les 48 heures suivant une rotation des clés Cloud KMS.

Exigence pour les machines virtuelles chiffrées

Vous pouvez gérer les clés de chiffrement pour les VM à l'aide du fournisseur par défaut Google-owned and managed key ou de Cloud Key Management Service.

Si vous activez le chiffrement de VM (ou vTPM) pour des VM de votre cloud privé et que vous utilisez un KMS pour gérer les clés de chiffrement, vous devez rechiffrer (rechiffrement superficiel) chaque VM après avoir fait pivoter votre clé KMS.

Un rechiffrement superficiel ne remplace que la clé de chiffrement de clé (KEK) et ne modifie pas la clé de chiffrement des données (DEK) des VM. Vous déclenchez généralement un rechiffrement superficiel à l'aide de l'action Rechiffrer dans le client vSphere.

Au cours de cette opération, le système rechiffre la DEK existante à l'aide d'une nouvelle KEK. Ce processus est rapide, car il ne réécrit pas les données réelles sur le disque. Au lieu de cela, il ne met à jour que le petit bundle de clés contenant la DEK chiffrée. Pour en savoir plus, consultez la documentation VMware suivante :

Risques liés à l'échec du rechiffrement des VM chiffrées

Si vous ne rechiffrez pas les VM chiffrées avant de supprimer l'ancienne version de clé KMS, vous risquez de rencontrer les problèmes suivants :

  • Échec des vMotion : les hôtes ESXi ne peuvent pas déchiffrer les DEK de VM lors de vMotion si vous redémarrez les hôtes de destination ou si vous les ajoutez au cluster après la rotation de la clé KMS, mais avant d'effectuer le rechiffrement de la VM.
  • Échecs de mise sous tension : si un hôte redémarre ou efface son cache de clés local, il ne peut pas récupérer les clés du KMS. Si vous avez supprimé les clés requises du KMS, l'hôte ne peut pas déchiffrer la DEK, ce qui empêche la mise sous tension des VM chiffrées.

Étapes à suivre pour effectuer une opération de rechiffrement sur les VM de charge de travail

  1. Dans le client vSphere, faites un clic droit sur la VM.
  2. Sélectionnez VM Policies > Re-encrypt (Stratégies de VM > Rechiffrer).
  3. Confirmez la demande de rechiffrement dans la boîte de dialogue qui s'affiche.
  4. Attendez la fin de la tâche.
  5. Vérifiez le rechiffrement en migrant la VM vers un hôte que vous avez redémarré ou ajouté au cluster après la rotation des clés KMS.

KMS externe

Vous pouvez également sélectionner une solution KMS tierce conforme à la norme KMIP 1.1 et certifiée par VMware pour vSAN. Les fournisseurs suivants ont validé leur solution KMS avec VMware Engine et publié des guides de déploiement et des déclarations d'assistance :

Pour obtenir des instructions de configuration, consultez les documents suivants :

Utiliser un fournisseur compatible

Chaque déploiement d'un KMS externe nécessite les mêmes étapes de base :

  • Créez un Google Cloud projet ou utilisez-en un existant.
  • Créez un réseau de cloud privé virtuel (VPC) ou choisissez un réseau VPC existant.
  • Connectez le réseau VPC sélectionné au réseau VMware Engine.

Déployez ensuite le KMS dans une instance de VM Compute Engine :

  1. Configurez les autorisations IAM requises pour déployer des instances de VM Compute Engine.
  2. Déployez le service de gestion des clés dans Compute Engine.
  3. Établissez des relations d'approbation entre vCenter et le service de gestion des clés.
  4. Activer le chiffrement des données vSAN.

Les sections suivantes décrivent brièvement ce processus d'utilisation de l'un des fournisseurs compatibles.

Configurer les autorisations IAM

Vous devez disposer des autorisations suffisantes pour déployer des instances de VM Compute Engine dans un projet et un réseau VPC donné Google Cloud , connecter votre réseau VPC à VMware Engine et configurer des règles de pare-feu pour le réseau VPC.

Les propriétaires de projet et les entités principales IAM dotées du rôle Administrateur réseau peuvent créer des plages d'adresses IP allouées et gérer les connexions privées. Pour en savoir plus sur les rôles, consultez la page Rôles IAM Compute Engine.

Déployer le système de gestion des clés dans Compute Engine

Certaines solutions KMS sont disponibles sous forme de dispositifs dans Google Cloud Marketplace. Vous pouvez déployer ces dispositifs en important le fichier OVA directement dans votre réseau VPC ou votre Google Cloud projet.

Pour le KMS basé sur logiciel, déployez une instance de VM Compute Engine en utilisant la configuration (nombre de processeurs virtuels, vMem et disques) recommandée par le fournisseur de KMS. Installez le logiciel KMS sur le système d'exploitation invité. Créez l'instance de VM Compute Engine dans un réseau VPC connecté au réseau VMware Engine.

Établir des relations d'approbation entre vCenter et KMS

Après avoir déployé le KMS dans Compute Engine, configurez VMware Engine vCenter pour récupérer les clés de chiffrement depuis ce service.

Commencez par ajouter les informations de connexion du KMS à vCenter. Établissez ensuite une approbation entre vCenter et votre KMS. Pour établir une relation d'approbation entre vCenter et votre service de gestion des clés, procédez comme suit:

  1. Générez un certificat dans vCenter.
  2. Signez-le à l'aide d'un jeton ou d'une clé générés par votre KMS.
  3. Fournissez ou importez ce certificat dans vCenter.
  4. Confirmez l'état de la connectivité en vérifiant le paramètre KMS et l'état sur la page de configuration du serveur vCenter.

Activer le chiffrement des données vSAN.

Dans vCenter, l'utilisateur CloudOwner par défaut dispose de droits suffisants pour activer et gérer le chiffrement des données vSAN.

Pour passer d'un KMS externe au fournisseur Google-owned and managed key par défaut, suivez la procédure permettant de modifier le fournisseur de clés incluse dans la documentation de VMware sur la configuration et la gestion d'un fournisseur de clé standard.

Étape suivante