Povolení služby Azure Disk Encryption s ID Microsoft Entra na virtuálních počítačích s Linuxem (předchozí verze)

Platí pro: ✔️ Flexibilní škálovací sady virtuálních počítačů s Linuxem ✔️

Nová verze služby Azure Disk Encryption eliminuje požadavek na poskytnutí parametru aplikace Microsoft Entra pro povolení šifrování disků virtuálního počítače. V nové verzi už během kroku povolení šifrování nemusíte zadávat přihlašovací údaje Microsoft Entra. Všechny nové virtuální počítače musí být šifrované bez parametrů aplikace Microsoft Entra pomocí nové verze. Pokyny k povolení šifrování disků virtuálního počítače pomocí nové verze najdete v tématu Azure Disk Encryption pro virtuální počítače s Linuxem. Virtuální počítače, které už byly zašifrované pomocí parametrů aplikace Microsoft Entra, se stále podporují a měly by se dál udržovat pomocí syntaxe Microsoft Entra.

Můžete povolit mnoho scénářů šifrování disků a postup se může lišit podle scénáře. Následující části obsahují podrobnější popis scénářů pro virtuální počítače infrastruktury linuxové infrastruktury jako služby (IaaS). Šifrování disků je možné použít jen u virtuálních počítačů, které mají podporovanou velikost a operační systémy. Dále musí být splněny následující požadavky:

Pořiďte snímek, vytvořte zálohu nebo obojí před šifrováním disků. Zálohy zajišťují, že možnost obnovení je možná, pokud během šifrování dojde k neočekávané chybě. Virtuální počítače se spravovanými disky vyžadují před šifrováním zálohu. Po vytvoření zálohy můžete pomocí rutiny Set-AzVMDiskEncryptionExtension zašifrovat spravované disky zadáním parametru -skipVmBackup. Další informace o zálohování a obnovení šifrovaných virtuálních počítačů najdete v tématu Azure Backup.

Upozorňující

  • Pokud jste k šifrování tohoto virtuálního počítače použili službu Azure Disk Encryption s aplikací Microsoft Entra, musíte k šifrování virtuálního počítače pokračovat v použití této možnosti. Na tomto šifrovaném virtuálním počítači nemůžete použít Azure Disk Encryption , protože se nejedná o podporovaný scénář, což znamená, že přechod mimo aplikaci Microsoft Entra pro tento šifrovaný virtuální počítač ještě není podporovaný.
  • Aby bylo možné zajistit, aby tajné kódy šifrování nepřesály hranice oblastí, azure Disk Encryption potřebuje trezor klíčů a virtuální počítače, které se nacházejí ve stejné oblasti. Vytvořte a použijte trezor klíčů, který je ve stejné oblasti jako virtuální počítač k šifrování.
  • Při šifrování svazků s operačním systémem Linux může proces trvat několik hodin. Svazky operačního systému Linux jsou normální, aby zašifrování datových svazků trvalo déle než datové svazky.
  • Při šifrování svazků s operačním systémem Linux by se měl virtuální počítač považovat za nedostupný. Důrazně doporučujeme vyhnout se přihlášeníM SSH, zatímco probíhá šifrování, abyste zabránili blokování otevřených souborů, ke kterým je potřeba přistupovat během procesu šifrování. Pokud chcete zkontrolovat průběh, použijte příkazy Get-AzVMDiskEncryptionStatus nebo šifrování virtuálního počítače. U svazku s operačním systémem o velikosti 30 GB a dalšího času pro šifrování datových svazků můžete očekávat, že tento proces bude trvat několik hodin. Doba šifrování datového svazku je úměrná velikosti a množství datových svazků, pokud není použita možnost šifrovat celý formát.
  • Zákaz šifrování je na virtuálních počítačích s Linuxem podporovaný jen u datových svazků. Pokud je svazek operačního systému zašifrovaný, nepodporuje se u dat ani svazků operačního systému.

Povolení šifrování na existujícím nebo spuštěném virtuálním počítači IaaS s Linuxem

V tomto scénáři můžete povolit šifrování pomocí šablony Azure Resource Manageru, rutin PowerShellu nebo příkazů Azure CLI.

Důležité

Je povinné pořídit snímek nebo zálohovat instanci virtuálního počítače založenou na spravovaných discích mimo službu Azure Disk Encryption a před povolením služby Azure Disk Encryption. Snímek spravovaného disku můžete pořídit z webu Azure Portal nebo můžete použít Azure Backup. Zálohy zajišťují, že možnost obnovení je možná v případě neočekávaného selhání během šifrování. Po vytvoření zálohy pomocí rutiny Set-AzVMDiskEncryptionExtension zašifrujte spravované disky zadáním parametru -skipVmBackup. Příkaz Set-AzVMDiskEncryptionExtension selže s virtuálními počítači založenými na spravovaných discích, dokud se neprovede záloha a tento parametr se nezadá.

Šifrování nebo zakázání šifrování může způsobit restartování virtuálního počítače.

Povolení šifrování na existujícím nebo spuštěném virtuálním počítači s Linuxem pomocí Azure CLI

Šifrování disků na šifrovaný virtuální pevný disk můžete povolit instalací a použitím nástroje příkazového řádku Azure CLI 2.0 . Můžete ho používat v prohlížeči pomocí služby Azure Cloud Shell nebo nainstalovat na místním počítači a používat ho v jakékoli relaci PowerShellu. Pokud chcete povolit šifrování u existujících nebo spuštěných virtuálních počítačů IaaS s Linuxem v Azure, použijte následující příkazy rozhraní příkazového řádku:

Pomocí příkazu az vm encryption povolte šifrování na spuštěném virtuálním počítači IaaS v Azure.

  • Šifrování spuštěného virtuálního počítače pomocí tajného klíče klienta:

        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]
    
  • Šifrování spuštěného virtuálního počítače pomocí klíče KEK k zabalení tajného klíče klienta:

        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]
    

    Poznámka:

    Syntaxe pro hodnotu parametru disk-encryption-keyvault je řetězec úplného identifikátoru: /subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name].

    Syntaxe pro hodnotu parametru key-encryption-key je úplný identifikátor URI klíče KEK jako v: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id].

  • Ověřte, že jsou disky šifrované: Pokud chcete zkontrolovat stav šifrování virtuálního počítače IaaS, použijte příkaz az vm encryption show .

        az vm encryption show --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup"
    
  • Zakázat šifrování: Pokud chcete šifrování zakázat, použijte příkaz az vm encryption disable . Zakázání šifrování je povolené jenom u datových svazků pro virtuální počítače s Linuxem.

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

Povolení šifrování na existujícím nebo spuštěném virtuálním počítači s Linuxem pomocí PowerShellu

Pomocí rutiny Set-AzVMDiskEncryptionExtension povolte šifrování na spuštěném virtuálním počítači IaaS v Azure. Pořiďte snímek nebo vytvořte zálohu virtuálního počítače se službou Azure Backup, než se disky zašifrují. Parametr -skipVmBackup je již zadaný ve skriptech PowerShellu pro šifrování spuštěného virtuálního počítače s Linuxem.

  • Zašifrujte spuštěný virtuální počítač pomocí tajného klíče klienta: Následující skript inicializuje proměnné a spustí rutinu Set-AzVMDiskEncryptionExtension. Skupina prostředků, virtuální počítač, trezor klíčů, aplikace Microsoft Entra a tajný klíč klienta by už měly být vytvořené jako požadavky. Nahraďte MyVirtualMachineResourceGroup, MyKeyVaultResourceGroup, MySecureVM, MySecureVault, My-AAD-client-ID a My-AAD-client-secret hodnotami. Upravte parametr -VolumeType tak, aby určil, které disky šifrujete.

        $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;
    
  • Šifrování spuštěného virtuálního počítače pomocí klíče KEK k zabalení tajného klíče klienta: Azure Disk Encryption umožňuje zadat existující klíč v trezoru klíčů pro zabalení tajných kódů šifrování disku, které byly generovány při povolování šifrování. Pokud je zadaný šifrovací klíč klíče, Azure Disk Encryption tento klíč použije k zabalení šifrovacích tajných kódů před zápisem do trezoru klíčů. Upravte parametr -VolumeType tak, aby určil, které disky šifrujete.

        $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;
    

    Poznámka:

    Syntaxe pro hodnotu parametru disk-encryption-keyvault je řetězec úplného identifikátoru: /subscriptions/[subscription-id-guid]/resourceGroups/[KVresource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name].

    Syntaxe pro hodnotu parametru key-encryption-key je úplný identifikátor URI klíče KEK jako v: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id].

  • Ověřte, že jsou disky šifrované: Pokud chcete zkontrolovat stav šifrování virtuálního počítače IaaS, použijte rutinu Get-AzVmDiskEncryptionStatus .

        Get-AzVmDiskEncryptionStatus -ResourceGroupName MyVirtualMachineResourceGroup -VMName MySecureVM
    
  • Zakázat šifrování disku: Pokud chcete šifrování zakázat, použijte rutinu Disable-AzureRmVMDiskEncryption . Zakázání šifrování je povolené jenom u datových svazků pro virtuální počítače s Linuxem.

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

Povolení šifrování na existujícím nebo spuštěném virtuálním počítači IaaS s Linuxem pomocí šablony

Šifrování disků můžete povolit na existujícím nebo spuštěném virtuálním počítači IaaS s Linuxem v Azure pomocí šablony Resource Manageru.

  1. V šabloně Rychlého startu Azure vyberte Nasadit do Azure .

  2. Vyberte předplatné, skupinu prostředků, umístění skupiny prostředků, parametry, právní podmínky a smlouvu. Výběrem možnosti Vytvořit povolíte šifrování na existujícím nebo spuštěném virtuálním počítači IaaS.

Následující tabulka uvádí parametry šablony Resource Manageru pro existující nebo spuštěné virtuální počítače, které používají ID klienta Microsoft Entra:

Parametr Popis
AADClientID ID klienta aplikace Microsoft Entra, která má oprávnění k zápisu tajných kódů do trezoru klíčů.
AADClientSecret Tajný klíč klienta aplikace Microsoft Entra, která má oprávnění k zápisu tajných kódů do vašeho trezoru klíčů.
keyVaultName Název trezoru klíčů, do kterého se má klíč nahrát. Můžete ho získat pomocí příkazu az keyvault show --name "MySecureVault" --query KVresourceGroupAzure CLI .
keyEncryptionKeyURL Adresa URL šifrovacího klíče, který se používá k šifrování vygenerovaného klíče. Tento parametr je volitelný, pokud v rozevíracím seznamu UseExistingKek vyberete nokek. Pokud v rozevíracím seznamu UseExistingKek vyberete kek, musíte zadat hodnotu keyEncryptionKeyURL.
volumeType Typ svazku, na který se provádí operace šifrování. Platné podporované hodnoty jsou operační systém nebo všechny. (Viz podporované distribuce Linuxu a jejich verze pro disky s operačním systémem a datovými disky v předchozí části požadavky.)
sequenceVersion Sekvenční verze operace BitLockeru Zvýší toto číslo verze při každé operaci šifrování disku na stejném virtuálním počítači.
vmName Název virtuálního počítače, na který se má provést operace šifrování.
přístupové heslo Zadejte silné heslo jako šifrovací klíč dat.

Použití funkce EncryptFormatAll pro datové disky na virtuálních počítačích IaaS s Linuxem

Parametr EncryptFormatAll zkracuje dobu šifrování datových disků Linuxu. Oddíly, které splňují určitá kritéria, jsou formátované (s aktuálním systémem souborů). Pak se znovu připojí k místa, kde byly před provedením příkazu. Pokud chcete vyloučit datový disk, který splňuje kritéria, můžete ho před spuštěním příkazu odpojit.

Po spuštění tohoto příkazu se všechny připojené jednotky naformátují. Pak se vrstva šifrování spustí nad prázdnou jednotkou. Pokud je tato možnost vybraná, dočasný disk připojený k virtuálnímu počítači se také zašifruje. Pokud se dočasný disk resetuje, přeformátuje se a znovu zašifruje pro virtuální počítač řešením Azure Disk Encryption v další příležitosti.

Upozorňující

EncryptFormatAll by se nemělo používat, pokud jsou potřebná data na datových svazcích virtuálního počítače. Disky můžete z šifrování vyloučit tak, že je odpojíte. Nejprve vyzkoušejte parametr EncryptFormatAll na testovacím virtuálním počítači, abyste porozuměli parametru funkce a jeho implikaci, než ho zkusíte na produkčním virtuálním počítači. Možnost EncryptFormatAll formátuje datový disk, takže všechna data na něm budou ztracena. Než budete pokračovat, ověřte, že všechny disky, které chcete vyloučit, jsou správně odpojené.

Pokud tento parametr nastavíte při aktualizaci nastavení šifrování, může to před skutečným šifrováním vést k restartování. V takovém případě také chcete odebrat disk, který nechcete formátovat ze souboru fstab. Podobně byste měli před zahájením operace šifrování přidat oddíl, který chcete zašifrovat do souboru fstab.

Kritéria EncryptFormatAll

Parametr prochází všemi oddíly a šifruje je, pokud splňují všechna následující kritéria:

  • Není kořenový oddíl, operační systém nebo spouštěcí oddíl.
  • Není zašifrovaný.
  • Není svazek BEK.
  • Není svazek RAID.
  • Není svazek LVM.
  • Je připojeno.

Zašifrujte disky, které tvoří svazek RAID nebo LVM místo svazku RAID nebo LVM.

Použití parametru EncryptFormatAll se šablonou

Pokud chcete použít možnost EncryptFormatAll, použijte libovolnou existující šablonu Azure Resource Manageru, která šifruje virtuální počítač s Linuxem a změní pole EncryptionOperation pro prostředek AzureDiskEncryption.

  1. Například pomocí šablony Resource Manageru zašifrujte spuštěný virtuální počítač IaaS s Linuxem.
  2. V šabloně Rychlého startu Azure vyberte Nasadit do Azure .
  3. Změňte pole EncryptionOperation z EnableEncryption na EnableEncryptionFormatAl.
  4. Vyberte předplatné, skupinu prostředků, umístění skupiny prostředků, další parametry, právní podmínky a smlouvu. Výběrem možnosti Vytvořit povolíte šifrování na existujícím nebo spuštěném virtuálním počítači IaaS.

Použití parametru EncryptFormatAll s rutinou PowerShellu

Použijte rutinu Set-AzVMDiskEncryptionExtension s parametrem EncryptFormatAll.

Zašifrujte spuštěný virtuální počítač pomocí tajného klíče klienta a EncryptFormatAll: Například následující skript inicializuje proměnné a spustí rutinu Set-AzVMDiskEncryptionExtension s parametrem EncryptFormatAll. Skupina prostředků, virtuální počítač, trezor klíčů, aplikace Microsoft Entra a tajný klíč klienta by už měly být vytvořené jako požadavky. Nahraďte MyKeyVaultResourceGroup, MyVirtualMachineResourceGroup, MySecureVM, MySecureVault, My-AAD-client-ID a My-AAD-client-secret hodnotami.

  $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

Použití parametru EncryptFormatAll se správcem logických svazků (LVM)

Doporučujeme nastavit lvm-on-crypt. U všech následujících příkladů nahraďte cestu zařízení a přípojné body tím, co vyhovuje vašemu případu použití. Toto nastavení lze provést následujícím způsobem:

  • Přidejte datové disky, které vytvoří virtuální počítač.

  • Naformátujte, připojte a přidejte tyto disky do souboru fstab.

    1. Naformátujte nově přidaný disk. Tady používáme symlinky vygenerované Azure. Použití symlinks zabraňuje problémům souvisejícím se změnou názvů zařízení. Další informace najdete v tématu Řešení potíží s názvy zařízení.

      mkfs -t ext4 /dev/disk/azure/scsi1/lun0
      
    2. Připojte disky.

      mount /dev/disk/azure/scsi1/lun0 /mnt/mountpoint
      
    3. Přidat do fstab.

      echo "/dev/disk/azure/scsi1/lun0 /mnt/mountpoint ext4 defaults,nofail 1 2" >> /etc/fstab
      
    4. Spuštěním rutiny PowerShellu Set-AzVMDiskEncryptionExtension s parametrem -EncryptFormatAll zašifrujte tyto disky.

       Set-AzVMDiskEncryptionExtension -ResourceGroupName "MySecureGroup" -VMName "MySecureVM" -DiskEncryptionKeyVaultUrl "https://mykeyvault.vault.azure.net/" -EncryptFormatAll
      
    5. Nastavte LVM nad těmito novými disky. Všimněte si, že šifrované jednotky jsou odemknuté po dokončení spouštění virtuálního počítače. Takže, montáž LVM bude také muset být následně zpožděna.

Nové virtuální počítače IaaS vytvořené z šifrovaného virtuálního pevného disku zákazníka a šifrovacích klíčů

V tomto scénáři můžete šifrování povolit pomocí šablony Resource Manageru, rutin PowerShellu nebo příkazů rozhraní příkazového řádku. Následující části popisují podrobněji šablonu Resource Manageru a příkazy rozhraní příkazového řádku.

Pokyny v dodatku použijte k přípravě předšifrovaných imagí, které je možné použít v Azure. Po vytvoření image můžete pomocí kroků v další části vytvořit šifrovaný virtuální počítač Azure.

Důležité

Je povinné pořídit snímek nebo zálohovat instanci virtuálního počítače založenou na spravovaných discích mimo službu Azure Disk Encryption a před povolením služby Azure Disk Encryption. Snímek spravovaného disku můžete pořídit z portálu nebo můžete použít Azure Backup. Zálohy zajišťují, že možnost obnovení je možná v případě neočekávaného selhání během šifrování. Po vytvoření zálohy pomocí rutiny Set-AzVMDiskEncryptionExtension zašifrujte spravované disky zadáním parametru -skipVmBackup. Příkaz Set-AzVMDiskEncryptionExtension selže s virtuálními počítači založenými na spravovaných discích, dokud se neprovede záloha a tento parametr se nezadá.

Šifrování nebo zakázání šifrování může způsobit restartování virtuálního počítače.

Použití Azure PowerShellu k šifrování virtuálních počítačů IaaS pomocí předšifrovaných virtuálních pevných disků

Šifrování disků na šifrovaný virtuální pevný disk můžete povolit pomocí rutiny PowerShellu Set-AzVMOSDisk. Následující příklad obsahuje některé běžné parametry.

$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"

Povolení šifrování na nově přidaném datovém disku

Nový datový disk můžete přidat pomocí příkazu az vm disk attach nebo prostřednictvím webu Azure Portal. Před šifrováním je potřeba nejprve připojit nově připojený datový disk. Musíte požádat o šifrování datové jednotky, protože jednotka bude v průběhu šifrování nepoužitelná.

Povolení šifrování na nově přidaném disku pomocí Azure CLI

Pokud byl virtuální počítač dříve šifrovaný pomocí all, měl by parametr --volume-type zůstat all. Všechny zahrnují disky s operačním systémem i datovými disky. Pokud byl virtuální počítač dříve šifrovaný pomocí typu operačního systému, měl by být parametr --volume-type změněn na Vše, aby byl zahrnutý operační systém i nový datový disk. Pokud byl virtuální počítač zašifrovaný pouze s typem svazku Data, může zůstat data, jak je znázorněno zde. Přidání a připojení nového datového disku k virtuálnímu počítači není dostatečnou přípravou na šifrování. Před povolením šifrování musí být nově připojený disk také naformátovaný a správně připojený v rámci virtuálního počítače. V Linuxu musí být disk připojený do /etc/fstab s trvalým názvem blokového zařízení.

Na rozdíl od syntaxe PowerShellu rozhraní příkazového řádku nevyžaduje, abyste při povolení šifrování zadali jedinečnou verzi sekvence. Rozhraní příkazového řádku automaticky vygeneruje a používá vlastní jedinečnou hodnotu verze sekvence.

  • Šifrování spuštěného virtuálního počítače pomocí tajného klíče klienta:

        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"
    
  • Šifrování spuštěného virtuálního počítače pomocí klíče KEK k zabalení tajného klíče klienta:

        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"
    

Povolení šifrování na nově přidaném disku pomocí Azure PowerShellu

Pokud k šifrování nového disku pro Linux použijete PowerShell, je potřeba zadat novou sekvenční verzi. Verze sekvence musí být jedinečná. Následující skript vygeneruje identifikátor GUID pro sekvenční verzi.

  • Zašifrujte spuštěný virtuální počítač pomocí tajného klíče klienta: Následující skript inicializuje proměnné a spustí rutinu Set-AzVMDiskEncryptionExtension. Skupina prostředků, virtuální počítač, trezor klíčů, aplikace Microsoft Entra a tajný klíč klienta by už měly být vytvořené jako požadavky. Nahraďte MyVirtualMachineResourceGroup, MyKeyVaultResourceGroup, MySecureVM, MySecureVault, My-AAD-client-ID a My-AAD-client-secret hodnotami. Parametr -VolumeType je nastavený na datové disky, nikoli na disk s operačním systémem. Pokud byl virtuální počítač dříve šifrovaný pomocí typu operačního systému nebo "Vše", měl by být parametr -VolumeType změněn na Vše, aby byl zahrnutý operační systém i nový datový disk.

        $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;
    
  • Šifrování spuštěného virtuálního počítače pomocí klíče KEK k zabalení tajného klíče klienta: Azure Disk Encryption umožňuje zadat existující klíč v trezoru klíčů pro zabalení tajných kódů šifrování disku, které byly generovány při povolování šifrování. Pokud je zadaný šifrovací klíč klíče, Azure Disk Encryption tento klíč použije k zabalení šifrovacích tajných kódů před zápisem do trezoru klíčů. Parametr -VolumeType je nastavený na datové disky, nikoli na disk s operačním systémem. Pokud byl virtuální počítač dříve šifrovaný pomocí typu operačního systému nebo "Vše", měl by být parametr -VolumeType změněn na Vše, aby byl zahrnutý operační systém i nový datový disk.

        $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;
    

Poznámka:

Syntaxe pro hodnotu parametru disk-encryption-keyvault je řetězec úplného identifikátoru: /subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name].

Syntaxe pro hodnotu parametru key-encryption-key je úplný identifikátor URI klíče KEK jako v: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id].

Zakázání šifrování pro virtuální počítače s Linuxem

Šifrování můžete zakázat pomocí Azure PowerShellu, Azure CLI nebo šablony Resource Manageru.

Důležité

Zakázání šifrování pomocí služby Azure Disk Encryption na virtuálních počítačích s Linuxem se podporuje jenom u datových svazků. Pokud je svazek operačního systému zašifrovaný, nepodporuje se u dat ani svazků operačního systému.

  • Zakázání šifrování disků pomocí Azure PowerShellu: Pokud chcete zakázat šifrování, použijte rutinu Disable-AzureRmVMDiskEncryption .

        Disable-AzVMDiskEncryption -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM' [--volume-type {ALL, DATA, OS}]
    
  • Zákaz šifrování pomocí Azure CLI: Pokud chcete zakázat šifrování, použijte příkaz az vm encryption disable .

        az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type [ALL, DATA, OS]
    
  • Zakázat šifrování pomocí šablony Resource Manageru: Pokud chcete zakázat šifrování, použijte šifrování na spuštěné šabloně virtuálního počítače s Linuxem.

    1. Vyberte Nasadit do Azure.
    2. Vyberte předplatné, skupinu prostředků, umístění, virtuální počítač, právní podmínky a smlouvu.
    3. Výběrem možnosti Koupit zakážete šifrování disků na spuštěném virtuálním počítači s Windows.

Další kroky