Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
Azure Disk Encryption för virtuella datorer och VM-skalningsuppsättningar dras tillbaka den 15 september 2028. Nya kunder bör använda kryptering på värdnivå för alla nya virtuella datorer. Befintliga kunder bör planera att migrera nuvarande ADE-aktiverade virtuella datorer till kryptering på värdserver före slutdatumet för att undvika avbrott i tjänsten – se Migrera från Azure Disk Encryption till kryptering på värdserver.
Azure CLI används för att skapa och hantera Azure-resurser från kommandoraden eller i skript. Den här snabbstarten visar hur du använder Azure CLI för att skapa och kryptera en VM-skalningsuppsättning. Mer information om hur du tillämpar Azure Disk-kryptering på en VM-skalningsuppsättning finns i Azure Disk Encryption for Virtual Machine Scale Sets (Azure Disk Encryption for Virtual Machine Scale Sets).
Förutsättningar
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Kom igång med Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör på Windows eller macOS, överväg att köra Azure CLI i en Docker-container. För mer information, se Hur man kör Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. För att avsluta autentiseringsprocessen, följ stegen som visas i din terminal. Andra inloggningsalternativ finns i Autentisera till Azure med Azure CLI.
När du blir uppmanad, installera Azure CLI-tillägget vid första användning. Mer information om tillägg finns i Använda och hantera tillägg med Azure CLI.
Kör az version för att ta reda på versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
- Den här artikeln kräver version 2.0.31 eller senare av Azure CLI. Om du använder Azure Cloud Shell är den senaste versionen redan installerad.
** Skapa ett skalningsset
Innan du kan skapa en skalningsuppsättning skapar du en resursgrupp med az group create. I följande exempel skapas en resursgrupp med namnet myResourceGroup på platsen eastus:
az group create --name myResourceGroup --location eastus
Skapa nu en VM-skalningsuppsättning med az vmss create. I följande exempel skapas en skalningsuppsättning med namnet myScaleSet som är inställd på att uppdateras automatiskt när ändringarna tillämpas och genererar SSH-nycklar om de inte finns i ~/.ssh/id_rsa. En 32 Gb-datadisk är ansluten till varje VM-instans och Azure Custom Script Extension används för att förbereda datadiskarna med az vmss extension set:
Viktigt!
Se till att välja operativsystem som stöds med ADE. Operativsystem som stöds för ADE.
# Create a scale set with attached data disk
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--orchestration-mode Flexible \
--image <SKU Linux Image> \
--admin-username azureuser \
--generate-ssh-keys \
--data-disk-sizes-gb 32
# Prepare the data disk for use with the Custom Script Extension
az vmss extension set \
--publisher Microsoft.Azure.Extensions \
--version 2.0 \
--name CustomScript \
--resource-group myResourceGroup \
--vmss-name myScaleSet \
--settings '{"fileUris":["https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/prepare_vm_disks.sh"],"commandToExecute":"./prepare_vm_disks.sh"}'
Det tar några minuter att skapa och konfigurera alla skalningsuppsättningsresurser och virtuella datorer.
Skapa ett Azure-nyckelvalv aktiverat för diskkryptering
Azure Key Vault kan lagra nycklar, hemligheter eller lösenord som gör att du på ett säkert sätt kan implementera dem i dina program och tjänster. Kryptografiska nycklar lagras i Azure Key Vault med hjälp av programvaruskydd, eller så kan du importera eller generera dina nycklar i maskinvarusäkerhetsmoduler (HSM) som är certifierade enligt FIPS 140-verifierade standarder. Dessa kryptografiska nycklar används för att kryptera och dekryptera virtuella diskar som är anslutna till den virtuella datorn. Du behåller kontrollen över dessa kryptografiska nycklar och kan granska deras användning.
Definiera dina egna unika keyvault_name. Skapa sedan ett nyckelvalv med az keyvault create i samma prenumeration och region som skalningsuppsättningen, och ange åtkomstprincipen --enabled-for-disk-encryption.
# Provide your own unique Key Vault name
keyvault_name=myuniquekeyvaultname
# Create Key Vault
az keyvault create --resource-group myResourceGroup --name $keyvault_name --enabled-for-disk-encryption
Använda ett befintligt Key Vault
Det här steget krävs bara om du har ett befintligt Key Vault som du vill använda med diskkryptering. Hoppa över det här steget om du skapade ett Key Vault i föregående avsnitt.
Definiera dina egna unika keyvault_name. Sedan uppdaterade du din KeyVault med az keyvault update och ställer in åtkomstpolicyn --enabled-for-disk-encryption.
# Provide your own unique Key Vault name
keyvault_name=myuniquekeyvaultname
# Create Key Vault
az keyvault update --name $keyvault_name --enabled-for-disk-encryption
Aktivera kryptering
Anmärkning
Om du använder Virtual Machine Scale Sets i flexibelt orkestreringsläge kommer endast nya instanser att krypteras. Befintliga instanser i skalningsuppsättningen måste krypteras individuellt eller tas bort och ersättas.
För att kryptera VM-instanser i en skalfördelningsuppsättning, skaffa först information om Key Vault-resurs-ID:t med az keyvault show. Dessa variabler används för att sedan starta krypteringsprocessen med az vmss encryption enable:
# Get the resource ID of the Key Vault
vaultResourceId=$(az keyvault show --resource-group myResourceGroup --name $keyvault_name --query id -o tsv)
# Enable encryption of the data disks in a scale set
az vmss encryption enable \
--resource-group myResourceGroup \
--name myScaleSet \
--disk-encryption-keyvault $vaultResourceId \
--volume-type DATA
Det kan ta en minut eller två innan krypteringsprocessen startar.
Eftersom uppgraderingsprincipen för skalningsuppsättningen som skapades i ett tidigare steg är inställd på automatisk, startar de virtuella datorinstanserna automatiskt krypteringsprocessen. Kör krypteringsprincipen på de virtuella datorinstanserna med az vmss update-instances i skalningsuppsättningar där uppgraderingsprincipen är manuell.
Aktivera kryptering med KEK för att omsluta nyckeln
Du kan också använda en "Key Encryption Key" för ökad säkerhet när du krypterar "Virtual Machine Scale Set".
# Get the resource ID of the Key Vault
vaultResourceId=$(az keyvault show --resource-group myResourceGroup --name $keyvault_name --query id -o tsv)
# Enable encryption of the data disks in a scale set
az vmss encryption enable \
--resource-group myResourceGroup \
--name myScaleSet \
--disk-encryption-keyvault $vaultResourceId \
--key-encryption-key myKEK \
--key-encryption-keyvault $vaultResourceId \
--volume-type DATA
Anmärkning
Syntaxen för värdet för parametern disk-encryption-keyvault är den fullständiga identifierarsträngen:
/subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault--name]
Syntaxen för värdet för parametern key-encryption-key är den fullständiga URI:n för KEK som i:
https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]
Kontrollera krypteringsstatus
Om du vill kontrollera status för diskkryptering använder du az vmss encryption show:
az vmss encryption show --resource-group myResourceGroup --name myScaleSet
När virtuella datorinstanser krypteras rapporterar statuskoden EncryptionState/krypterad, enligt följande exempelutdata:
[
{
"disks": [
{
"encryptionSettings": null,
"name": "myScaleSet_myScaleSet_0_disk2_3f39c2019b174218b98b3dfae3424e69",
"statuses": [
{
"additionalProperties": {},
"code": "EncryptionState/encrypted",
"displayStatus": "Encryption is enabled on disk",
"level": "Info",
"message": null,
"time": null
}
]
}
],
"id": "/subscriptions/guid/resourceGroups/MYRESOURCEGROUP/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet/virtualMachines/0",
"resourceGroup": "MYRESOURCEGROUP"
}
]
Inaktivera kryptering
Om du inte längre vill använda krypterade VM-instanser kan du inaktivera kryptering med az vmss encryption disable enligt följande:
az vmss encryption disable --resource-group myResourceGroup --name myScaleSet
Nästa steg
- I den här artikeln använde du Azure CLI för att kryptera en VM-skalningsuppsättning. Du kan också använda Azure PowerShell - eller Azure Resource Manager-mallar.
- Om du vill att Azure Disk Encryption ska tillämpas efter att ett annat tillägg har etablerats kan du använda tilläggssekvensering.
- Här finns ett exempel på en batchfil från slutpunkt till slutpunkt för datadiskkryptering för Linux-skalningsuppsättningar. Det här exemplet skapar en resursgrupp, En Linux-skalningsuppsättning, monterar en 5 GB datadisk och krypterar vm-skalningsuppsättningen.