Skapa och konfigurera ett nyckelvalv för Azure Disk Encryption på en Windows virtuell dator
Gäller för: ✔️ Windows virtuella datorer:heavy_check_mark: Flexibla skalningsuppsättningar
Azure Disk Encryption använder Azure Key Vault för att styra och hantera diskkrypteringsnycklar och hemligheter. Mer information om nyckelvalv finns i Kom igång med Azure Key Vault och Skydda ditt nyckelvalv.
Varning
- Om du tidigare har använt Azure Disk Encryption Azure AD 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. Se Skapa och konfigurera ett nyckelvalv för Azure Disk Encryption med Azure AD (tidigare version) för mer information.
Att skapa och konfigurera ett nyckelvalv för användning med Azure Disk Encryption omfattar tre steg:
Anteckning
Du måste välja alternativet i principinställningarna Azure Key Vault åtkomst för att ge åtkomst till Azure Disk Encryption för volymkryptering. Om du har aktiverat brandväggen i nyckelvalvet måste du gå till fliken Nätverk i nyckelvalvet och aktivera åtkomst till Microsoft Trusted Services.
- Skapa en resursgrupp om det behövs.
- Skapa ett nyckelvalv.
- Ange avancerade åtkomstprinciper för nyckelvalvet.
De här stegen illustreras i följande snabbstarter:
- Skapa och kryptera en virtuell Windows-dator med Azure CLI
- Skapa och kryptera en virtuell Windows-dator med Azure PowerShell
Du kan också, om du vill, generera eller importera en nyckelkrypteringsnyckel (KEK).
Anteckning
Stegen i den här artikeln automatiseras i cli Azure Disk Encryption skriptet för förhandskrav och Azure Disk Encryption PowerShell-skript.
Installera verktyg och ansluta till Azure
Stegen i den här artikeln kan utföras med Azure CLI, Azure PowerShell Az-moduleneller Azure Portal.
Även om portalen är tillgänglig via webbläsaren kräver Azure CLI och Azure PowerShell lokal installation. Se Azure Disk Encryption för Windows: Installera verktyg för mer information.
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 Powershelleller ange dina autentiseringsuppgifter för Azure Portal när du uppmanas till 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 hjälp av Azure CLI-kommandot az group create, kommandot New-AzResourceGroup Azure PowerShell eller från Azure Portal.
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 hjälp av Azure CLI-kommandot az keyvault create, kommandot New-AzKeyvault Azure PowerShell, Azure Portaleller en Resource Manager mall.
Varning
Ditt nyckelvalv och dina virtuella datorer måste finnas i samma prenumeration. För att säkerställa att krypteringshemligheter inte går över regionala gränser kräver Azure Disk Encryption att Key Vault och de virtuella datorerna finns i samma region. Skapa och använd en Key Vault som finns i samma prenumeration och region som de virtuella datorer som ska krypteras.
Varje Key Vault måste ha ett unikt namn. Ersätt <your-unique-keyvault-name> med namnet på ditt nyckelvalv i följande exempel.
Azure CLI
När du skapar ett nyckelvalv med 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 Resource Manager mallen.
- I Azure-snabbstartsmallen klickar du på Distribuera till Azure.
- Välj prenumeration, resursgrupp, resursgruppsplats, Key Vault objekt-ID, juridiska villkor och avtal och klicka sedan på Köp.
Ställa in avancerade åtkomstprinciper för nyckelvalvet
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 start och dekryptering av volymerna.
Om du inte aktiverar nyckelvalvet för diskkryptering, distribution eller malldistribution vid tidpunkten för skapandet (som 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 det möjligt för resursprovidern Microsoft.Compute att hämta hemligheter från det här nyckelvalvet när det här nyckelvalvet refereras till vid resursskapande, 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 Resource Manager att hämta hemligheter från valvet.
az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-template-deployment "true"
Azure PowerShell
Använd Nyckelvalvets PowerShell-cmdlet Set-AzKeyVaultAccessPolicy för att aktivera diskkryptering för nyckelvalvet.
Aktivera Key Vault för diskkryptering: EnabledForDiskEncryption krävs för Azure Disk Encryption.
Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDiskEncryptionAktivera Key Vault för distribution om det behövs: Gör det möjligt för resursprovidern Microsoft.Compute att hämta hemligheter från det här nyckelvalvet när det här nyckelvalvet refereras till vid resursskapande, till exempel när du skapar en virtuell dator.
Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDeploymentAktivera Key Vault för malldistribution om det behövs: Gör det Azure Resource Manager att 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, gå till Åtkomstprinciper och Klicka för att visa avancerade åtkomstprinciper.
Markera rutan Aktivera åtkomst till Azure Disk Encryption för volymkryptering.
Välj Aktivera åtkomst till Azure Virtual Machines för distribution och/eller Aktivera åtkomst till Azure Resource Manager för malldistribution om det behövs.
Klicka på Spara.

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 anges använder Azure Disk Encryption nyckeln för att omsluta krypteringshemligheterna innan de skrivs till Key Vault.
Du kan generera en ny KEK med hjälp av Azure CLI-kommandot az keyvault key create, Azure PowerShell-cmdleten Add-AzKeyVaultKey eller Azure Portal. Du måste generera en RSA-nyckeltyp. Azure Disk Encryption har ännu inte stöd för att använda Elliptic Curve-nycklar.
Du kan i stället importera en kek från din lokala nyckelhanterings-HSM. Mer information finns i Key Vault dokumentation.
Nyckelvalvs-KEK-URL:er måste vara versionshantering. Azure tillämpar den här begränsningen av versionshantering. Giltiga hemligheter 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 Disk Encryption stöder inte att portnummer anges som en del av key vault-hemligheter och KEK-URL:er. Exempel på URL:er för nyckelvalv som inte stöds och som stöds finns i följande exempel:
- Url till acceptabelt nyckelvalv: https://contosovault.vault.azure.net/secrets/contososecret/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- Oacceptabel nyckelvalvs-URL: https://contosovault.vault.azure.net:443/secrets/contososecret/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Azure CLI
Använd kommandot Azure CLI 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 Azure CLI az vm encryption enable --key-encryption-key parameter.
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 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. Observera att det här exemplet förutsätter att du använder samma nyckelvalv för både diskkrypteringsnyckeln och 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