Scénarios Azure Disk Encryption sur les machines virtuelles Linux

Important

Azure Disk Encryption est prévu pour la mise hors service le 15 septembre 2028. Jusqu’à cette date, vous pouvez continuer à utiliser Azure Disk Encryption sans interruption. Le 15 septembre 2028, les charges de travail compatibles avec ADE continueront d’être exécutées, mais les disques chiffrés ne pourront pas être déverrouillés après le redémarrage de la machine virtuelle, ce qui entraîne une interruption du service.

Utilisez le chiffrement sur l’hôte pour les nouvelles machines virtuelles ou tenez compte des tailles de machine virtuelle confidentielle avec le chiffrement de disque du système d’exploitation pour les charges de travail d’informatique confidentielle. Toutes les machines virtuelles compatibles ADE (y compris les sauvegardes) doivent migrer vers le chiffrement à l’hôte avant la date de mise hors service pour éviter toute interruption de service. Pour plus d’informations, consultez Migrer d’Azure Disk Encryption vers le chiffrement sur l’hôte .

S'applique à : ✔️ VMs Linux ✔️ Ensembles de mise à l'échelle flexibles

Azure Disk Encryption pour machines virtuelles Linux utilise la fonctionnalité DM-Crypt de Linux pour effectuer un chiffrement complet du disque du système d’exploitation et des disques de données. En outre, il chiffre le disque temporaire lors de l’utilisation de la fonctionnalité EncryptFormatAll.

Azure Disk Encryption est intégré à Azure Key Vault pour faciliter le contrôle et la gestion des clés et des secrets de chiffrement des disques. Pour obtenir une vue d’ensemble du service, consultez Azure Disk Encryption pour les machines virtuelles Linux.

Prérequis

Vous pouvez appliquer le chiffrement de disque uniquement aux machines virtuelles de tailles de machine virtuelle prises en charge et aux systèmes d’exploitation. Vous devez également satisfaire les prérequis suivants :

Dans tous les cas, prenez un instantané, créez une sauvegarde ou les deux avant que les disques ne soient chiffrés. Les sauvegardes vous garantissent une possibilité de récupération en cas de défaillance inattendue lors du chiffrement. Les machines virtuelles avec des disques managés imposent une sauvegarde avant que le chiffrement soit effectué. Une fois la sauvegarde effectuée, vous pouvez utiliser la cmdlet Set-AzVMDiskEncryptionExtension pour chiffrer des disques managés en spécifiant le paramètre -skipVmBackup. Pour plus d’informations sur la façon de sauvegarder et de restaurer des machines virtuelles chiffrées, consultez l’article Sauvegarde Azure.

Restrictions

Si vous avez déjà utilisé Azure Disk Encryption avec Microsoft Entra ID pour chiffrer une machine virtuelle, vous devez continuer à utiliser cette option pour chiffrer votre machine virtuelle. Si vous souhaitez en savoir plus, veuillez consulter la rubrique Azure Disk Encryption avec Microsoft Entra ID (version précédente).

Lors du chiffrement des volumes de système d’exploitation Linux, la machine virtuelle n’est pas disponible. Évitez les connexions SSH pendant que le chiffrement est en cours pour éviter les problèmes qui bloquent les fichiers ouverts qui doivent être accessibles pendant le processus de chiffrement. Pour vérifier la progression, utilisez la cmdlet PowerShell Get-AzVMDiskEncryptionStatus ou la commande CLI vm encryption show. Vous pouvez vous attendre à ce que ce processus prenne quelques heures pour un volume de système d’exploitation de 30 Go, ainsi que du temps supplémentaire pour chiffrer les volumes de données. Le temps de chiffrement du volume de données est proportionnel à la taille et à la quantité des volumes de données, sauf si l’option encrypt format all est utilisée.

La désactivation du chiffrement sur les machines virtuelles Linux est prise en charge seulement pour les volumes de données. La désactivation du chiffrement n’est pas prise en charge sur les volumes de données ou de système d’exploitation si le volume du système d’exploitation est chiffré.

Azure Disk Encryption ne fonctionne pas pour les scénarios, fonctionnalités et technologies Linux suivants :

  • Chiffrement de machines virtuelles de niveau de base ou de machines virtuelles créées par le biais de la méthode de création de machine virtuelle classique
  • Chiffrement des machines virtuelles de série v6 avec des disques temporaires (Ddsv6, Dldsv6, Edsv6, Dadsv6, Daldsv6, Eadsv6, Dpdsv6, Dpldsv6, Epdsv6 ou Endsv6). Pour plus d’informations, consultez les pages de chacune de ces tailles de machine virtuelle répertoriées dans Tailles des machines virtuelles dans Azure
  • Chiffrement de la série V7 et des tailles de machines virtuelles plus récentes.
  • Désactivation du chiffrement sur un lecteur de système d’exploitation ou de données d’une machine virtuelle Linux quand le lecteur de système d’exploitation est chiffré
  • Chiffrement du lecteur de système d’exploitation pour des groupes de machines virtuelles identiques Linux.
  • Chiffrement d’images personnalisées sur des machines virtuelles Linux
  • Intégration à un système de gestion de clés local
  • Azure Files (système de fichiers partagés).
  • NFS (système de gestion de fichiers en réseau).
  • Volumes dynamiques.
  • Disques de système d’exploitation éphémères.
  • Chiffrement des systèmes de fichiers partagés/distribués comme (liste non exhaustive) : DFS, GFS, DRDB et CephFS.
  • Déplacement d’une machine virtuelle chiffrée vers un autre abonnement.
  • Création d’une image ou d’un instantané d’une machine virtuelle chiffrée et utilisation pour déployer davantage de VMs.
  • Vidage sur incident du noyau (kdump)
  • Oracle ACFS (système de fichiers de cluster ASM).
  • Disques NVMe tels que ceux indiqués dans Tailles de machines virtuelles de calcul haute performance ou Tailles de machines virtuelles à stockage optimisé.
  • Une machine virtuelle avec des « points de montage imbriqués », c’est-à-dire plusieurs points de montage sur un même chemin (par exemple, « /1stmountpoint/data/2ndmountpoint »).
  • Machine virtuelle avec un lecteur de données monté sur un dossier du système d’exploitation.
  • Une machine virtuelle sur laquelle un volume logique racine (disque de système d’exploitation) est étendu avec un disque de données.
  • Redimensionnement du disque de système d’exploitation.
  • Série de tailles de machine virtuelle optimisée pour le stockage familial 'L'.
  • Machines virtuelles de la série M avec des disques Accélérateur d’écriture.
  • Application d’ADE à une machine virtuelle qui possède des disques chiffrés avec un chiffrement sur l’hôte ou un chiffrement côté serveur avec des clés gérées par le client (SSE + CMK). L’application de SSE + CMK à un disque de données ou l’ajout d’un disque de données avec SSE + CMK configuré à une machine virtuelle chiffrée avec ADE est également un scénario non pris en charge.
  • Migration d'une machine virtuelle chiffrée avec ADE, ou ayant déjà été chiffrée avec ADE, vers le chiffrement sur l'hôte ou le chiffrement côté serveur avec des clés gérées par le client.
  • Chiffrement des machines virtuelles dans les clusters de basculement.
  • Chiffrement des disques Azure Ultra.
  • Chiffrement des disques SSD Premium v2.
  • Le chiffrement des machines virtuelles dans les abonnements avec les Secrets doit disposer de la stratégie de période de validité maximale spécifiée activée avec l’effet DENY.

Installer les outils et se connecter à Azure

Vous pouvez activer et gérer des Azure Disk Encryption via les Azure CLI et les Azure PowerShell. Pour ce faire, vous devez installer les outils localement et vous connecter à votre abonnement Azure.

Azure CLI 2.0 est un outil en ligne de commande pour la gestion des ressources Azure. L’interface CLI est conçue pour interroger les données de manière flexible, pour prendre en charge les opérations de longue durée en tant que processus non bloquants et pour simplifier l’écriture de scripts. Vous pouvez l’installer localement en effectuant les étapes décrites dans Installer Azure CLI.

Pour vous connecter à votre compte Azure avec Azure CLI, utilisez la commande az login.

az login

Si vous voulez sélectionner un locataire sous lequel vous connecter, utilisez :

az login --tenant <tenant>

Si vous avez plusieurs abonnements et que vous voulez spécifier un de ceux-ci, récupérez la liste de vos abonnements avec az account list et spécifiez le compte avec az account set.

az account list
az account set --subscription "<subscription name or ID>"

Pour plus d’informations, consultez Bien démarrer avec Azure CLI 2.0.

Activer le chiffrement sur une machine virtuelle Linux existante ou en cours d’exécution

Dans ce scénario, vous pouvez activer le chiffrement en utilisant le modèle Resource Manager, des applets de commande PowerShell ou des commandes CLI. Si vous avez besoin d’informations de schéma pour l’extension de machine virtuelle, consultez l’article Azure Disk Encryption pour extension Linux.

Important

Prenez un instantané ou sauvegardez une instance de machine virtuelle managée sur disque en dehors et avant d’activer Azure Disk Encryption. Vous pouvez prendre un instantané du disque managé à partir du portail ou utiliser Sauvegarde Azure. Les sauvegardes vous garantissent une possibilité de récupération en cas de défaillance inattendue lors du chiffrement. Une fois la sauvegarde effectuée, utilisez l’applet de commande Set-AzVMDiskEncryptionExtension pour chiffrer les disques managés en spécifiant le paramètre -skipVmBackup. La commande Set-AzVMDiskEncryptionExtension échoue sur les machines virtuelles managées sur disque jusqu’à ce que vous effectuez une sauvegarde et spécifiez ce paramètre.

Le chiffrement ou la désactivation du chiffrement peut entraîner le redémarrage de la machine virtuelle.

Pour désactiver le chiffrement, consultez Désactiver le chiffrement et supprimer l’extension de chiffrement.

Vous pouvez activer le chiffrement de disque sur votre disque dur virtuel chiffré en installant et en utilisant l’outil en ligne de commande Azure CLI. Vous pouvez l’ouvrir dans le navigateur avec Azure Cloud Shell, ou vous pouvez l’installer sur votre ordinateur local et l’utiliser dans une session PowerShell. Pour activer le chiffrement sur des machines virtuelles Linux existantes ou en cours d’exécution dans Azure, utilisez les commandes CLI suivantes :

Utilisez la commande az vm encryption enable pour activer le chiffrement sur une machine virtuelle en cours d’exécution dans Azure.

  • Chiffrer une machine virtuelle en cours d’exécution :

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type [All|OS|Data]
    
  • Chiffrer une machine virtuelle en cours d’exécution à l’aide de KEK :

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault  "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type [All|OS|Data]
    

    Remarque

    La syntaxe de la valeur du paramètre disk-encryption-keyvault correspond à la chaîne d’identificateur complète : /subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name]
    La syntaxe de la valeur du paramètre key-encryption-key correspond à l’URI complet de la clé KEK comme dans : https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]

  • Vérifier que les disques sont chiffrés : pour vérifier l’état de chiffrement d’une machine virtuelle, utilisez la commande az vm encryption show.

    az vm encryption show --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup"
    

Pour désactiver le chiffrement, consultez Désactiver le chiffrement et supprimer l’extension de chiffrement.

Utiliser la fonctionnalité EncryptFormatAll pour les disques de données sur les machines virtuelles Linux

Le paramètre EncryptFormatAll réduit le temps de chiffrement des disques de données Linux. Les partitions répondant à certains critères sont mises en forme, ainsi que leurs systèmes de fichiers actuels, puis remontées à l’emplacement où elles étaient avant l’exécution de la commande. Si vous voulez exclure un disque de données répondant aux critères, vous pouvez le démonter avant d’exécuter la commande.

Lorsque vous exécutez cette commande, Azure Disk Encryption met en forme tous les lecteurs qui ont été montés précédemment et démarre la couche de chiffrement au-dessus du lecteur maintenant vide. Lorsque vous sélectionnez cette option, Azure Disk Encryption chiffre également le disque temporaire attaché à la machine virtuelle. Si le disque temporaire est réinitialisé, Azure Disk Encryption reformats et rechiffre le disque temporaire de la machine virtuelle à la prochaine occasion. Une fois le disque de ressource chiffré, l'agent Linux Microsoft Azure ne peut pas gérer le disque de ressource et activer le fichier d'échange, mais vous pouvez configurer manuellement le fichier d'échange.

Avertissement

N’utilisez pas EncryptFormatAll quand des données nécessaires existent sur les volumes de données d’une machine virtuelle. Vous pouvez exclure des disques du chiffrement en les démontant. Essayez d’abord le paramètre EncryptFormatAll sur une machine virtuelle de test pour comprendre le paramètre de fonctionnalité et ses implications avant de l’essayer sur la machine virtuelle de production. L’option EncryptFormatAll met en forme le disque de données et toutes les données qu’elle contient sont perdues. Avant de continuer, vérifiez que les disques que vous souhaitez exclure sont correctement démontées.

Si vous définissez ce paramètre durant la mise à jour des paramètres de chiffrement, un redémarrage peut se produire avant le chiffrement proprement dit. Dans ce cas, vous devez supprimer le disque que vous ne souhaitez pas formater du fichier fstab. De même, vous devez ajouter la partition que vous voulez chiffrer-formater au fichier fstab avant de lancer l’opération de chiffrement.

Critères pour EncryptFormatAll

Ce paramètre fait que la commande parcourt toutes les partitions et les chiffre, à condition qu’elles répondent à tous les critères ci-dessous :

  • Elle n’est pas une partition root/de système d’exploitation/de démarrage
  • Elle n’est pas déjà chiffrée
  • Elle n’est pas un volume BEK
  • Elle n’est pas un volume RAID
  • Elle n’est pas un volume LVM
  • Elle est montée

Chiffrez les disques composant le volume RAID ou LVM au lieu de chiffrer le volume RAID ou LVM lui-même.

Utilisez la commande az vm encryption enable pour activer le chiffrement sur une machine virtuelle en cours d’exécution dans Azure.

  • Chiffrer une machine virtuelle en cours d’exécution à l’aide de EncryptFormatAll :

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type "data" --encrypt-format-all
    

Utiliser le paramètre EncryptFormatAll avec Logical Volume Manager (LVM)

Nous recommandons une installation LVM-on-crypt. Pour obtenir des instructions détaillées sur la configuration LVM sur crypt, consultez l’article Configurer LVM et RAID sur les appareils chiffrés avec ADE.

Nouvelles machines virtuelles créées à partir de disques durs virtuels et de clés de chiffrement chiffrés par le client

Dans ce scénario, vous pouvez activer le chiffrement à l’aide d’applets de commande PowerShell ou de commandes CLI.

Utilisez les instructions de l’exemple de scripts Azure Disk Encryption pour préparer des images pré-chiffrées pour Azure. Une fois l’image créée, vous pouvez suivre la procédure décrite dans la section suivante pour créer une machine virtuelle Azure chiffrée.

Important

Prenez un instantané ou sauvegardez une instance de machine virtuelle managée sur disque en dehors et avant d’activer Azure Disk Encryption. Vous pouvez prendre un instantané du disque managé à partir du portail, ou vous pouvez utiliser Sauvegarde Azure. Les sauvegardes vous garantissent une possibilité de récupération en cas de défaillance inattendue lors du chiffrement. Après avoir fait une sauvegarde, utilisez l’applet de commande Set-AzVMDiskEncryptionExtension pour chiffrer les disques managés en spécifiant le -skipVmBackup paramètre. La commande Set-AzVMDiskEncryptionExtension échoue sur les machines virtuelles managées sur disque jusqu’à ce que vous effectuez une sauvegarde et spécifiez ce paramètre.

Le chiffrement ou la désactivation du chiffrement peut entraîner le redémarrage de la machine virtuelle.

Utiliser Azure PowerShell pour chiffrer des machines virtuelles avec des disques durs virtuels préchiffrés

Vous pouvez activer le chiffrement de disque sur votre disque dur virtuel chiffré avec la cmdlet PowerShell Set-AzVMOSDisk. L’exemple suivant vous montre quelques paramètres courants.

$VirtualMachine = New-AzVMConfig -VMName "MySecureVM" -VMSize "Standard_A1"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name "SecureOSDisk" -VhdUri "os.vhd" Caching ReadWrite -Linux -CreateOption "Attach" -DiskEncryptionKeyUrl "https://mytestvault.vault.azure.net/secrets/Test1/514ceb769c984379a7e0230bddaaaaaa" -DiskEncryptionKeyVaultId "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.KeyVault/vaults/mytestvault"
New-AzVM -VM $VirtualMachine -ResourceGroupName "MyVirtualMachineResourceGroup"

Activer le chiffrement sur un disque de données nouvellement ajouté

Vous pouvez ajouter un nouveau disque de données avec az vm disk attach ou via le portail Azure. Avant de pouvoir chiffrer, vous devez d’abord monter le disque de données nouvellement attaché. Vous devez demander le chiffrement du lecteur de données, car le lecteur n’est pas utilisable pendant que le chiffrement est en cours.

Si la machine virtuelle a été précédemment chiffrée avec « All », le --volume-type paramètre doit rester « All ». All inclut les disques de système d’exploitation et de données. Si la machine virtuelle a été précédemment chiffrée avec un type de volume de « système d’exploitation », remplacez le --volume-type paramètre par « All » afin que le système d’exploitation et le nouveau disque de données soient inclus. Si la machine virtuelle a été chiffrée uniquement avec le type de volume « Données », elle peut rester « Données » comme illustré dans l’exemple suivant. L’ajout et l’attachement d’un nouveau disque de données à une machine virtuelle ne constituent pas une préparation suffisante pour le chiffrement. Vous devez également mettre en forme et monter correctement le disque nouvellement attaché au sein de la machine virtuelle avant d’activer le chiffrement. Sous Linux, vous devez monter le disque dans /etc/fstab à l’aide d’un nom de périphérique de bloc persistant.

Contrairement à la syntaxe PowerShell, l’interface CLI ne vous oblige pas à fournir une version de séquence unique lors de l’activation du chiffrement. L’interface CLI génère automatiquement et utilise sa propre valeur de version de séquence unique.

  • Chiffrer des volumes de données d’une machine virtuelle en cours d’exécution :

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type "Data"
    
  • Chiffrer les volumes de données d’une machine virtuelle en cours d’exécution à l’aide de KEK :

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault  "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type "Data"
    

Désactiver le chiffrement et supprimer l’extension de chiffrement

Vous pouvez désactiver Azure Disk Encryption et supprimer l’extension Azure Disk Encryption. La désactivation et la suppression sont deux opérations distinctes.

Pour supprimer ADE, désactivez d’abord le chiffrement, puis supprimez l’extension. Si vous supprimez l’extension de chiffrement sans désactiver ADE, les disques restent chiffrés. Si vous désactivez le chiffrement après la suppression de l’extension, l’extension est réinstallée (pour effectuer l’opération de déchiffrement) et doit être supprimée une deuxième fois.

Avertissement

Vous ne pouvez pas désactiver le chiffrement si le disque du système d’exploitation est chiffré. (Les disques du système d’exploitation sont chiffrés lorsque l’opération de chiffrement d’origine spécifie volumeType=ALL ou volumeType=OS.)

La désactivation du chiffrement fonctionne uniquement lorsque les disques de données sont chiffrés, mais que le disque du système d’exploitation n’est pas.

Désactiver le chiffrement

Vous pouvez désactiver le chiffrement à l’aide de Azure PowerShell, du Azure CLI ou d’un modèle de Resource Manager. La désactivation du chiffrement ne supprime pas l’extension (voir Supprimer l’extension de chiffrement).

  • Désactiver le chiffrement de disque avec Azure PowerShell : Pour désactiver le chiffrement, utilisez la cmdlet Disable-AzVMDiskEncryption.

    Disable-AzVMDiskEncryption -ResourceGroupName "MyVirtualMachineResourceGroup" -VMName "MySecureVM" -VolumeType "data"
    
  • Désactiver le chiffrement avec Azure CLI : pour désactiver le chiffrement, utilisez la commande az vm encryption disable.

    az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type "data"
    
  • Désactiver le chiffrement avec un modèle Resource Manager :

    1. Sélectionnez Déployer sur Azure dans le modèle Désactiver le chiffrement de disque sur une machine virtuelle Linux en cours d’exécution.
    2. Sélectionnez l’abonnement, le groupe de ressources, l’emplacement, la machine virtuelle, le type de volume, les conditions juridiques et le contrat.
    3. Sélectionnez Acheter pour désactiver le chiffrement de disque sur une machine virtuelle Linux en cours d’exécution.

Avertissement

Une fois le déchiffrement démarré, n’interfèrez pas avec le processus.

Pour vérifier la progression du déchiffrement, utilisez l’applet de commande PowerShell Get-AzVMDiskEncryptionStatus ou la commande az vm encryption show CLI. Une fois le processus de déchiffrement terminé, vous pouvez supprimer l’extension de chiffrement.

Supprimer l’extension de chiffrement

Si vous souhaitez déchiffrer vos disques et supprimer l’extension de chiffrement, vous devez désactiver le chiffrement avant de supprimer l’extension (voir Désactiver le chiffrement).

Utilisez Azure PowerShell ou le Azure CLI pour supprimer l’extension de chiffrement.

  • Supprimez l’extension de chiffrement avec Azure PowerShell : utilisez l’applet de commande Remove-AzVMDiskEncryptionExtension.

    Remove-AzVMDiskEncryptionExtension -ResourceGroupName "MyVirtualMachineResourceGroup" -VMName "MySecureVM"
    
  • Supprimez l’extension de chiffrement avec la Azure CLI : utilisez la commande az vm extension delete.

    az vm extension delete -g "MyVirtualMachineResourceGroup" --vm-name "MySecureVM" -n "AzureDiskEncryptionForLinux"
    

Étapes suivantes