Création et configuration d’un coffre de clés pour Azure Disk Encryption

S’applique à : ✔️ Machines virtuelles Linux ✔️ Groupes identiques flexibles

Azure Disk Encryption utilise Azure Key Vault pour contrôler et gérer les clés et les secrets de chiffrement de disque. Pour plus d’informations sur les coffres de clés, consultez les articles Prise en main du coffre de clés Azure et Sécuriser votre coffre de clés.

Avertissement

La création et la configuration d’un coffre de clés à utiliser avec Azure Disk Encryption impliquent trois étapes :

  1. Création d’un groupe de ressources, si nécessaire
  2. Création d’un coffre de clés
  3. Définition de stratégies d’accès avancé au coffre de clés

Ces étapes sont illustrées dans les guides de démarrage rapide suivants :

Si vous le souhaitez, vous pouvez également générer ou importer une clé de chiffrement principale (KEK, key encryption key).

Installer les outils et se connecter à Azure

Les étapes décrites dans cet article peuvent être effectuées avec l’interface Azure CLI, le module Azure PowerShell Az PowerShell ou le portail Azure.

Le portail est accessible par le biais de votre navigateur, alors qu’Azure CLI et Azure PowerShell nécessitent une installation locale. Pour plus d’informations, consultez Azure Disk Encryption pour Linux : Installer les outils.

Se connecter au compte Azure

Avant d’utiliser Azure CLI ou Azure PowerShell, vous devez vous connecter à votre abonnement Azure. Pour cela, vous devez vous connecter avec Azure CLI, vous connecter avec Azure PowerShell ou fournir vos informations d’identification dans le portail Azure quand vous y êtes invité.

az login
Connect-AzAccount

Créer un groupe de ressources

Si vous disposez déjà d’un groupe de ressources, vous pouvez passer à Créer un coffre de clés.

Un groupe de ressources est un conteneur logique dans lequel les ressources Azure sont déployées et gérées.

Créez un groupe de ressources à l’aide de la commande Azure CLI az group create, de la commande Azure PowerShell New-AzResourceGroup ou du portail Azure.

Azure CLI

az group create --name "myResourceGroup" --location eastus

Azure PowerShell

New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"

Création d’un coffre de clés

Si vous disposez déjà d’un coffre de clés, vous pouvez passer à Définir des stratégies d’accès avancé au coffre de clés.

Créez un coffre de clés à l’aide de la commande Azure CLI az keyvault create, de la commande Azure PowerShell New-AzKeyvault, du portail Azure ou d’un modèle Resource Manager.

Avertissement

Pour vous assurer que les secrets de chiffrement ne franchissent pas les limites régionales, vous devez créer et utiliser un coffre de clés qui se trouve dans la même région et le même locataire que les machines virtuelles à chiffrer.

Chaque coffre de clés doit avoir un nom unique. Remplacez <your-unique-keyvault-name> par le nom de votre coffre de clés dans les exemples suivants.

Azure CLI

Quand vous créez un coffre de clés à l’aide d’Azure CLI, ajoutez l’indicateur « --enabled-for-disk-encryption ».

az keyvault create --name "<your-unique-keyvault-name>" --resource-group "myResourceGroup" --location "eastus" --enabled-for-disk-encryption

Azure PowerShell

Quand vous créez un coffre de clés à l’aide d’Azure PowerShell, ajoutez l’indicateur « -EnabledForDiskEncryption ».

New-AzKeyvault -name "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup" -Location "eastus" -EnabledForDiskEncryption

Modèle Resource Manager

Vous pouvez aussi créer un coffre de clés à l’aide du modèle Resource Manager.

  1. Dans le modèle de démarrage rapide Azure, cliquez sur Déployer sur Azure.
  2. Sélectionnez l’abonnement, le groupe de ressources, l’emplacement du groupe de ressources, le nom du coffre de clés, l’ID d’objet, les conditions juridiques et le contrat, puis cliquez sur Acheter.

Définir des stratégies d’accès avancé au coffre de clés

Important

Les coffres de clés nouvellement créés ont une suppression réversible par défaut. Si vous utilisez un coffre de clés pré-existant, vous devez activer la suppression réversible. Voir Vue d’ensemble de la suppression réversible d’Azure Key Vault

La plateforme Azure doit avoir accès aux clés et aux clés secrètes de chiffrement dans votre coffre de clés afin de les mettre à disposition de la machine virtuelle pour lancer et déchiffrer les volumes.

Si vous n’avez pas activé votre coffre de clés pour le chiffrement de disque, le déploiement ou le déploiement de modèle au moment de la création (comme indiqué à l’étape précédente), vous devez mettre à jour ses stratégies d’accès avancé.

Azure CLI

Utilisez la commande az keyvault update afin d’activer le chiffrement de disque pour le coffre de clés.

  • Activer Key Vault pour le chiffrement de disque : Enabled-for-disk-encryption est requis.

    az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-disk-encryption "true"
    
  • Activer Key Vault pour le déploiement, si nécessaire : autorise le fournisseur de ressources Microsoft.Compute à récupérer des secrets à partir de ce coffre de clés lorsque ce dernier est référencé dans le cadre de la création de ressources, par exemple lors de la création d’une machine virtuelle.

    az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-deployment "true"
    
  • Activer Key Vault pour le déploiement d’un modèle, si nécessaire : autoriser Resource Manager à récupérer des secrets dans le coffre.

    az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-template-deployment "true"
    

Azure PowerShell

Utilisez l’applet de commande PowerShell de coffre de clés Set-AzKeyVaultAccessPolicy pour activer le chiffrement de disque pour le coffre de clés.

  • Activer Key Vault pour le chiffrement de disque : EnabledForDiskEncryption est requis pour Azure Disk Encryption.

    Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDiskEncryption
    
  • Activer Key Vault pour le déploiement, si nécessaire : autorise le fournisseur de ressources Microsoft.Compute à récupérer des secrets à partir de ce coffre de clés lorsque ce dernier est référencé dans le cadre de la création de ressources, par exemple lors de la création d’une machine virtuelle.

     Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDeployment
    
  • Activer Key Vault pour le déploiement d’un modèle, si nécessaire : autorise Azure Resource Manager à obtenir des secrets à partir de ce coffre de clés lorsque ce dernier est référencé dans un déploiement de modèle.

    Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForTemplateDeployment
    

Portail Azure

  1. Sélectionnez votre coffre de clés, puis accédez à Stratégies d’accès.

  2. Sous « Activer l’accès à », cochez la case Azure Disk Encryption pour chiffrer des volumes.

  3. Sélectionnez Machines virtuelles Azure pour le déploiement et/ou Azure Resource Manager pour le déploiement de modèles, si nécessaire.

  4. Cliquez sur Enregistrer.

    Azure key vault advanced access policies

Azure Disk Encryption et rotation automatique

Bien qu’Azure Key Vault propose désormais la rotation automatique des clés, il n’est pas actuellement compatible avec Azure Disk Encryption. Plus précisément, Azure Disk Encryption continue à utiliser la clé de chiffrement d’origine, même après sa rotation automatique.

La rotation d’une clé de chiffrement n’arrête pas Azure Disk Encryption, contrairement à la désactivation de « l’ancienne » clé de chiffrement (en d’autres termes, la clé qu’Azure Disk Encryption utilise toujours).

Configurer une clé de chiffrement principale (KEK)

Important

Le compte en cours d’exécution pour activer le chiffrement de disque sur le coffre de clés doit avoir des autorisations de « lecteur ».

Si vous souhaitez utiliser une clé de chiffrement à clé pour renforcer la protection des clés de chiffrement, ajoutez une clé de chiffrement à clé à votre coffre de clés. Quand une clé de chiffrement principale est spécifiée, Azure Disk Encryption utilise cette clé pour wrapper les secrets de chiffrement avant d’écrire dans Key Vault.

Vous pouvez générer une nouvelle clé de chiffrement principale (KEK, key encryption key) à l’aide de la commande Azure CLI az keyvault key create, de la cmdlet Azure PowerShell Add-AzKeyVaultKey ou du portail Azure. Vous devez générer un type de clé RSA. Azure Disk Encryption ne prend pas encore en charge l’utilisation de clés à courbe elliptique.

Vous pouvez au lieu de cela importer une clé KEK à partir de votre HSM de gestion des clés locales. Pour plus d’informations, consultez la documentation concernant Key Vault.

Les URL des clés KEK de votre coffre de clés doivent être versionnées. Azure met en vigueur cette restriction de gestion de version. Voici des exemples d’URL de clé secrète et de clé de chiffrement à clé valides :

Azure CLI

Utilisez la commande Azure CLI az keyvault key create pour générer une nouvelle clé KEK et la stocker dans votre coffre de clés.

az keyvault key create --name "myKEK" --vault-name "<your-unique-keyvault-name>" --kty RSA --size 4096

Au lieu de cela, vous pouvez importer une clé privée à l’aide de la commande Azure CLI az keyvault key import :

Dans les deux cas, vous fournissez le nom de votre clé KEK au paramètre --key-encryption-key de la commande Azure CLI az vm encryption enable.

az vm encryption enable -g "MyResourceGroup" --name "myVM" --disk-encryption-keyvault "<your-unique-keyvault-name>" --key-encryption-key "myKEK"

Azure PowerShell

Utilisez la cmdlet Azure PowerShell Add-AzKeyVaultKey pour générer une nouvelle clé KEK et la stocker dans votre coffre de clés.

Add-AzKeyVaultKey -Name "myKEK" -VaultName "<your-unique-keyvault-name>" -Destination "HSM" -Size 4096

Au lieu de cela, vous pouvez importer une clé privée à l’aide de la commande Azure PowerShell az keyvault key import.

Dans les deux cas, vous devez fournir l’ID de votre coffre de clés KEK et l’URL de votre clé KEK aux paramètres -KeyEncryptionKeyVaultId et -KeyEncryptionKeyUrl de la commande Azure PowerShell Set-AzVMDiskEncryptionExtension. Cet exemple part du principe que vous utilisez le même coffre de clés pour la clé de chiffrement de disque et la clé KEK.

$KeyVault = Get-AzKeyVault -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup"
$KEK = Get-AzKeyVaultKey -VaultName "<your-unique-keyvault-name>" -Name "myKEK"

Set-AzVMDiskEncryptionExtension -ResourceGroupName MyResourceGroup -VMName "MyVM" -DiskEncryptionKeyVaultUrl $KeyVault.VaultUri -DiskEncryptionKeyVaultId $KeyVault.ResourceId -KeyEncryptionKeyVaultId $KeyVault.ResourceId -KeyEncryptionKeyUrl $KEK.Id -SkipVmBackup -VolumeType All

Étapes suivantes