Scenariusze usługi Azure Disk Encryption w przypadku maszyn wirtualnych z systemem Linux

Dotyczy: ✔️ Maszyny wirtualne z systemem Linux — elastyczne zestawy skalowania ✔️

Usługa Azure Disk Encryption dla maszyn wirtualnych z systemem Linux używa funkcji DM-Crypt systemu Linux w celu zapewnienia pełnego szyfrowania dysku systemu operacyjnego i dysków danych. Ponadto zapewnia szyfrowanie dysku tymczasowego podczas korzystania z funkcji EncryptFormatAll.

Usługa Azure Disk Encryption jest zintegrowana z usługą Azure Key Vault , aby ułatwić kontrolowanie kluczy i wpisów tajnych szyfrowania dysków oraz zarządzanie nimi. Aby zapoznać się z omówieniem usługi, zobacz Usługa Azure Disk Encryption dla maszyn wirtualnych z systemem Linux.

Wymagania wstępne

Szyfrowanie dysków można stosować tylko do maszyn wirtualnych z obsługiwanymi rozmiarami maszyn wirtualnych i systemami operacyjnymi. Należy również spełnić następujące wymagania wstępne:

We wszystkich przypadkach należy utworzyć migawkę i/lub utworzyć kopię zapasową przed zaszyfrowanie dysków. Kopie zapasowe zapewniają, że opcja odzyskiwania jest możliwa w przypadku wystąpienia nieoczekiwanego błędu podczas szyfrowania. Maszyny wirtualne z dyskami zarządzanymi wymagają utworzenia kopii zapasowej przed przeprowadzeniem szyfrowania. Po utworzeniu kopii zapasowej można użyć polecenia cmdlet Set-AzVMDiskEncryptionExtension do szyfrowania dysków zarządzanych, określając parametr -skipVmBackup. Aby uzyskać więcej informacji na temat tworzenia kopii zapasowych i przywracania zaszyfrowanych maszyn wirtualnych, zobacz artykuł Azure Backup .

Ograniczenia

Jeśli wcześniej użyto usługi Azure Disk Encryption z identyfikatorem Entra firmy Microsoft do szyfrowania maszyny wirtualnej, musisz nadal używać tej opcji do szyfrowania maszyny wirtualnej. Aby uzyskać szczegółowe informacje, zobacz Azure Disk Encryption with Microsoft Entra ID (previous release) (Usługa Azure Disk Encryption z identyfikatorem entra firmy Microsoft (poprzednia wersja).

Podczas szyfrowania woluminów systemu operacyjnego Linux maszyna wirtualna powinna być uznawana za niedostępną. Zdecydowanie zalecamy unikanie logowań przy użyciu protokołu SSH podczas szyfrowania w toku, aby uniknąć problemów z blokowaniem otwartych plików, do których będzie konieczne uzyskiwanie dostępu podczas procesu szyfrowania. Aby sprawdzić postęp, użyj polecenia cmdlet Get-AzVMDiskEncryptionStatus programu PowerShell lub polecenia interfejsu wiersza polecenia szyfrowania maszyny wirtualnej. Ten proces może potrwać kilka godzin w przypadku wolumin systemu operacyjnego o pojemności 30 GB oraz zająć dodatkowy czas na szyfrowanie woluminów danych. Czas szyfrowania woluminu danych będzie proporcjonalny do rozmiaru i ilości woluminów danych, chyba że zostanie użyta opcja szyfrowania wszystkich formatów.

Wyłączanie szyfrowania na maszynach wirtualnych z systemem Linux jest obsługiwane tylko w przypadku woluminów danych. Nie jest obsługiwane w przypadku danych lub woluminów systemu operacyjnego, jeśli wolumin systemu operacyjnego został zaszyfrowany.

Usługa Azure Disk Encryption nie działa w przypadku następujących scenariuszy, funkcji i technologii systemu Linux:

  • Szyfrowanie podstawowej warstwy maszyn wirtualnych lub maszyn wirtualnych utworzonych za pomocą klasycznej metody tworzenia maszyny wirtualnej.
  • Wyłączenie szyfrowania na dysku systemu operacyjnego lub dysku danych maszyny wirtualnej z systemem Linux, gdy dysk systemu operacyjnego jest zaszyfrowany.
  • Szyfrowanie dysku systemu operacyjnego dla zestawów skalowania maszyn wirtualnych z systemem Linux.
  • Szyfrowanie obrazów niestandardowych na maszynach wirtualnych z systemem Linux.
  • Integracja z lokalnym systemem zarządzania kluczami.
  • Azure Files (udostępniony system plików).
  • System plików sieciowych (NFS).
  • Woluminy dynamiczne.
  • Efemeryczne dyski systemu operacyjnego.
  • Szyfrowanie udostępnionych/rozproszonych systemów plików, takich jak (ale nie tylko): DFS, GFS, DRDB i CephFS.
  • Przenoszenie zaszyfrowanej maszyny wirtualnej do innej subskrypcji lub regionu.
  • Tworzenie obrazu lub migawki zaszyfrowanej maszyny wirtualnej i używanie jej do wdrażania dodatkowych maszyn wirtualnych.
  • Zrzut awaryjny jądra (kdump).
  • Oracle ACFS (system plików klastra ASM).
  • Dyski NVMe, takie jak te na maszynach wirtualnych o wysokiej wydajności lub zoptymalizowanych rozmiarach maszyn wirtualnych zoptymalizowanych pod kątem magazynu.
  • Maszyna wirtualna z "zagnieżdżonymi punktami instalacji"; oznacza to, że wiele punktów instalacji w jednej ścieżce (np. "/1stmountpoint/data/2stmountpoint").
  • Maszyna wirtualna z dyskiem danych zainstalowanym na folderze systemu operacyjnego.
  • Maszyna wirtualna, na której został rozszerzony wolumin logiczny głównego (dysku systemu operacyjnego) przy użyciu dysku danych.
  • Maszyny wirtualne serii M z dyskami akceleratora zapisu.
  • Stosowanie programu ADE do maszyny wirtualnej, która ma dyski zaszyfrowane za pomocą szyfrowania na hoście lub po stronie serwera z kluczami zarządzanymi przez klienta (SSE + CMK). Zastosowanie zestawu SSE + CMK na dysku danych lub dodanie dysku danych z zestawem SSE + CMK skonfigurowanym do maszyny wirtualnej zaszyfrowanej za pomocą usługi ADE jest również nieobsługiwanym scenariuszem.
  • Migrowanie maszyny wirtualnej zaszyfrowanej za pomocą usługi ADE lub kiedykolwiek zostało zaszyfrowane za pomocą usługi ADE do szyfrowania na hoście lub po stronie serwera przy użyciu kluczy zarządzanych przez klienta.
  • Szyfrowanie maszyn wirtualnych w klastrach trybu failover.
  • Szyfrowanie dysków w warstwie Ultra platformy Azure.
  • Szyfrowanie dysków SSD w wersji 2 w warstwie Premium.
  • Szyfrowanie maszyn wirtualnych w subskrypcjach z wpisami tajnymi powinno mieć włączone zasady maksymalnego okresu ważności z efektem DENY.

Instalowanie narzędzi i nawiązywanie połączenia z platformą Azure

Usługę Azure Disk Encryption można włączyć i zarządzać za pomocą interfejsu wiersza polecenia platformy Azure i programu Azure PowerShell. W tym celu należy zainstalować narzędzia lokalnie i połączyć się z subskrypcją platformy Azure.

Interfejs wiersza polecenia platformy Azure 2.0 to narzędzie wiersza polecenia do zarządzania zasobami platformy Azure. Interfejs wiersza polecenia został zaprojektowany tak, aby elastycznie wykonywać zapytania o dane, obsługiwać długotrwałe operacje jako procesy nieblokujące i ułatwiać wykonywanie skryptów. Możesz zainstalować ją lokalnie, wykonując kroki opisane w temacie Instalowanie interfejsu wiersza polecenia platformy Azure.

Aby zalogować się do konta platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure, użyj polecenia az login .

az login

Jeśli chcesz wybrać dzierżawę do zalogowania się w obszarze, użyj:

az login --tenant <tenant>

Jeśli masz wiele subskrypcji i chcesz określić określoną, pobierz listę subskrypcji za pomocą polecenia az account list i określ polecenie az account set.

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

Aby uzyskać więcej informacji, zobacz Wprowadzenie do interfejsu wiersza polecenia platformy Azure w wersji 2.0.

Włączanie szyfrowania na istniejącej lub uruchomionej maszynie wirtualnej z systemem Linux

W tym scenariuszu można włączyć szyfrowanie przy użyciu szablonu usługi Resource Manager, poleceń cmdlet programu PowerShell lub poleceń interfejsu wiersza polecenia. Jeśli potrzebujesz informacji o schemacie rozszerzenia maszyny wirtualnej, zobacz artykuł Azure Disk Encryption for Linux extension (Szyfrowanie dysków platformy Azure dla systemu Linux).

Ważne

Należy utworzyć migawkę i/lub utworzyć kopię zapasową wystąpienia maszyny wirtualnej opartej na dysku zarządzanym poza programem i przed włączeniem usługi Azure Disk Encryption. Migawkę dysku zarządzanego można pobrać z portalu lub za pośrednictwem usługi Azure Backup. Kopie zapasowe zapewniają, że opcja odzyskiwania jest możliwa w przypadku nieoczekiwanego błędu podczas szyfrowania. Po utworzeniu kopii zapasowej polecenie cmdlet Set-AzVMDiskEncryptionExtension może służyć do szyfrowania dysków zarządzanych, określając parametr -skipVmBackup. Polecenie Set-AzVMDiskEncryptionExtension zakończy się niepowodzeniem względem maszyn wirtualnych opartych na dyskach zarządzanych do momentu utworzenia kopii zapasowej i określono ten parametr.

Szyfrowanie lub wyłączanie szyfrowania może spowodować ponowne uruchomienie maszyny wirtualnej.

Aby wyłączyć szyfrowanie, zobacz Wyłączanie szyfrowania i usuwanie rozszerzenia szyfrowania.

Szyfrowanie dysków na zaszyfrowanym dysku VHD można włączyć, instalując narzędzie wiersza polecenia interfejsu wiersza polecenia platformy Azure i używając go. Można go również używać w przeglądarce z usługą Azure Cloud Shell albo można go zainstalować na maszynie lokalnej i używać w dowolnej sesji programu PowerShell. Aby włączyć szyfrowanie na istniejących lub uruchomionych maszynach wirtualnych z systemem Linux na platformie Azure, użyj następujących poleceń interfejsu wiersza polecenia:

Użyj polecenia az vm encryption enable, aby włączyć szyfrowanie na uruchomionej maszynie wirtualnej na platformie Azure.

  • Szyfrowanie uruchomionej maszyny wirtualnej:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type [All|OS|Data]
    
  • Szyfrowanie uruchomionej maszyny wirtualnej przy użyciu klucza 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]
    

    Uwaga

    Składnia wartości parametru disk-encryption-keyvault jest pełnym ciągiem identyfikatora: /subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault--name]
    Składnia wartości parametru key-encryption-key jest pełnym identyfikatorem URI klucza KEK w następujący sposób: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]

  • Sprawdź, czy dyski są szyfrowane: aby sprawdzić stan szyfrowania maszyny wirtualnej, użyj polecenia az vm encryption show .

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

Aby wyłączyć szyfrowanie, zobacz Wyłączanie szyfrowania i usuwanie rozszerzenia szyfrowania.

Używanie funkcji EncryptFormatAll dla dysków danych na maszynach wirtualnych z systemem Linux

Parametr EncryptFormatAll skraca czas szyfrowania dysków danych systemu Linux. Partycje spełniające określone kryteria zostaną sformatowane wraz z ich bieżącymi systemami plików, a następnie ponownie zainstalowane tam, gdzie były przed wykonaniem polecenia. Jeśli chcesz wykluczyć dysk danych spełniający kryteria, możesz go odinstalować przed uruchomieniem polecenia .

Po uruchomieniu tego polecenia wszystkie zainstalowane wcześniej dyski zostaną sformatowane, a warstwa szyfrowania zostanie uruchomiona na teraz pustym dysku. Po wybraniu tej opcji dysk tymczasowy dołączony do maszyny wirtualnej będzie również szyfrowany. Jeśli dysk tymczasowy zostanie zresetowany, zostanie ponownie sformatowany i zaszyfrowany dla maszyny wirtualnej przez rozwiązanie Azure Disk Encryption przy następnej okazji. Po zaszyfrowaniu dysku zasobów agent microsoft Azure Linux nie będzie mógł zarządzać dyskiem zasobów i włączać pliku wymiany, ale można ręcznie skonfigurować plik zamiany.

Ostrzeżenie

Funkcja EncryptFormatAll nie powinna być używana, gdy potrzebne są dane na woluminach danych maszyny wirtualnej. Dyski można wykluczyć z szyfrowania, odinstalując je. Najpierw należy wypróbować element EncryptFormatAll na testowej maszynie wirtualnej, zapoznać się z parametrem funkcji i jego implikacją przed wypróbowaniem go na produkcyjnej maszynie wirtualnej. Opcja EncryptFormatAll formatuje dysk danych i wszystkie dane na nim zostaną utracone. Przed kontynuowaniem sprawdź, czy dyski, które chcesz wykluczyć, są prawidłowo niezainstalowane.

Jeśli ustawiasz ten parametr podczas aktualizowania ustawień szyfrowania, może to prowadzić do ponownego uruchomienia przed rzeczywistym szyfrowaniem. W takim przypadku należy również usunąć dysk, którego nie chcesz sformatować z pliku fstab. Podobnie przed zainicjowaniem operacji szyfrowania należy dodać partycję, którą chcesz sformatować w pliku fstab.

Kryteria EncryptFormatAll

Parametr przechodzi przez wszystkie partycje i szyfruje je tak długo, jak spełniają wszystkie poniższe kryteria:

  • Nie jest partycją root/OS/boot
  • Nie jest jeszcze zaszyfrowany
  • Nie jest woluminem BEK
  • Nie jest woluminem RAID
  • Nie jest woluminem LVM
  • Jest zainstalowany

Szyfruj dyski tworzące wolumin RAID lub LVM, a nie wolumin RAID lub LVM.

Użyj polecenia az vm encryption enable, aby włączyć szyfrowanie na uruchomionej maszynie wirtualnej na platformie Azure.

  • Szyfrowanie uruchomionej maszyny wirtualnej przy użyciu funkcji EncryptFormatAll:

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

Używanie parametru EncryptFormatAll z menedżerem woluminów logicznych (LVM)

Zalecamy konfigurację szyfrowania LVM-on-crypt. Aby uzyskać szczegółowe instrukcje dotyczące maszyny LVM w konfiguracji kryptografii, zobacz Konfigurowanie LVM i RAID na urządzeniach zaszyfrowanych ADE.

Nowe maszyny wirtualne utworzone na podstawie zaszyfrowanego przez klienta wirtualnego dysku twardego i kluczy szyfrowania

W tym scenariuszu można włączyć szyfrowanie przy użyciu poleceń cmdlet programu PowerShell lub poleceń interfejsu wiersza polecenia.

Aby przygotować wstępnie zaszyfrowane obrazy, które mogą być używane na platformie Azure, skorzystaj z instrukcji w usłudze Azure Disk Encryption. Po utworzeniu obrazu możesz użyć kroków w następnej sekcji, aby utworzyć zaszyfrowaną maszynę wirtualną platformy Azure.

Ważne

Należy utworzyć migawkę i/lub utworzyć kopię zapasową wystąpienia maszyny wirtualnej opartej na dysku zarządzanym poza programem i przed włączeniem usługi Azure Disk Encryption. Migawkę dysku zarządzanego można pobrać z portalu lub można użyć usługi Azure Backup . Kopie zapasowe zapewniają, że opcja odzyskiwania jest możliwa w przypadku nieoczekiwanego błędu podczas szyfrowania. Po utworzeniu kopii zapasowej polecenie cmdlet Set-AzVMDiskEncryptionExtension może służyć do szyfrowania dysków zarządzanych, określając parametr -skipVmBackup. Polecenie Set-AzVMDiskEncryptionExtension zakończy się niepowodzeniem względem maszyn wirtualnych opartych na dyskach zarządzanych do momentu utworzenia kopii zapasowej i określono ten parametr.

Szyfrowanie lub wyłączanie szyfrowania może spowodować ponowne uruchomienie maszyny wirtualnej.

Szyfrowanie maszyn wirtualnych przy użyciu wstępnie zaszyfrowanych dysków VHD przy użyciu programu Azure PowerShell

Szyfrowanie dysków na zaszyfrowanym dysku VHD można włączyć przy użyciu polecenia cmdlet programu PowerShell Set-AzVMOSDisk. W poniższym przykładzie przedstawiono kilka typowych parametrów.

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

Włączanie szyfrowania na nowo dodanym dysku danych

Nowy dysk danych można dodać przy użyciu polecenia az vm disk attach lub za pośrednictwem witryny Azure Portal. Przed rozpoczęciem szyfrowania należy najpierw zainstalować nowo dołączony dysk danych. Musisz zażądać szyfrowania dysku danych, ponieważ dysk będzie bezużyteczny podczas szyfrowania w toku.

Jeśli maszyna wirtualna została wcześniej zaszyfrowana za pomocą parametru "Wszystkie", parametr --volume-type powinien pozostać "Wszystkie". Wszystkie obejmują zarówno system operacyjny, jak i dyski danych. Jeśli maszyna wirtualna została wcześniej zaszyfrowana za pomocą typu woluminu "OS", parametr --volume-type powinien zostać zmieniony na "Wszystkie", aby uwzględnić zarówno system operacyjny, jak i nowy dysk danych. Jeśli maszyna wirtualna została zaszyfrowana tylko przy użyciu typu woluminu "Dane", może pozostać "Dane", jak pokazano poniżej. Dodawanie i dołączanie nowego dysku danych do maszyny wirtualnej nie jest wystarczające do przygotowania do szyfrowania. Nowo dołączony dysk musi być również sformatowany i poprawnie zainstalowany na maszynie wirtualnej przed włączeniem szyfrowania. W systemie Linux dysk musi być zainstalowany w /etc/fstab z trwałą nazwą urządzenia blokowego.

W przeciwieństwie do składni programu PowerShell interfejs wiersza polecenia nie wymaga od użytkownika podania unikatowej wersji sekwencji podczas włączania szyfrowania. Interfejs wiersza polecenia automatycznie generuje i używa własnej unikatowej wartości wersji sekwencji.

  • Szyfrowanie woluminów danych uruchomionej maszyny wirtualnej:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type "Data"
    
  • Szyfrowanie woluminów danych uruchomionej maszyny wirtualnej przy użyciu klucza 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"
    

Wyłączanie szyfrowania i usuwanie rozszerzenia szyfrowania

Możesz wyłączyć rozszerzenie szyfrowania dysków platformy Azure i usunąć rozszerzenie szyfrowania dysków platformy Azure. Są to dwie odrębne operacje.

Aby usunąć usługę ADE, zaleca się najpierw wyłączenie szyfrowania, a następnie usunięcie rozszerzenia. Jeśli usuniesz rozszerzenie szyfrowania bez jego wyłączenia, dyski będą nadal szyfrowane. Jeśli szyfrowanie zostanie wyłączone po usunięciu rozszerzenia, rozszerzenie zostanie ponownie zainstalowane (aby wykonać operację odszyfrowywania) i będzie konieczne usunięcie po raz drugi.

Ostrzeżenie

Nie można wyłączyć szyfrowania, jeśli dysk systemu operacyjnego jest zaszyfrowany. (Dyski systemu operacyjnego są szyfrowane, gdy oryginalna operacja szyfrowania określa volumeType=ALL lub volumeType=OS).

Wyłączenie szyfrowania działa tylko wtedy, gdy dyski danych są szyfrowane, ale dysk systemu operacyjnego nie jest.

Wyłączanie szyfrowania

Szyfrowanie można wyłączyć przy użyciu programu Azure PowerShell, interfejsu wiersza polecenia platformy Azure lub szablonu usługi Resource Manager. Wyłączenie szyfrowania nie powoduje usunięcia rozszerzenia (zobacz Usuwanie rozszerzenia szyfrowania).

  • Wyłącz szyfrowanie dysków za pomocą programu Azure PowerShell: aby wyłączyć szyfrowanie, użyj polecenia cmdlet Disable-AzVMDiskEncryption .

    Disable-AzVMDiskEncryption -ResourceGroupName "MyVirtualMachineResourceGroup" -VMName "MySecureVM" -VolumeType "data"
    
  • Wyłącz szyfrowanie przy użyciu interfejsu wiersza polecenia platformy Azure: aby wyłączyć szyfrowanie, użyj polecenia az vm encryption disable .

    az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type "data"
    
  • Wyłącz szyfrowanie przy użyciu szablonu usługi Resource Manager:

    1. Kliknij pozycję Wdróż na platformie Azure z szablonu Wyłącz szyfrowanie dysków na uruchomionej maszynie wirtualnej z systemem Linux.
    2. Wybierz subskrypcję, grupę zasobów, lokalizację, maszynę wirtualną, typ woluminu, postanowienia prawne i umowę.
    3. Kliknij przycisk Kup , aby wyłączyć szyfrowanie dysków na uruchomionej maszynie wirtualnej z systemem Linux.

Usuwanie rozszerzenia szyfrowania

Jeśli chcesz odszyfrować dyski i usunąć rozszerzenie szyfrowania, musisz wyłączyć szyfrowanie przed usunięciem rozszerzenia. Zobacz Wyłączanie szyfrowania.

Rozszerzenie szyfrowania można usunąć przy użyciu programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure.

  • Wyłącz szyfrowanie dysków za pomocą programu Azure PowerShell: aby usunąć szyfrowanie, użyj polecenia cmdlet Remove-AzVMDiskEncryptionExtension .

    Remove-AzVMDiskEncryptionExtension -ResourceGroupName "MyVirtualMachineResourceGroup" -VMName "MySecureVM"
    
  • Wyłącz szyfrowanie przy użyciu interfejsu wiersza polecenia platformy Azure: aby usunąć szyfrowanie, użyj polecenia az vm extension delete .

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

Następne kroki