Créer et configurer un coffre de clés pour Azure Disk Encryption
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.
La création et la configuration d’un coffre de clés à utiliser avec Azure Disk Encryption impliquent trois étapes :
- Création d’un groupe de ressources, si nécessaire
- Création d’un coffre de clés
- Définition de stratégies d’accès avancé au coffre de clés
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 Azure CLI, le module Az Azure PowerShell ou le portail Azure.
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.
- Dans le modèle de démarrage rapide Azure, cliquez sur Déployer sur Azure.
- 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
Sélectionnez votre coffre de clés, puis accédez à Stratégies d’accès.
Sous « Activer l’accès à », cochez la case Azure Disk Encryption pour chiffrer des volumes.
Sélectionnez Machines virtuelles Azure pour le déploiement et/ou Azure Resource Manager pour le déploiement de modèles, si nécessaire.
Cliquez sur Enregistrer.
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 :
- Exemple d’URL de secret valide : https://contosovault.vault.azure.net/secrets/EncryptionSecretWithKek/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- Exemple d’URL de clé KEK valide : https://contosovault.vault.azure.net/keys/diskencryptionkek/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
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