Azure Disk Encryption-scenarier på virtuella Linux-datorer

Gäller för: ✔️ Flexibla skalningsuppsättningar för virtuella Linux-datorer ✔️

Azure Disk Encryption för virtuella Linux-datorer (VM) använder DM-Crypt-funktionen i Linux för att tillhandahålla fullständig diskkryptering av OS-disken och datadiskar. Dessutom tillhandahåller den kryptering av den tillfälliga disken när du använder funktionen EncryptFormatAll.

Azure Disk Encryption är integrerat med Azure Key Vault för att hjälpa dig att styra och hantera diskkrypteringsnycklar och hemligheter. En översikt över tjänsten finns i Azure Disk Encryption för virtuella Linux-datorer.

Förutsättningar

Du kan bara använda diskkryptering på virtuella datorer med VM-storlekar och operativsystem som stöds. Du måste också uppfylla följande krav:

I samtliga fall bör du ta en ögonblicksbild och/eller skapa en säkerhetskopia innan diskarna krypteras. Säkerhetskopior säkerställer att ett återställningsalternativ är möjligt om ett oväntat fel inträffar under krypteringen. Virtuella datorer med hanterade diskar kräver en säkerhetskopia innan kryptering sker. När en säkerhetskopia har gjorts kan du använda cmdleten Set-AzVMDiskEncryptionExtension för att kryptera hanterade diskar genom att ange parametern -skipVmBackup. Mer information om hur du säkerhetskopierar och återställer krypterade virtuella datorer finns i artikeln Azure Backup .

Begränsningar

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 Azure Disk Encryption med Microsoft Entra ID (tidigare version).

När du krypterar Linux OS-volymer bör den virtuella datorn betraktas som otillgänglig. Vi rekommenderar starkt att du undviker SSH-inloggningar medan krypteringen pågår för att undvika problem med blockering av öppna filer som måste nås under krypteringsprocessen. Om du vill kontrollera förloppet använder du PowerShell-cmdleten Get-AzVMDiskEncryptionStatus eller cli-kommandot för vm-kryptering. Den här processen kan förväntas ta några timmar för en OS-volym på 30 GB, plus ytterligare tid för kryptering av datavolymer. Krypteringstiden för datavolymer är proportionell mot storleken och kvantiteten på datavolymerna, såvida inte alternativet alla för krypteringsformat används.

Inaktivering av kryptering på virtuella Linux-datorer stöds endast för datavolymer. Det stöds inte för data- eller OS-volymer om OS-volymen har krypterats.

Azure Disk Encryption fungerar inte för följande scenarier, funktioner och tekniker för Linux:

  • Kryptera virtuella datorer på grundläggande nivå eller virtuella datorer som skapats via den klassiska metoden för att skapa virtuella datorer.
  • Inaktivera kryptering på en OS-enhet eller dataenhet på en virtuell Linux-dator när OS-enheten är krypterad.
  • Kryptera OS-enheten för Skalningsuppsättningar för virtuella Linux-datorer.
  • Kryptera anpassade avbildningar på virtuella Linux-datorer.
  • Integrering med ett lokalt nyckelhanteringssystem.
  • Azure Files (delat filsystem).
  • NFS (Network File System).
  • Dynamiska volymer.
  • Tillfälliga OS-diskar.
  • Kryptering av delade/distribuerade filsystem som (men inte begränsat till): DFS, GFS, DRDB och CephFS.
  • Flytta en krypterad virtuell dator till en annan prenumeration eller region.
  • Skapa en avbildning eller ögonblicksbild av en krypterad virtuell dator och använda den för att distribuera ytterligare virtuella datorer.
  • Kernel Crash Dump (kdump).
  • Oracle ACFS (ASM-klusterfilsystem).
  • NVMe-diskar, till exempel på VM-storlekar med höga prestanda eller lagringsoptimerade VM-storlekar.
  • En virtuell dator med "kapslade monteringspunkter"; det vill: flera monteringspunkter i en enda sökväg (till exempel "/1stmountpoint/data/2stmountpoint").
  • En virtuell dator med en dataenhet monterad ovanpå en OS-mapp.
  • En virtuell dator där en logisk rotvolym (OS-disk) har utökats med hjälp av en datadisk.
  • Virtuella datorer i M-serien med skrivacceleratordiskar.
  • Tillämpa ADE på en virtuell dator som har diskar krypterade med kryptering på värd - eller serversidan med kundhanterade nycklar (SSE + CMK). Att använda SSE + CMK på en datadisk eller lägga till en datadisk med SSE + CMK konfigurerat till en virtuell dator som krypterats med ADE är också ett scenario som inte stöds.
  • Migrera en virtuell dator som är krypterad med ADE, eller någonsin har krypterats med ADE, till kryptering på värd- eller serversidan med kundhanterade nycklar.
  • Kryptera virtuella datorer i redundanskluster.
  • Kryptering av Azure-ultradiskar.
  • Kryptering av Premium SSD v2-diskar.
  • Kryptering av virtuella datorer i prenumerationer som har hemligheter bör ha den angivna principen för maximal giltighetsperiod aktiverad med DENY-effekten.

Installera verktyg och ansluta till Azure

Azure Disk Encryption kan aktiveras och hanteras via Azure CLI och Azure PowerShell. För att göra det måste du installera verktygen lokalt och ansluta till din Azure-prenumeration.

Azure CLI 2.0 är ett kommandoradsverktyg för att hantera Azure-resurser. CLI är utformat för att flexibelt fråga efter data, stödja långvariga åtgärder som icke-blockerande processer och göra skript enkelt. Du kan installera det lokalt genom att följa stegen i Installera Azure CLI.

Om du vill logga in på ditt Azure-konto med Azure CLI använder du kommandot az login .

az login

Om du vill välja en klientorganisation att logga in under använder du:

az login --tenant <tenant>

Om du har flera prenumerationer och vill ange en specifik prenumerationslista hämtar du din prenumerationslista med az account list och anger med az account set.

az account list
az account set --subscription "<subscription name or ID>"

Mer information finns i Kom igång med Azure CLI 2.0.

Aktivera kryptering på en befintlig eller körande virtuell Linux-dator

I det här scenariot kan du aktivera kryptering med hjälp av Resource Manager-mallen, PowerShell-cmdletar eller CLI-kommandon. Om du behöver schemainformation för tillägget för den virtuella datorn kan du läsa artikeln azure diskkryptering för Linux-tillägget .

Viktigt!

Det är obligatoriskt att ögonblicksbilda och/eller säkerhetskopiera en hanterad diskbaserad VM-instans utanför och innan du aktiverar Azure Disk Encryption. En ögonblicksbild av den hanterade disken kan tas från portalen eller via Azure Backup. Säkerhetskopior säkerställer att ett återställningsalternativ är möjligt vid oväntade fel under krypteringen. När en säkerhetskopia har gjorts kan cmdleten Set-AzVMDiskEncryptionExtension användas för att kryptera hanterade diskar genom att ange parametern -skipVmBackup. Kommandot Set-AzVMDiskEncryptionExtension misslyckas mot hanterade diskbaserade virtuella datorer tills en säkerhetskopia har gjorts och den här parametern har angetts.

Kryptering eller inaktivering av kryptering kan leda till att den virtuella datorn startas om.

Information om hur du inaktiverar kryptering finns i Inaktivera kryptering och ta bort krypteringstillägget.

Du kan aktivera diskkryptering på din krypterade virtuella hårddisk genom att installera och använda azure CLI-kommandoradsverktyget . Du kan använda det i webbläsaren med Azure Cloud Shell eller installera det på din lokala dator och använda det i PowerShell-sessioner. Om du vill aktivera kryptering på befintliga eller virtuella Linux-datorer i Azure använder du följande CLI-kommandon:

Använd kommandot az vm encryption enable för att aktivera kryptering på en virtuell dator som körs i Azure.

  • Kryptera en virtuell dator som körs:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type [All|OS|Data]
    
  • Kryptera en virtuell dator som körs med hjälp av KEK:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault  "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type [All|OS|Data]
    

    Kommentar

    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 att diskarna är krypterade: Om du vill kontrollera krypteringsstatusen för en virtuell dator använder du kommandot az vm encryption show .

    az vm encryption show --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup"
    

Information om hur du inaktiverar kryptering finns i Inaktivera kryptering och ta bort krypteringstillägget.

Använda EncryptFormatAll-funktionen för datadiskar på virtuella Linux-datorer

Parametern EncryptFormatAll minskar tiden för Att kryptera Linux-datadiskar. Partitioner som uppfyller vissa kriterier formateras, tillsammans med deras aktuella filsystem, och monteras sedan tillbaka till där de var före kommandokörningen. Om du vill exkludera en datadisk som uppfyller kriterierna kan du demontera den innan du kör kommandot.

När du har kört det här kommandot formateras alla enheter som monterades tidigare och krypteringsskiktet startas ovanpå den nu tomma enheten. När det här alternativet har valts krypteras även den temporära disk som är ansluten till den virtuella datorn. Om den tillfälliga disken återställs formateras den om och krypteras om för den virtuella datorn av Azure Disk Encryption-lösningen vid nästa tillfälle. När resursdisken har krypterats kommer Microsoft Azure Linux-agenten inte att kunna hantera resursdisken och aktivera växlingsfilen, men du kan konfigurera växlingsfilen manuellt.

Varning

EncryptFormatAll bör inte användas när det behövs data på en virtuell dators datavolymer. Du kan undanta diskar från kryptering genom att demontera dem. Du bör först prova EncryptFormatAll först på en virtuell testdator, förstå funktionsparametern och dess implikation innan du provar den på den virtuella produktionsdatorn. Alternativet EncryptFormatAll formaterar datadisken och alla data på den går förlorade. Innan du fortsätter kontrollerar du att diskarna som du vill exkludera är korrekt omonterade.

Om du ställer in den här parametern när du uppdaterar krypteringsinställningarna kan det leda till en omstart före den faktiska krypteringen. I det här fallet vill du också ta bort disken som du inte vill formatera från fstab-filen. På samma sätt bör du lägga till den partition som du vill kryptera-formatera till fstab-filen innan du initierar krypteringsåtgärden.

EncryptFormatAll-villkor

Parametern går igenom alla partitioner och krypterar dem så länge de uppfyller alla kriterier nedan:

  • Är inte en rot-/OS/startpartition
  • Är inte redan krypterad
  • Är inte en BEK-volym
  • Är inte en RAID-volym
  • Är inte en LVM-volym
  • Är monterad

Kryptera diskarna som utgör RAID- eller LVM-volymen i stället för RAID- eller LVM-volymen.

Använd kommandot az vm encryption enable för att aktivera kryptering på en virtuell dator som körs i Azure.

  • Kryptera en virtuell dator som körs med EncryptFormatAll:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type "data" --encrypt-format-all
    

Använd parametern EncryptFormatAll med Logical Volume Manager (LVM)

Vi rekommenderar en LVM-on-crypt-konfiguration. Detaljerade instruktioner om LVM för kryptkonfiguration finns i Konfigurera LVM och RAID på ADE-krypterade enheter.

Nya virtuella datorer som skapats från kundkrypterad virtuell hårddisk och krypteringsnycklar

I det här scenariot kan du aktivera kryptering med hjälp av PowerShell-cmdletar eller CLI-kommandon.

Använd anvisningarna i Azure Disk-kryptering samma skript för att förbereda förkrypterade avbildningar som kan användas i Azure. När avbildningen har skapats kan du använda stegen i nästa avsnitt för att skapa en krypterad virtuell Azure-dator.

Viktigt!

Det är obligatoriskt att ögonblicksbilda och/eller säkerhetskopiera en hanterad diskbaserad VM-instans utanför och innan du aktiverar Azure Disk Encryption. En ögonblicksbild av den hanterade disken kan tas från portalen, eller så kan Azure Backup användas. Säkerhetskopior säkerställer att ett återställningsalternativ är möjligt vid oväntade fel under krypteringen. När en säkerhetskopia har gjorts kan cmdleten Set-AzVMDiskEncryptionExtension användas för att kryptera hanterade diskar genom att ange parametern -skipVmBackup. Kommandot Set-AzVMDiskEncryptionExtension misslyckas mot hanterade diskbaserade virtuella datorer tills en säkerhetskopia har gjorts och den här parametern har angetts.

Kryptering eller inaktivering av kryptering kan leda till att den virtuella datorn startas om.

Använda Azure PowerShell för att kryptera virtuella datorer med förkrypterade virtuella hårddiskar

Du kan aktivera diskkryptering på din krypterade virtuella hårddisk med hjälp av PowerShell-cmdleten Set-AzVMOSDisk. I exemplet nedan visas några vanliga parametrar.

$VirtualMachine = New-AzVMConfig -VMName "MySecureVM" -VMSize "Standard_A1"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name "SecureOSDisk" -VhdUri "os.vhd" Caching ReadWrite -Linux -CreateOption "Attach" -DiskEncryptionKeyUrl "https://mytestvault.vault.azure.net/secrets/Test1/514ceb769c984379a7e0230bddaaaaaa" -DiskEncryptionKeyVaultId "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.KeyVault/vaults/mytestvault"
New-AzVM -VM $VirtualMachine -ResourceGroupName "MyVirtualMachineResourceGroup"

Aktivera kryptering på en nyligen tillagda datadisk

Du kan lägga till en ny datadisk med az vm disk attach eller via Azure-portalen. Innan du kan kryptera måste du montera den nyligen anslutna datadisken först. Du måste begära kryptering av dataenheten eftersom enheten inte kan användas medan kryptering pågår.

Om den virtuella datorn tidigare har krypterats med "Alla" ska parametern --volume-type förbli "Alla". Alla innehåller både OS- och datadiskar. Om den virtuella datorn tidigare har krypterats med en volymtyp av "OS" bör parametern --volume-type ändras till "Alla" så att både operativsystemet och den nya datadisken inkluderas. Om den virtuella datorn krypterades med endast volymtypen "Data" kan den förbli "Data" enligt nedan. Det räcker inte med att lägga till och koppla en ny datadisk till en virtuell dator för kryptering. Den nyligen anslutna disken måste också formateras och monteras korrekt i den virtuella datorn innan kryptering aktiveras. På Linux måste disken monteras i /etc/fstab med ett beständiga blockenhetsnamn.

Till skillnad från PowerShell-syntaxen kräver CLI inte att användaren tillhandahåller en unik sekvensversion när kryptering aktiveras. CLI genererar och använder automatiskt sitt eget unika sekvensversionsvärde.

  • Kryptera datavolymer för en virtuell dator som körs:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type "Data"
    
  • Kryptera datavolymer för en virtuell dator som körs med hjälp av KEK:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault  "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type "Data"
    

Inaktivera kryptering och ta bort krypteringstillägget

Du kan inaktivera Azure-diskkrypteringstillägget och du kan ta bort Azure-diskkrypteringstillägget. Det här är två distinkta åtgärder.

Om du vill ta bort ADE rekommenderar vi att du först inaktiverar kryptering och sedan tar bort tillägget. Om du tar bort krypteringstillägget utan att inaktivera det krypteras diskarna fortfarande. Om du inaktiverar kryptering när du har tagit bort tillägget installeras tillägget om (för att utföra dekrypteringsåtgärden) och måste tas bort en andra gång.

Varning

Du kan inte inaktivera kryptering om OS-disken är krypterad. (OS-diskar krypteras när den ursprungliga krypteringsåtgärden anger volumeType=ALL eller volumeType=OS.)

Inaktivering av kryptering fungerar bara när datadiskar krypteras, men os-disken är det inte.

Inaktivera kryptering

Du kan inaktivera kryptering med hjälp av Azure PowerShell, Azure CLI eller med en Resource Manager-mall. Inaktivering av kryptering tar inte bort tillägget (se Ta bort krypteringstillägget).

  • Inaktivera diskkryptering med Azure PowerShell: Om du vill inaktivera krypteringen använder du cmdleten Disable-AzVMDiskEncryption .

    Disable-AzVMDiskEncryption -ResourceGroupName "MyVirtualMachineResourceGroup" -VMName "MySecureVM" -VolumeType "data"
    
  • Inaktivera kryptering med Azure CLI: Om du vill inaktivera kryptering använder du kommandot az vm encryption disable .

    az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type "data"
    
  • Inaktivera kryptering med en Resource Manager-mall:

    1. Klicka på Distribuera till Azure från mallen Inaktivera diskkryptering vid körning av virtuella Linux-datorer .
    2. Välj prenumeration, resursgrupp, plats, virtuell dator, volymtyp, juridiska villkor och avtal.
    3. Klicka på Köp för att inaktivera diskkryptering på en virtuell Linux-dator som körs.

Ta bort krypteringstillägget

Om du vill dekryptera diskarna och ta bort krypteringstillägget måste du inaktivera kryptering innan du tar bort tillägget. Se inaktivera kryptering.

Du kan ta bort krypteringstillägget med Hjälp av Azure PowerShell eller Azure CLI.

  • Inaktivera diskkryptering med Azure PowerShell: Om du vill ta bort krypteringen använder du cmdleten Remove-AzVMDiskEncryptionExtension .

    Remove-AzVMDiskEncryptionExtension -ResourceGroupName "MyVirtualMachineResourceGroup" -VMName "MySecureVM"
    
  • Inaktivera kryptering med Azure CLI: Om du vill ta bort kryptering använder du kommandot az vm extension delete .

    az vm extension delete -g "MyVirtualMachineResourceGroup" --vm-name "MySecureVM" -n "AzureDiskEncryptionForLinux"
    

Nästa steg