Azure Disk Encryption-scenarier på virtuella Linux-datorer

Gäller för: ✔️ Virtuella Linux-datorer ✔️ – flexibla skalningsuppsättningar

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.

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 .

Varning

  • Om du tidigare har använt Azure Disk Encryption med 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. Mer information finns i Azure Disk Encryption med Azure AD (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 vm encryption show. 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.

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

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.

Azure PowerShell

Azure PowerShell az-modulen innehåller en uppsättning cmdletar som använder Azure Resource Manager-modellen för att hantera dina Azure-resurser. Du kan använda det i webbläsaren med Azure Cloud Shell, eller så kan du installera det på den lokala datorn med hjälp av anvisningarna i Installera Azure PowerShell-modulen.

Om du redan har installerat det lokalt kontrollerar du att du använder den senaste versionen av Azure PowerShell SDK-versionen för att konfigurera Azure Disk Encryption. Ladda ned den senaste versionen av Azure PowerShell-versionen.

Om du vill logga in på ditt Azure-konto med Azure PowerShell använder du cmdleten Connect-AzAccount .

Connect-AzAccount

Om du har flera prenumerationer och vill ange en använder du cmdleten Get-AzSubscription för att lista dem, följt av cmdleten Set-AzContext :

Set-AzContext -Subscription <SubscriptionId>

Om du kör cmdleten Get-AzContext verifieras att rätt prenumeration har valts.

Om du vill bekräfta att Cmdletarna för Azure Disk Encryption är installerade använder du cmdleten Get-command :

Get-command *diskencryption*

Mer information finns i Komma igång med Azure PowerShell.

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 virtuella datorer kan du läsa artikeln Azure Disk Encryption for Linux-tillägget .

Viktigt

Det är obligatoriskt att ta ögonblicksbilder 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 om det uppstår 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.

Aktivera kryptering på en befintlig eller kör en virtuell Linux-dator med Hjälp av Azure CLI

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]
    

    Anteckning

    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.

Aktivera kryptering på en befintlig eller körande virtuell Linux-dator med Hjälp av PowerShell

Använd cmdleten Set-AzVMDiskEncryptionExtension för att aktivera kryptering på en virtuell dator som körs i Azure. Ta en ögonblicksbild och/eller säkerhetskopiera den virtuella datorn med Azure Backup innan diskarna krypteras. Parametern -skipVmBackup har redan angetts i PowerShell-skripten för att kryptera en virtuell Linux-dator som körs.

  • Kryptera en virtuell dator som körs: Skriptet nedan initierar dina variabler och kör cmdleten Set-AzVMDiskEncryptionExtension. Resursgruppen, den virtuella datorn och nyckelvalvet skapades som förutsättningar. Ersätt MyVirtualMachineResourceGroup, MySecureVM och MySecureVault med dina värden. Ändra parametern -VolumeType för att ange vilka diskar du krypterar.

     $KVRGname = 'MyKeyVaultResourceGroup';
     $VMRGName = 'MyVirtualMachineResourceGroup';
     $vmName = 'MySecureVM';
     $KeyVaultName = 'MySecureVault';
     $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
     $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
     $KeyVaultResourceId = $KeyVault.ResourceId;
     $sequenceVersion = [Guid]::NewGuid();  
    
     Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType '[All|OS|Data]' -SequenceVersion $sequenceVersion -skipVmBackup;
    
  • Kryptera en virtuell dator som körs med hjälp av KEK: Du kan behöva lägga till parametern -VolumeType om du krypterar datadiskar och inte OS-disken.

     $KVRGname = 'MyKeyVaultResourceGroup';
     $VMRGName = 'MyVirtualMachineResourceGroup';
     $vmName = 'MyExtraSecureVM';
     $KeyVaultName = 'MySecureVault';
     $keyEncryptionKeyName = 'MyKeyEncryptionKey';
     $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
     $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
     $KeyVaultResourceId = $KeyVault.ResourceId;
     $keyEncryptionKeyUrl = (Get-AzKeyVaultKey -VaultName $KeyVaultName -Name $keyEncryptionKeyName).Key.kid;
     $sequenceVersion = [Guid]::NewGuid();  
    
     Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $KeyVaultResourceId -VolumeType '[All|OS|Data]' -SequenceVersion $sequenceVersion -skipVmBackup;
    

    Anteckning

    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 cmdleten Get-AzVmDiskEncryptionStatus .

    Get-AzVmDiskEncryptionStatus -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM'
    

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

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

Du kan aktivera diskkryptering på en befintlig eller körande virtuell Linux-dator i Azure med hjälp av Resource Manager-mallen.

  1. Klicka på Distribuera till Azure i azure-snabbstartsmallen.

  2. Välj prenumeration, resursgrupp, resursgruppsplats, parametrar, juridiska villkor och avtal. Klicka på Skapa för att aktivera kryptering på den befintliga eller virtuella datorn som körs.

I följande tabell visas Resource Manager-mallparametrar för befintliga eller virtuella datorer som körs:

Parameter Beskrivning
vmName Namnet på den virtuella dator som ska köra krypteringsåtgärden.
keyVaultName Namnet på nyckelvalvet som krypteringsnyckeln ska laddas upp till. Du kan hämta den med hjälp av cmdleten (Get-AzKeyVault -ResourceGroupName <MyKeyVaultResourceGroupName>). Vaultname eller Azure CLI-kommandot az keyvault list --resource-group "MyKeyVaultResourceGroupName".
keyVaultResourceGroup Namnet på resursgruppen som innehåller nyckelvalvet.
keyEncryptionKeyURL URL för nyckelkrypteringsnyckeln som används för att kryptera krypteringsnyckeln. Den här parametern är valfri om du väljer nokek i listrutan UseExistingKek. Om du väljer kek i listrutan UseExistingKek måste du ange värdet keyEncryptionKeyURL .
volumeType Typ av volym som krypteringsåtgärden utförs på. Giltiga värden är OS, Data och Alla.
forceUpdateTag Skicka in ett unikt värde som ett GUID varje gång åtgärden måste framtvingas.
location Platser för alla resurser.

Mer information om hur du konfigurerar diskkrypteringsmallen för virtuella Linux-datorer finns i Azure Disk Encryption för Linux.

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 fanns före kommandokörningen. Om du vill undanta 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 har monterats tidigare, och krypteringsskiktet startas ovanpå den nu tomma enheten. När det här alternativet har valts krypteras även den tillfälliga 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 kan Inte Microsoft Azure Linux-agenten 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 diskar som du vill undanta ä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 till fstab-filen innan du initierar krypteringsåtgärden.

EncryptFormatAlla 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
  • Monteras

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

Använda parametern EncryptFormatAll med Azure CLI

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ända parametern EncryptFormatAll med en PowerShell-cmdlet

Använd cmdleten Set-AzVMDiskEncryptionExtension med parametern EncryptFormatAll.

Kryptera en virtuell dator som körs med EncryptFormatAll: Till exempel initierar skriptet nedan dina variabler och kör cmdleten Set-AzVMDiskEncryptionExtension med parametern EncryptFormatAll. Resursgruppen, den virtuella datorn och nyckelvalvet skapades som förutsättningar. Ersätt MyVirtualMachineResourceGroup, MySecureVM och MySecureVault med dina värden.

$KVRGname = 'MyKeyVaultResourceGroup';
$VMRGName = 'MyVirtualMachineResourceGroup';
$vmName = 'MySecureVM';
$KeyVaultName = 'MySecureVault';
$KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
$diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
$KeyVaultResourceId = $KeyVault.ResourceId;

Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType "data" -EncryptFormatAll

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

Vi rekommenderar en LVM-on-crypt-konfiguration. För alla följande exempel ersätter du enhetssökvägen och monteringspunkterna med det som passar ditt användningsfall. Den här konfigurationen kan göras på följande sätt:

  1. Lägg till de datadiskar som ska skapa den virtuella datorn.

  2. Formatera, montera och lägg till dessa diskar i fstab-filen.

  3. Välj en partitionsstandard, skapa en partition som sträcker sig över hela enheten och formatera sedan partitionen. Vi använder symlinks som genereras av Azure här. Om du använder symlinks undviker du problem som rör ändring av enhetsnamn. Mer information finns i artikeln Felsöka problem med enhetsnamn .

    parted /dev/disk/azure/scsi1/lun0 mklabel gpt
    parted -a opt /dev/disk/azure/scsi1/lun0 mkpart primary ext4 0% 100%
    
    mkfs -t ext4 /dev/disk/azure/scsi1/lun0-part1
    
  4. Montera diskarna:

    mount /dev/disk/azure/scsi1/lun0-part1 /mnt/mountpoint
    

    Lägg till i fstab-filen:

    echo "/dev/disk/azure/scsi1/lun0-part1 /mnt/mountpoint ext4 defaults,nofail 0 2" >> /etc/fstab
    
  5. Kör cmdleten Azure PowerShell Set-AzVMDiskEncryptionExtension med -EncryptFormatAll för att kryptera dessa diskar.

    $KeyVault = Get-AzKeyVault -VaultName "MySecureVault" -ResourceGroupName "MySecureGroup"
    
    Set-AzVMDiskEncryptionExtension -ResourceGroupName "MySecureGroup" -VMName "MySecureVM" -DiskEncryptionKeyVaultUrl $KeyVault.VaultUri -DiskEncryptionKeyVaultId $KeyVault.ResourceId -EncryptFormatAll -SkipVmBackup -VolumeType Data
    

    Om du vill använda en nyckelkrypteringsnyckel (KEK) skickar du URI:n för din KEK och ResourceID för ditt nyckelvalv till parametrarna -KeyEncryptionKeyUrl respektive -KeyEncryptionKeyVaultId:

    $KeyVault = Get-AzKeyVault -VaultName "MySecureVault" -ResourceGroupName "MySecureGroup"
    $KEKKeyVault = Get-AzKeyVault -VaultName "MyKEKVault" -ResourceGroupName "MySecureGroup"
    $KEK = Get-AzKeyVaultKey -VaultName "myKEKVault" -KeyName "myKEKName"
    
    Set-AzVMDiskEncryptionExtension -ResourceGroupName "MySecureGroup" -VMName "MySecureVM" -DiskEncryptionKeyVaultUrl $KeyVault.VaultUri -DiskEncryptionKeyVaultId $KeyVault.ResourceId -EncryptFormatAll -SkipVmBackup -VolumeType Data -KeyEncryptionKeyUrl $$KEK.id -KeyEncryptionKeyVaultId $KEKKeyVault.ResourceId
    
  6. Konfigurera LVM ovanpå dessa nya diskar. Observera att de krypterade enheterna är upplåst när den virtuella datorn har startats. Därför måste LVM-monteringen också senare fördröjas.

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 med 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 ögonblicksbildera 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 om det uppstår oväntade fel under krypteringen. När en säkerhetskopia har gjorts kan Set-AzVMDiskEncryptionExtension-cmdleten 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 göra 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. Exemplet nedan ger dig 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 först montera den nyligen anslutna datadisken. Du måste begära kryptering av dataenheten eftersom enheten inte kan användas medan kryptering pågår.

Aktivera kryptering på en nyligen tillagda disk med Azure CLI

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 volymtypen "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ändigt 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"
    

Aktivera kryptering på en nyligen tillagda disk med Azure PowerShell

När du använder PowerShell för att kryptera en ny disk för Linux måste en ny sekvensversion anges. Sekvensversionen måste vara unik. Skriptet nedan genererar ett GUID för sekvensversionen. Ta en ögonblicksbild och/eller säkerhetskopiera den virtuella datorn med Azure Backup innan diskarna krypteras. Parametern -skipVmBackup har redan angetts i PowerShell-skripten för att kryptera en nyligen tillagda datadisk.

  • Kryptera datavolymer för en virtuell dator som körs: Skriptet nedan initierar dina variabler och kör cmdleten Set-AzVMDiskEncryptionExtension. Resursgruppen, den virtuella datorn och nyckelvalvet bör redan ha skapats som förutsättningar. Ersätt MyVirtualMachineResourceGroup, MySecureVM och MySecureVault med dina värden. Acceptabla värden för parametern -VolumeType är Alla, OS och Data. Om den virtuella datorn tidigare har krypterats med volymtypen "OS" eller "Alla" ska parametern -VolumeType ändras till "Alla" så att både operativsystemet och den nya datadisken inkluderas.

    $KVRGname = 'MyKeyVaultResourceGroup';
    $VMRGName = 'MyVirtualMachineResourceGroup';
    $vmName = 'MySecureVM';
    $KeyVaultName = 'MySecureVault';
    $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
    $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
    $KeyVaultResourceId = $KeyVault.ResourceId;
    $sequenceVersion = [Guid]::NewGuid();
    
    Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType 'data' –SequenceVersion $sequenceVersion -skipVmBackup;
    
  • Kryptera datavolymer för en virtuell dator som körs med hjälp av KEK: Acceptabla värden för parametern -VolumeType är Alla, OS och Data. Om den virtuella datorn tidigare har krypterats med volymtypen "OS" eller "Alla" ska parametern -VolumeType ändras till Alla så att både operativsystemet och den nya datadisken inkluderas.

     $KVRGname = 'MyKeyVaultResourceGroup';
     $VMRGName = 'MyVirtualMachineResourceGroup';
     $vmName = 'MyExtraSecureVM';
     $KeyVaultName = 'MySecureVault';
     $keyEncryptionKeyName = 'MyKeyEncryptionKey';
     $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
     $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
     $KeyVaultResourceId = $KeyVault.ResourceId;
     $keyEncryptionKeyUrl = (Get-AzKeyVaultKey -VaultName $KeyVaultName -Name $keyEncryptionKeyName).Key.kid;
     $sequenceVersion = [Guid]::NewGuid();
    
     Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $KeyVaultResourceId -VolumeType 'data' –SequenceVersion $sequenceVersion -skipVmBackup;
    

    Anteckning

    Syntaxen för värdet för parametern disk-encryption-keyvault är den fullständiga identifierarsträngen: /subscriptions/[subscription-id-guid]/resourceGroups/[KVresource-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]

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 dekryptera å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 inte är det.

Inaktivera kryptering

Du kan inaktivera kryptering med hjälp av Azure PowerShell, Azure CLI eller med en Resource Manager-mall. Om du inaktiverar kryptering tar du 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"
    

Scenarier som inte stöds

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

  • Kryptera virtuella datorer på basic-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 OPERATIVSYSTEMenheten för VM-skalningsuppsättningar i Linux.
  • 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 Cluster File System).
  • NVMe-diskarna för virtuella datorer i Lsv2-serien (se: Lsv2-serien).
  • 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å serversidan med kundhanterade nycklar (SSE + CMK). Att tillämpa SSE + CMK på en datadisk på 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 som någonsin har krypterats med ADE, till kryptering på serversidan med kundhanterade nycklar.
  • Kryptera virtuella datorer i redundanskluster.
  • Kryptering av Ultra Disks i Azure.

Nästa steg