Skapa och konfigurera ett nyckelvalv för Azure Disk Encryption
Gäller för: ✔️ Flexibla skalningsuppsättningar för virtuella Linux-datorer ✔️
Azure Disk Encryption använder Azure Key Vault för att styra och hantera diskkrypteringsnycklar och hemligheter. Mer information om nyckelvalv finns i Komma igång med Azure Key Vault och Skydda ditt nyckelvalv.
Varning
- Om du tidigare har använt Azure Disk Encryption med Microsoft Entra ID för att kryptera en virtuell dator måste du fortsätta att använda det här alternativet för att kryptera den virtuella datorn. Mer information finns i Skapa och konfigurera ett nyckelvalv för Azure Disk Encryption med Microsoft Entra ID (tidigare version).
Att skapa och konfigurera ett nyckelvalv för användning med Azure Disk Encryption omfattar tre steg:
- Skapa en resursgrupp om det behövs.
- Skapa ett nyckelvalv.
- Ange avancerade åtkomstprinciper för Key Vault.
De här stegen visas i följande snabbstarter:
- Skapa och kryptera en virtuell Linux-dator med Azure CLI
- Skapa och kryptera en virtuell Linux-dator med Azure PowerShell
Du kan också, om du vill, generera eller importera en nyckelkrypteringsnyckel (KEK).
Kommentar
Stegen i den här artikeln automatiseras i CLI-skriptet för Förhandskrav för Azure Disk Encryption och PowerShell-skriptet för Azure Disk Encryption.The steps in this article are automated in the Azure Disk Encryption prerequisites CLI script and Azure Disk Encryption prerequisites PowerShell script.
Installera verktyg och ansluta till Azure
Stegen i den här artikeln kan slutföras med Modulen Azure CLI, Azure PowerShell Az PowerShell eller Azure-portalen.
Även om portalen är tillgänglig via webbläsaren kräver Azure CLI och Azure PowerShell lokal installation. Mer information finns i Azure Disk Encryption för Linux: Installera verktyg .
Anslut till ditt Azure-konto
Innan du använder Azure CLI eller Azure PowerShell måste du först ansluta till din Azure-prenumeration. Du gör det genom att logga in med Azure CLI, logga in med Azure PowerShell eller ange dina autentiseringsuppgifter till Azure-portalen när du uppmanas att göra det.
az login
Connect-AzAccount
Skapa en resursgrupp
Om du redan har en resursgrupp kan du gå vidare till Skapa ett nyckelvalv.
En resursgrupp är en logisk container där Azure-resurser distribueras och hanteras.
Skapa en resursgrupp med kommandot az group create Azure CLI, kommandot New-AzResourceGroup Azure PowerShell eller från Azure-portalen.
Azure CLI
az group create --name "myResourceGroup" --location eastus
Azure PowerShell
New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"
Skapa ett nyckelvalv
Om du redan har ett nyckelvalv kan du gå vidare till Ange avancerade åtkomstprinciper för nyckelvalvet.
Skapa ett nyckelvalv med kommandot az keyvault create Azure CLI, Kommandot New-AzKeyvault Azure PowerShell, Azure-portalen eller en Resource Manager-mall.
Varning
För att säkerställa att krypteringshemligheter inte korsar regionala gränser måste du skapa och använda ett nyckelvalv som finns i samma region och klientorganisation som de virtuella datorer som ska krypteras.
Varje Key Vault måste ha ett unikt namn. Ersätt <ditt unika keyvault-name> med namnet på ditt nyckelvalv i följande exempel.
Azure CLI
När du skapar ett nyckelvalv med hjälp av Azure CLI lägger du till flaggan "---enabled-for-disk-encryption".
az keyvault create --name "<your-unique-keyvault-name>" --resource-group "myResourceGroup" --location "eastus" --enabled-for-disk-encryption
Azure PowerShell
När du skapar ett nyckelvalv med Azure PowerShell lägger du till flaggan "-EnabledForDiskEncryption".
New-AzKeyvault -name "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup" -Location "eastus" -EnabledForDiskEncryption
Resource Manager-mall
Du kan också skapa ett nyckelvalv med hjälp av Resource Manager-mallen.
- Klicka på Distribuera till Azure i Azure-snabbstartsmallen.
- Välj prenumeration, resursgrupp, resursgruppsplats, Nyckelvalvnamn, Objekt-ID, juridiska villkor och avtal och klicka sedan på Köp.
Ställa in avancerade åtkomstprinciper för nyckelvalvet
Viktigt!
Nyligen skapade nyckelvalv har mjuk borttagning aktiverat som standard. Om du använder ett befintligt nyckelvalv måste du aktivera mjuk borttagning. Se Översikt över mjuk borttagning av Azure Key Vault.
Azure-plattformen behöver åtkomst till krypteringsnycklarna eller hemligheterna i nyckelvalvet för att göra dem tillgängliga för den virtuella datorn för att starta och dekryptera volymerna.
Om du inte aktiverade nyckelvalvet för diskkryptering, distribution eller malldistribution vid tidpunkten för skapandet (vilket visas i föregående steg) måste du uppdatera dess avancerade åtkomstprinciper.
Azure CLI
Använd az keyvault update för att aktivera diskkryptering för nyckelvalvet.
Aktivera Key Vault för diskkryptering: Aktiverad för diskkryptering krävs.
az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-disk-encryption "true"
Aktivera Key Vault för distribution om det behövs: Gör att Microsoft.Compute-resursprovidern kan hämta hemligheter från det här nyckelvalvet när det här nyckelvalvet refereras till när du skapar resurser, till exempel när du skapar en virtuell dator.
az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-deployment "true"
Aktivera Key Vault för malldistribution om det behövs: Tillåt att Resource Manager hämtar hemligheter från valvet.
az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-template-deployment "true"
Azure PowerShell
Använd PowerShell-cmdleten Set-AzKeyVaultAccessPolicy för nyckelvalvet för att aktivera diskkryptering för nyckelvalvet.
Aktivera Key Vault för diskkryptering: EnabledForDiskEncryption krävs för Azure Disk-kryptering.
Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDiskEncryption
Aktivera Key Vault för distribution om det behövs: Gör att Microsoft.Compute-resursprovidern kan hämta hemligheter från det här nyckelvalvet när det här nyckelvalvet refereras till när du skapar resurser, till exempel när du skapar en virtuell dator.
Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDeployment
Aktivera Key Vault för malldistribution om det behövs: Gör att Azure Resource Manager kan hämta hemligheter från det här nyckelvalvet när det här nyckelvalvet refereras till i en malldistribution.
Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForTemplateDeployment
Azure Portal
Välj ditt nyckelvalv och gå till Åtkomstprinciper.
Under "Aktivera åtkomst till" väljer du rutan Med etiketten Azure Disk Encryption för volymkryptering.
Välj Azure Virtual Machines för distribution och/eller Azure Resource Manager för malldistribution om det behövs.
Klicka på Spara.
Azure Disk Encryption och automatisk rotation
Även om Azure Key Vault nu har automatisk nyckelrotation är det för närvarande inte kompatibelt med Azure Disk Encryption. Mer specifikt fortsätter Azure Disk Encryption att använda den ursprungliga krypteringsnyckeln, även efter att den har roterats automatiskt.
Om du roterar en krypteringsnyckel bryts inte Azure Disk Encryption, men om du inaktiverar den "gamla" krypteringsnyckeln (med andra ord kommer nyckeln Azure Disk Encryption fortfarande använder) att göra det.
Konfigurera en nyckelkrypteringsnyckel (KEK)
Viktigt!
Kontot som körs för att aktivera diskkryptering över nyckelvalvet måste ha läsbehörighet.
Om du vill använda en nyckelkrypteringsnyckel (KEK) för ytterligare ett säkerhetslager för krypteringsnycklar lägger du till en KEK i nyckelvalvet. När en nyckelkrypteringsnyckel har angetts använder Azure Disk Encryption den nyckeln för att omsluta krypteringshemligheterna innan du skriver till Key Vault.
Du kan generera en ny KEK med hjälp av Azure CLI-kommandot az keyvault key create
, Azure PowerShell Add-AzKeyVaultKey-cmdleten eller Azure-portalen. Du måste generera en RSA-nyckeltyp. Azure Disk Encryption stöder för närvarande inte användning av elliptiska kurvnycklar.
Du kan i stället importera en KEK från din lokala HSM för nyckelhantering. Mer information finns i Dokumentation om Key Vault.
Nyckelvalvets KEK-URL:er måste vara versionshanterade. Azure tillämpar den här begränsningen av versionshantering. Giltiga hemlighets- och KEK-URL:er finns i följande exempel:
- Exempel på en giltig hemlig URL: https://contosovault.vault.azure.net/secrets/EncryptionSecretWithKek/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- Exempel på en giltig KEK-URL: https://contosovault.vault.azure.net/keys/diskencryptionkek/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Azure CLI
Använd Azure CLI-kommandot az keyvault key create
för att generera en ny KEK och lagra den i ditt nyckelvalv.
az keyvault key create --name "myKEK" --vault-name "<your-unique-keyvault-name>" --kty RSA --size 4096
Du kan i stället importera en privat nyckel med hjälp av kommandot Azure CLI az keyvault key import :
I båda fallen anger du namnet på din KEK till parametern Azure CLI az vm encryption enable
--key-encryption-key.
az vm encryption enable -g "MyResourceGroup" --name "myVM" --disk-encryption-keyvault "<your-unique-keyvault-name>" --key-encryption-key "myKEK"
Azure PowerShell
Använd Cmdleten Azure PowerShell Add-AzKeyVaultKey för att generera en ny KEK och lagra den i ditt nyckelvalv.
Add-AzKeyVaultKey -Name "myKEK" -VaultName "<your-unique-keyvault-name>" -Destination "HSM" -Size 4096
Du kan i stället importera en privat nyckel med hjälp av Azure PowerShell-kommandot az keyvault key import
.
I båda fallen anger du ID:t för ditt KEK-nyckelvalv och URL:en för din KEK till parametrarna Azure PowerShell Set-AzVMDiskEncryptionExtension -KeyEncryptionKeyVaultId och -KeyEncryptionKeyUrl. I det här exemplet förutsätts att du använder samma nyckelvalv för både diskkrypteringsnyckeln och KEK: et.
$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