Aktivera Azure Disk Encryption med Microsoft Entra-ID på virtuella Linux-datorer (tidigare version)

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

Den nya versionen av Azure Disk Encryption eliminerar kravet på att tillhandahålla en Microsoft Entra-programparameter för att aktivera diskkryptering för virtuella datorer. Med den nya versionen behöver du inte längre ange Microsoft Entra-autentiseringsuppgifter under steget aktivera kryptering. Alla nya virtuella datorer måste krypteras utan Microsoft Entra-programparametrarna med hjälp av den nya versionen. Anvisningar om hur du aktiverar diskkryptering för virtuella datorer med hjälp av den nya versionen finns i Azure Disk Encryption for Linux VMS (Azure Disk Encryption for Linux VMS). Virtuella datorer som redan har krypterats med Microsoft Entra-programparametrar stöds fortfarande och bör fortsätta att underhållas med Microsoft Entra-syntaxen.

Du kan aktivera många diskkrypteringsscenarier och stegen kan variera beroende på scenariot. Följande avsnitt beskriver scenarierna mer detaljerat för virtuella IaaS-datorer (Infrastruktur som en tjänst i Linux). 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:

Ta en ögonblicksbild, gör en säkerhetskopia eller båda innan du krypterar diskarna. 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 Azure Backup.

Varning

  • Om du tidigare använde Azure Disk Encryption med Microsoft Entra-appen för att kryptera den virtuella datorn måste du fortsätta att använda det här alternativet för att kryptera den virtuella datorn. Du kan inte använda Azure Disk Encryption på den här krypterade virtuella datorn eftersom det inte är ett scenario som stöds, vilket innebär att det inte stöds att växla bort från Microsoft Entra-programmet för den krypterade virtuella datorn ännu.
  • För att säkerställa att krypteringshemligheterna inte korsar regionala gränser behöver Azure Disk Encryption nyckelvalvet och de virtuella datorerna ska finnas i samma region. Skapa och använd ett nyckelvalv som finns i samma region som den virtuella datorn som ska krypteras.
  • När du krypterar Linux OS-volymer kan processen ta några timmar. Det är normalt att Linux OS-volymer tar längre tid än datavolymer att kryptera.
  • 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 att blockera alla öppna filer som behöver nås under krypteringsprocessen. Om du vill kontrollera förloppet använder du kommandona Get-AzVMDiskEncryptionStatus eller vm encryption show . Du kan förvänta dig att den här processen tar några timmar för en 30 GB OS-volym, plus ytterligare tid för kryptering av datavolymer. Datavolymkrypteringstiden är proportionell mot datavolymernas storlek och kvantitet om inte alla alternativ för krypteringsformat används.
  • Inaktivering av kryptering på virtuella Linux-datorer stöds endast för datavolymer. Det stöds inte på data- eller OS-volymer om OS-volymen har krypterats.

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

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

Viktigt!

Det är obligatoriskt att ta en ögonblicksbild eller säkerhetskopiera en hanterad diskbaserad vm-instans utanför och innan du aktiverar Azure Disk Encryption. Du kan ta en ögonblicksbild av den hanterade disken från Azure-portalen eller använda 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 använder du cmdleten Set-AzVMDiskEncryptionExtension för att kryptera hanterade diskar genom att ange parametern -skipVmBackup. Kommandot Set-AzVMDiskEncryptionExtension misslyckas mot hanterade diskbaserade virtuella datorer tills en säkerhetskopia görs och den här parametern har angetts.

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

Aktivera kryptering på en befintlig eller körande 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 kommandoradsverktyget Azure CLI 2.0 . 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 köra virtuella IaaS 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 IaaS-dator som körs i Azure.

  • Kryptera en virtuell dator som körs med hjälp av en klienthemlighet:

        az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI/my Azure AD ClientID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault "MySecureVault" --volume-type [All|OS|Data]
    
  • Kryptera en virtuell dator som körs med hjälp av KEK för att omsluta klienthemligheten:

        az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI which is the Azure AD ClientID>"  --aad-client-secret "My-AAD-client-secret" --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 IaaS-dator använder du kommandot az vm encryption show .

        az vm encryption show --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup"
    
  • Inaktivera kryptering: Om du vill inaktivera kryptering använder du kommandot az vm encryption disable . Inaktivering av kryptering tillåts endast på datavolymer för virtuella Linux-datorer.

        az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type DATA
    

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 IaaS-dator som körs i Azure. Ta en ögonblicksbild eller gör en säkerhetskopia av 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 med hjälp av en klienthemlighet: Följande skript initierar dina variabler och kör cmdleten Set-AzVMDiskEncryptionExtension. Resursgruppen, den virtuella datorn, nyckelvalvet, Microsoft Entra-appen och klienthemligheten bör redan ha skapats som förutsättningar. Ersätt MyVirtualMachineResourceGroup, MyKeyVaultResourceGroup, MySecureVM, MySecureVault, My-AAD-client-ID och My-AAD-client-secret med dina värden. Ändra parametern -VolumeType för att ange vilka diskar du krypterar.

        $VMRGName = 'MyVirtualMachineResourceGroup';
        $KVRGname = 'MyKeyVaultResourceGroup';
        $vmName = 'MySecureVM';
        $aadClientID = 'My-AAD-client-ID';
        $aadClientSecret = 'My-AAD-client-secret';
        $KeyVaultName = 'MySecureVault';
        $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
        $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
        $KeyVaultResourceId = $KeyVault.ResourceId;
        $sequenceVersion = [Guid]::NewGuid();
    
        Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType '[All|OS|Data]' -SequenceVersion $sequenceVersion -skipVmBackup;
    
  • Kryptera en virtuell dator som körs med hjälp av KEK för att omsluta klienthemligheten: Med Azure Disk Encryption kan du ange en befintlig nyckel i nyckelvalvet för att omsluta diskkrypteringshemligheter som genererades när kryptering aktiverades. När en nyckelkrypteringsnyckel anges använder Azure Disk Encryption den nyckeln för att omsluta krypteringshemligheterna innan du skriver till nyckelvalvet. Ändra parametern -VolumeType för att ange vilka diskar du krypterar.

        $KVRGname = 'MyKeyVaultResourceGroup';
        $VMRGName = 'MyVirtualMachineResourceGroup';
        $aadClientID = 'My-AAD-client-ID';
        $aadClientSecret = 'My-AAD-client-secret';
        $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 -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $KeyVaultResourceId -VolumeType '[All|OS|Data]' -SequenceVersion $sequenceVersion -skipVmBackup;
    

    Kommentar

    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].

  • Kontrollera att diskarna är krypterade: Om du vill kontrollera krypteringsstatusen för en virtuell IaaS-dator använder du cmdleten Get-AzVmDiskEncryptionStatus .

        Get-AzVmDiskEncryptionStatus -ResourceGroupName MyVirtualMachineResourceGroup -VMName MySecureVM
    
  • Inaktivera diskkryptering: Om du vill inaktivera krypteringen använder du cmdleten Disable-AzureRmVMDiskEncryption . Inaktivering av kryptering tillåts endast på datavolymer för virtuella Linux-datorer.

        Disable-AzVMDiskEncryption -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM'
    

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

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

  1. Välj Distribuera till Azure i Azure-snabbstartsmallen.

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

I följande tabell visas Resource Manager-mallparametrar för befintliga eller virtuella datorer som använder ett Microsoft Entra-klient-ID:

Parameter Beskrivning
AADClientID Klient-ID för Microsoft Entra-programmet som har behörighet att skriva hemligheter till nyckelvalvet.
AADClientSecret Klienthemlighet för Microsoft Entra-programmet som har behörighet att skriva hemligheter till ditt nyckelvalv.
keyVaultName Namnet på nyckelvalvet som nyckeln ska laddas upp till. Du kan hämta den med hjälp av Azure CLI-kommandot az keyvault show --name "MySecureVault" --query KVresourceGroup.
keyEncryptionKeyURL URL för nyckelkrypteringsnyckeln som används för att kryptera den genererade nyckeln. 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 som stöds är OS eller Alla. (Se Linux-distributioner som stöds och deras versioner för operativsystem och datadiskar i avsnittet om förhandskrav tidigare.)
sequenceVersion Sekvensversion av BitLocker-åtgärden. Öka det här versionsnumret varje gång en diskkrypteringsåtgärd utförs på samma virtuella dator.
vmName Namnet på den virtuella dator som krypteringsåtgärden ska utföras på.
lösenfras Ange en stark lösenfras som datakrypteringsnyckel.

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

Parametern EncryptFormatAll minskar tiden för Att kryptera Linux-datadiskar. Partitioner som uppfyller vissa villkor är formaterade (med deras aktuella filsystem). Sedan monteras de 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 har monterats tidigare. Sedan börjar krypteringsskiktet 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 enheten återställs formateras den om och krypteras om för den virtuella datorn av Azure Disk Encryption-lösningen vid nästa tillfälle.

Varning

EncryptFormatAll ska 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. Prova parametern EncryptFormatAll på en virtuell testdator först för att förstå funktionsparametern och dess implikation innan du provar den på den virtuella produktionsdatorn. Alternativet EncryptFormatAll formaterar datadisken så att alla data på den går förlorade. Innan du fortsätter kontrollerar du att alla diskar som du vill exkludera är korrekt omonterade.

Om du anger 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 i 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 följande kriterier:

  • Ä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ända parametern EncryptFormatAll med en mall

Om du vill använda alternativet EncryptFormatAll använder du valfri befintlig Azure Resource Manager-mall som krypterar en virtuell Linux-dator och ändrar fältet EncryptionOperation för AzureDiskEncryption-resursen.

  1. Använd till exempel Resource Manager-mallen för att kryptera en virtuell Linux IaaS-dator som körs.
  2. Välj Distribuera till Azure i Azure-snabbstartsmallen.
  3. Ändra fältet EncryptionOperation från EnableEncryption till EnableEncryptionFormatAl.
  4. Välj prenumeration, resursgrupp, resursgruppsplats, andra parametrar, juridiska villkor och avtal. Välj Skapa för att aktivera kryptering på den befintliga eller körande virtuella IaaS-datorn.

Använda parametern EncryptFormatAll med en PowerShell-cmdlet

Använd cmdleten Set-AzVMDiskEncryptionExtension med parametern EncryptFormatAll.

Kryptera en virtuell dator som körs med hjälp av en klienthemlighet och EncryptFormatAll: Som ett exempel initierar följande skript dina variabler och kör cmdleten Set-AzVMDiskEncryptionExtension med parametern EncryptFormatAll. Resursgruppen, den virtuella datorn, nyckelvalvet, Microsoft Entra-appen och klienthemligheten bör redan ha skapats som förutsättningar. Ersätt MyKeyVaultResourceGroup, MyVirtualMachineResourceGroup, MySecureVM, MySecureVault, My-AAD-client-ID och My-AAD-client-secret med dina värden.

  $KVRGname = 'MyKeyVaultResourceGroup';
  $VMRGName = 'MyVirtualMachineResourceGroup';
  $aadClientID = 'My-AAD-client-ID';
  $aadClientSecret = 'My-AAD-client-secret';
  $KeyVaultName = 'MySecureVault';
  $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
  $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
  $KeyVaultResourceId = $KeyVault.ResourceId;

  Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -EncryptFormatAll

Använd 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:

  • Lägg till de datadiskar som ska bestå av den virtuella datorn.

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

    1. Formatera den nyligen tillagda disken. Vi använder symlinks som genereras av Azure här. Om du använder symlinks undviks problem som rör ändring av enhetsnamn. Mer information finns i Felsöka problem med enhetsnamn.

      mkfs -t ext4 /dev/disk/azure/scsi1/lun0
      
    2. Montera diskarna.

      mount /dev/disk/azure/scsi1/lun0 /mnt/mountpoint
      
    3. Lägg till i fstab.

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

       Set-AzVMDiskEncryptionExtension -ResourceGroupName "MySecureGroup" -VMName "MySecureVM" -DiskEncryptionKeyVaultUrl "https://mykeyvault.vault.azure.net/" -EncryptFormatAll
      
    5. Konfigurera LVM ovanpå dessa nya diskar. Observera att de krypterade enheterna är olåst när den virtuella datorn har startats. Därför måste LVM-monteringen också senare fördröjas.

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

I det här scenariot kan du aktivera kryptering med hjälp av Resource Manager-mallen, PowerShell-cmdletar eller CLI-kommandon. I följande avsnitt beskrivs i detalj Resource Manager-mallen och CLI-kommandona.

Använd anvisningarna i bilagan 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 ta en ögonblicksbild eller säkerhetskopiera en hanterad diskbaserad vm-instans utanför och innan du aktiverar Azure Disk Encryption. Du kan ta en ögonblicksbild av den hanterade disken från portalen eller använda 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 använder du cmdleten Set-AzVMDiskEncryptionExtension för att kryptera hanterade diskar genom att ange parametern -skipVmBackup. Kommandot Set-AzVMDiskEncryptionExtension misslyckas mot hanterade diskbaserade virtuella datorer tills en säkerhetskopia görs 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 IaaS-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 följande exempel får du några vanliga parametrar.

$VirtualMachine = New-AzVMConfig -VMName "MySecureVM" -VMSize "Standard_A1"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name "SecureOSDisk" -VhdUri "os.vhd" Caching ReadWrite -Windows -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 hjälp av az vm disk attach eller via Azure Portal. 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.

Aktivera kryptering på en nyligen tillagda disk med Azure CLI

Om den virtuella datorn tidigare krypterades 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 som visas här. 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 du aktiverar kryptering. I Linux måste disken monteras i /etc/fstab med ett beständiga blockenhetsnamn.

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

  • Kryptera en virtuell dator som körs med hjälp av en klienthemlighet:

        az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI/my Azure AD ClientID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault "MySecureVault" --volume-type "Data"
    
  • Kryptera en virtuell dator som körs med hjälp av KEK för att omsluta klienthemligheten:

        az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI which is the Azure AD ClientID>"  --aad-client-secret "My-AAD-client-secret" --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. Följande skript genererar ett GUID för sekvensversionen.

  • Kryptera en virtuell dator som körs med hjälp av en klienthemlighet: Följande skript initierar dina variabler och kör cmdleten Set-AzVMDiskEncryptionExtension. Resursgruppen, den virtuella datorn, nyckelvalvet, Microsoft Entra-appen och klienthemligheten bör redan ha skapats som förutsättningar. Ersätt MyVirtualMachineResourceGroup, MyKeyVaultResourceGroup, MySecureVM, MySecureVault, My-AAD-client-ID och My-AAD-client-secret med dina värden. Parametern -VolumeType är inställd på datadiskar och inte os-disken. Om den virtuella datorn tidigare har krypterats med en volymtyp av "OS" eller "Alla" bör parametern -VolumeType ändras till Alla så att både operativsystemet och den nya datadisken inkluderas.

        $KVRGname = 'MyKeyVaultResourceGroup';
        $VMRGName = 'MyVirtualMachineResourceGroup';
        $vmName = 'MySecureVM';
        $aadClientID = 'My-AAD-client-ID';
        $aadClientSecret = 'My-AAD-client-secret';
        $KeyVaultName = 'MySecureVault';
        $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
        $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
        $KeyVaultResourceId = $KeyVault.ResourceId;
        $sequenceVersion = [Guid]::NewGuid();
    
        Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType 'data' –SequenceVersion $sequenceVersion;
    
  • Kryptera en virtuell dator som körs med hjälp av KEK för att omsluta klienthemligheten: Med Azure Disk Encryption kan du ange en befintlig nyckel i nyckelvalvet för att omsluta diskkrypteringshemligheter som genererades när kryptering aktiverades. När en nyckelkrypteringsnyckel anges använder Azure Disk Encryption den nyckeln för att omsluta krypteringshemligheterna innan du skriver till nyckelvalvet. Parametern -VolumeType är inställd på datadiskar och inte os-disken. Om den virtuella datorn tidigare har krypterats med en volymtyp av "OS" eller "Alla" bör parametern -VolumeType ändras till Alla så att både operativsystemet och den nya datadisken inkluderas.

        $KVRGname = 'MyKeyVaultResourceGroup';
        $VMRGName = 'MyVirtualMachineResourceGroup';
        $vmName = 'MyExtraSecureVM';
        $aadClientID = 'My-AAD-client-ID';
        $aadClientSecret = 'My-AAD-client-secret';
        $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 -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $KeyVaultResourceId -VolumeType 'data' –SequenceVersion $sequenceVersion;
    

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].

Inaktivera kryptering för virtuella Linux-datorer

Du kan inaktivera kryptering med hjälp av Azure PowerShell, Azure CLI eller en Resource Manager-mall.

Viktigt!

Det går bara att inaktivera kryptering med Azure Disk Encryption på virtuella Linux-datorer för datavolymer. Det stöds inte på data- eller OS-volymer om OS-volymen har krypterats.

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

        Disable-AzVMDiskEncryption -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM' [--volume-type {ALL, DATA, OS}]
    
  • 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 [ALL, DATA, OS]
    
  • Inaktivera kryptering med en Resource Manager-mall: Om du vill inaktivera kryptering använder du mallen Inaktivera kryptering på en virtuell Linux-dator som körs.

    1. Välj Distribuera till Azure.
    2. Välj prenumeration, resursgrupp, plats, virtuell dator, juridiska villkor och avtal.
    3. Välj Köp för att inaktivera diskkryptering på en virtuell Windows-dator som körs.

Nästa steg