Skenario Azure Disk Encryption di Linux VM

Berlaku untuk: ✔️ Mesin Virtual Linux ✔️ Set skala fleksibel

Azure Disk Encryption untuk mesin virtual Linux menggunakan fitur DM-Crypt Linux untuk menyediakan enkripsi disk penuh dari disk OS dan disk data. Selain itu, ini menyediakan enkripsi disk sementara saat menggunakan fitur EncryptFormatAll.

Azure Disk Encryption terintegrasi dengan Azure Key Vault untuk membantu Anda mengontrol dan mengelola kunci dan rahasia enkripsi disk. Untuk gambaran umum layanan, lihat Azure Disk Encryption untuk VM Linux.

Prasyarat

Anda hanya dapat menerapkan enkripsi disk ke komputer virtual dengan ukuran VM dan sistem operasi yang didukung. Anda juga harus memenuhi prasyarat berikut:

Dalam semua kasus, Anda harus mengambil snapshot dan / atau membuat cadangan sebelum disk dienkripsi. Cadangan memastikan bahwa opsi pemulihan memungkinkan jika kegagalan tak terduga terjadi selama enkripsi. Komputer virtual dengan disk terkelola memerlukan cadangan sebelum enkripsi terjadi. Setelah cadangan dibuat, Anda dapat menggunakan cmdlet Set-AzVMDiskEncryptionExtension untuk mengenkripsi disk terkelola dengan menentukan parameter -skipVmBackup. Untuk informasi lebih lanjut tentang cara mencadangkan dan memulihkan VM terenkripsi, lihat artikel Azure Backup.

Batasan

Jika sebelumnya Anda telah menggunakan Azure Disk Encryption dengan MICROSOFT Entra ID untuk mengenkripsi VM, Anda harus terus menggunakan opsi ini untuk mengenkripsi VM Anda. Lihat Azure Disk Encryption dengan ID Microsoft Entra (rilis sebelumnya) untuk detailnya.

Saat Anda mengenkripsi volume OS Linux, VM harus dianggap tidak tersedia. Kami sangat menyarankan Anda untuk tidak masuk SSH saat enkripsi sedang berlangsung guna menghindari pemblokiran file terbuka yang perlu diakses selama proses enkripsi. Untuk memeriksa kemajuan, gunakan cmdlet PowerShell Get-AzVMDiskEncryptionStatus atau enkripsi vm menunjukkan perintah CLI. Proses ini dapat memakan waktu beberapa jam untuk volume OS 30-GB dan waktu tambahan untuk mengenkripsi volume data. Waktu enkripsi volume data sebanding dengan ukuran dan kuantitas volume data kecuali jika opsi enkripsi format semua digunakan.

Menonaktifkan enkripsi pada Linux VM hanya didukung untuk volume data. Tindakan ini tidak didukung pada volume data atau OS jika volume OS telah dienkripsi.

Azure Disk Encryption tidak berfungsi untuk skenario, fitur, dan teknologi Linux berikut:

  • Mengenkripsi VM tingkat dasar atau VM yang dibuat melalui metode pembuatan VM klasik.
  • Menonaktifkan enkripsi pada drive OS atau drive data VM Linux saat drive OS dienkripsi.
  • Mengenkripsi drive OS untuk Linux Virtual Machine Scale Sets.
  • Mengenkripsi gambar kustom di Linux VMs.
  • Integrasi dengan sistem manajemen kunci lokal.
  • Azure Files (sistem file bersama).
  • Sistem File Jaringan (NFS).
  • Volume dinamis.
  • Disk OS sementara.
  • Enkripsi sistem file bersama/terdistribusi seperti (tetapi tidak terbatas pada): DFS, GFS, DRDB, dan CephFS.
  • Memindahkan VM terenkripsi ke langganan atau wilayah lain.
  • Membuat gambar atau snapshot VM terenkripsi dan menggunakannya untuk menyebarkan VM tambahan.
  • Kernel Crash Dump (kdump).
  • Oracle ACFS (Sistem File Klaster ASM).
  • Disk NVMe seperti yang ada pada ukuran VM komputasi performa tinggi atau ukuran VM yang dioptimalkan Penyimpanan.
  • VM dengan "nested mount points"; artinya, beberapa titik kait dalam satu jalur (seperti "/1stmountpoint/data/2stmountpoint").
  • VM dengan drive data yang dipasang di atas folder OS.
  • VM di mana volume logika root (OS disk) telah diperluas menggunakan disk data.
  • VM seri M dengan disk Write Accelerator.
  • Menerapkan ADE ke VM yang memiliki disk yang dienkripsi dengan Enkripsi di Host atau enkripsi sisi server dengan kunci yang dikelola pelanggan (SSE + CMK). Menerapkan SSE + CMK ke disk data atau menambahkan disk data dengan SSE + CMK yang dikonfigurasi ke VM yang dienkripsi dengan ADE juga merupakan skenario yang tidak didukung.
  • Memigrasikan VM yang dienkripsi dengan ADE, atau pernah dienkripsi dengan ADE, ke Enkripsi di Host atau enkripsi sisi server dengan kunci yang dikelola pelanggan.
  • Mengenkripsi VM dalam kluster failover.
  • Enkripsi di disk ultra Azure.
  • Enkripsi disk Premium SSD v2.
  • Enkripsi VM dalam langganan yang memiliki Rahasia harus memiliki kebijakan periode validitas maksimum yang ditentukan yang diaktifkan dengan efek TOLAK.

Memasang alat dan menyambungkan ke Azure

Azure Disk Encryption dapat diaktifkan dan dikelola melalui Azure CLI dan Azure PowerShell. Untuk melakukannya, Anda harus menginstal alat secara lokal dan menyambungkan ke langganan Azure Anda.

Azure CLI 2.0 merupakan alat baris perintah untuk mengelola sumber daya Azure. CLI dirancang untuk secara fleksibel mengkueri data, mendukung operasi jangka panjang sebagai proses non-pemblokiran, dan memudahkan proses pembuatan skrip. Anda dapat menginstalnya secara lokal dengan mengikuti langkah-langkah dalam Menginstal Azure CLI.

Untuk Masuk ke akun Azure Anda dengan Azure CLI, gunakan perintah login az.

az login

Jika Anda ingin memilih penyewa untuk masuk di bawah ini, gunakan:

az login --tenant <tenant>

Jika Anda memiliki beberapa langganan dan ingin menentukan langganan tertentu, dapatkan daftar langganan Anda dengan daftar akun az dan tentukan dengan kumpulan akun az.

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

Untuk informasi selengkapnya, lihat Mulai menggunakan Azure CLI 2.0.

Aktifkan enkripsi pada VM Linux yang sudah ada atau yang sedang berjalan

Dalam skenario ini, Anda dapat mengaktifkan enkripsi dengan menggunakan templat Resource Manager, cmdlet PowerShell, atau perintah CLI. Jika Anda memerlukan informasi skema untuk ekstensi mesin virtual, lihat artikel ekstensi Azure Disk Encryption for Linux.

Penting

Ini wajib untuk snapshot dan / atau cadangan instance VM berbasis disk terkelola di luar, dan sebelum mengaktifkan Azure Disk Encryption. Snapshot disk terkelola dapat diambil dari portal, atau melalui Azure Backup. Cadangan memastikan bahwa opsi pemulihan dimungkinkan jika terjadi kegagalan tak terduga selama enkripsi. Setelah cadangan dibuat, cmdlet Set-AzVMDiskEncryptionExtension dapat digunakan untuk mengenkripsi disk yang dikelola dengan menentukan parameter -skipVmBackup. Perintah Set-AzVMDiskEncryptionExtension akan gagal melawan VM berbasis disk terkelola sampai cadangan dibuat dan parameter ini telah ditentukan.

Mengenkripsi atau menonaktifkan enkripsi dapat menyebabkan VM mulai ulang.

Untuk menonaktifkan enkripsi, lihat Menonaktifkan enkripsi dan menghapus ekstensi enkripsi.

Anda dapat mengaktifkan enkripsi disk pada VHD terenkripsi dengan memasang dan menggunakan alat baris perintah Azure CLI. Anda dapat menggunakannya di browser dengan Azure Cloud Shell atau memasangnya di komputer lokal dan menggunakannya di sesi PowerShell apa pun. Untuk mengaktifkan enkripsi pada VM Linux yang sudah ada atau yang berjalan di Azure, gunakan perintah CLI berikut:

Gunakan perintah aktifkan enkripsi az vm untuk mengaktifkan enkripsi pada komputer virtual yang berjalan di Azure.

  • Enkripsikan VM yang sedang berjalan:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type [All|OS|Data]
    
  • Mengenkripsi VM yang sedang berjalan menggunakan 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]
    

    Catatan

    Sintaks untuk nilai parameter disk-encryption-keyvault adalah string pengidentifikasi lengkap: subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name]
    Sintaks untuk nilai parameter key-encryption-key adalah URI lengkap ke KEK seperti pada: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]

  • Memverifikasi bahwa disk dienkripsi: Untuk memeriksa status enkripsi VM, gunakan perintah tampilkan enkripsi az vm .

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

Untuk menonaktifkan enkripsi, lihat Menonaktifkan enkripsi dan menghapus ekstensi enkripsi.

Gunakan fitur EncryptFormatAll untuk disk data di Linux VMs

Parameter EncryptFormatAll mengurangi waktu untuk mengenkripsi disk data Linux. Partisi yang memenuhi kriteria tertentu akan diformat, bersama dengan sistem file mereka saat ini, kemudian dilepas kembali ke tempat mereka sebelum eksekusi perintah. Jika Anda ingin mengecualikan disk data yang memenuhi kriteria, Anda dapat melepas kaitannya sebelum menjalankan perintah.

Setelah menjalankan perintah ini, semua drive yang dipasang sebelumnya akan diformat, dan lapisan enkripsi akan dimulai di atas drive yang sekarang kosong. Ketika opsi ini dipilih, disk sementara yang terpasang pada VM juga akan dienkripsi. Jika disk sementara direset, disk tersebut akan diformat ulang dan dienkripsi ulang untuk VM oleh solusi Azure Disk Encryption pada kesempatan berikutnya. Setelah disk sumber daya dienkripsi, Agen Linux Microsoft Azure tidak akan dapat mengelola disk sumber daya dan mengaktifkan pertukaran file, tetapi Anda dapat mengonfigurasi pertukaran file secara manual.

Peringatan

EncryptFormatAll tidak boleh digunakan ketika ada data yang diperlukan pada volume data VM. Anda dapat mengecualikan disk dari enkripsi dengan melepasnya. Anda harus terlebih dahulu mencoba EncryptFormatAll terlebih dahulu pada VM pengujian, memahami parameter fitur dan implikasinya sebelum mencobanya pada VM produksi. Opsi EncryptFormatAll memformat disk data dan semua data di dalamnya akan hilang. Sebelum melanjutkan, verifikasi bahwa disk yang ingin Anda keluarkan akan dilepas dengan benar.

Jika Anda mengatur parameter ini saat memperbarui pengaturan enkripsi, hal ini mungkin menyebabkan reboot sebelum enkripsi sebenarnya. Dalam hal ini, Anda juga ingin menghapus disk yang tidak ingin Anda format dari file fstab. Demikian pula, Anda harus menambahkan partisi yang ingin Anda format enkripsi ke file fstab sebelum memulai operasi enkripsi.

Kriteria EncryptFormatAll

Parameter melewati semua partisi dan mengenkripsinya selama memenuhi semua kriteria di bawah ini:

  • Bukan partisi akar/OS/boot
  • Belum dienkripsi
  • Bukan volume BEK
  • Bukan volume RAID
  • Bukan volume LVM
  • Dipasang

Enkripsi disk yang menyusun volume RAID atau LVM daripada volume RAID atau LVM.

Gunakan perintah aktifkan enkripsi az vm untuk mengaktifkan enkripsi pada komputer virtual yang berjalan di Azure.

  • Mengenkripsi VM yang sedang berjalan menggunakan EncryptFormatAll:

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

Menggunakan parameter EncryptFormatAll dengan Logical Volume Manager (LVM)

Kami merekomendasikan penyiapan LVM-on-crypt. Untuk instruksi terperinci tentang LVM pada konfigurasi kripto, lihat Mengonfigurasi LVM dan RAID pada perangkat terenkripsi ADE.

VM baru yang dibuat dari VHD dan kunci enkripsi yang dienkripsi pelanggan

Dalam skenario ini, Anda dapat mengaktifkan enkripsi dengan menggunakan cmdlet PowerShell atau perintah CLI.

Gunakan instruksi dalam skrip yang sama dengan enkripsi Azure Disk untuk menyiapkan gambar pra-enkripsi yang dapat digunakan di Azure. Setelah gambar dibuat, Anda dapat menggunakan langkah-langkah di bagian berikutnya untuk membuat Azure VM yang terenkripsi.

Penting

Ini wajib untuk snapshot dan / atau cadangan instance VM berbasis disk terkelola di luar, dan sebelum mengaktifkan Azure Disk Encryption. Snapshot disk terkelola dapat diambil dari portal, atau Azure Backup dapat digunakan. Cadangan memastikan bahwa opsi pemulihan dimungkinkan jika terjadi kegagalan tak terduga selama enkripsi. Setelah cadangan dibuat, cmdlet Set-AzVMDiskEncryptionExtension dapat digunakan untuk mengenkripsi disk yang dikelola dengan menentukan parameter -skipVmBackup. Perintah Set-AzVMDiskEncryptionExtension akan gagal melawan VM berbasis disk terkelola sampai cadangan dibuat dan parameter ini telah ditentukan.

Mengenkripsi atau menonaktifkan enkripsi dapat menyebabkan VM mulai ulang.

Menggunakan Azure PowerShell untuk mengenkripsi VM dengan VHD pra-enkripsi

Anda dapat mengaktifkan enkripsi disk pada VHD Anda yang terenkripsi dengan menggunakan cmdlet PowerShell Set-AzVMOSDisk. Contoh di bawah ini memberi Anda beberapa parameter umum.

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

Mengaktifkan enkripsi pada disk data yang baru ditambahkan

Anda dapat menambahkan disk data baru menggunakan az vm disk attach, atau melalui portal Azure. Sebelum dapat mengenkripsi, Anda perlu memasang disk data yang baru terpasang terlebih dahulu. Anda harus meminta enkripsi drive data karena drive tidak akan dapat digunakan saat enkripsi sedang berlangsung.

Jika VM sebelumnya dienkripsi dengan "Semua", maka parameter --volume-type harus tetap Semua. Semua termasuk OS dan disk data. Jika VM sebelumnya dienkripsi dengan jenis volume "OS", maka parameter --volume-type harus diubah ke Semua sehingga OS dan disk data baru akan disertakan. Jika VM dienkripsi hanya dengan tipe volume "Data", maka VM dapat tetap menjadi "Data" seperti yang didemonstrasikan di bawah ini. Menambahkan dan melampirkan disk data baru ke VM tidak cukup persiapan untuk enkripsi. Disk yang baru dilampirkan juga harus diformat dan dipasang dengan benar di dalam VM sebelum mengaktifkan enkripsi. Di Linux, disk harus dipasang di /etc/fstab dengan nama perangkat blok persisten.

Berbeda dengan sintaks PowerShell, CLI tidak mengharuskan pengguna untuk memberikan versi urutan unik saat mengaktifkan enkripsi. CLI secara otomatis menghasilkan dan menggunakan nilai versi urutannya sendiri yang unik.

  • Mengenkripsi volume data dari VM yang sedang berjalan:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type "Data"
    
  • Mengenkripsi volume data VM yang sedang berjalan menggunakan 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"
    

Menonaktifkan enkripsi dan menghapus ekstensi enkripsi

Anda dapat menonaktifkan ekstensi enkripsi disk Azure, dan Anda dapat menghapus ekstensi enkripsi disk Azure. Ini adalah dua operasi yang berbeda.

Untuk menghapus Azure Disk Encryption, sebaiknya nonaktifkan enkripsi terlebih dahulu, lalu hapus ekstensi. Jika Anda menghapus ekstensi enkripsi tanpa menonaktifkannya, disk akan tetap dienkripsi. Jika Anda menonaktifkan enkripsi setelah menghapus ekstensi, ekstensi akan diinstal ulang (untuk melakukan operasi dekripsi) dan perlu dihapus untuk kedua kalinya.

Peringatan

Anda tidak dapat menonaktifkan enkripsi jika disk OS dienkripsi. (Disk OS dienkripsi ketika operasi enkripsi asli menentukan volumeType=ALL atau volumeType=OS.)

Menonaktifkan enkripsi hanya berhasil ketika disk data dienkripsi tetapi disk OS tidak.

Nonaktifkan enkripsi

Anda dapat menonaktifkan enkripsi menggunakan Azure PowerShell, Azure CLI, atau dengan templat Azure Resource Manager. Menonaktifkan enkripsi tidak menghapus ekstensi (lihat Menghapus ekstensi enkripsi).

  • Menonaktifkan enkripsi disk dengan Microsoft Azure PowerShell: Untuk menonaktifkan enkripsi, gunakan cmdlet Disable-AzVMDiskEncryption.

    Disable-AzVMDiskEncryption -ResourceGroupName "MyVirtualMachineResourceGroup" -VMName "MySecureVM" -VolumeType "data"
    
  • Menonaktifkan enkripsi dengan Azure CLI: Untuk menonaktifkan enkripsi, gunakan perintah az vm encryption disable.

    az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type "data"
    
  • Menonaktifkan enkripsi dengan templat Resource Manager:

    1. Klik Sebarkan ke Azure dari templat Menonaktifkan enkripsi disk pada mesin virtual Linux yang berjalan.
    2. Pilih langganan, grup sumber daya, lokasi, VM, jenis volume, persyaratan hukum, dan perjanjian.
    3. Klik Beli untuk menonaktifkan enkripsi disk pada komputer virtual Linux yang berjalan.

Menghapus ekstensi enkripsi

Jika Anda ingin menonaktifkan enkripsi disk dan menghapus ekstensi enkripsi, Anda harus menonaktifkan enkripsi sebelum menghapus ekstensi; lihat menonaktifkan enkripsi.

Anda dapat menghapus ekstensi enkripsi menggunakan Azure PowerShell atau Azure CLI.

  • Nonaktifkan enkripsi disk dengan Azure PowerShell: Untuk menghapus enkripsi, gunakan cmdlet Remove-AzVMDiskEncryptionExtension.

    Remove-AzVMDiskEncryptionExtension -ResourceGroupName "MyVirtualMachineResourceGroup" -VMName "MySecureVM"
    
  • Menonaktifkan enkripsi dengan CLI Azure: Untuk menghapus enkripsi, gunakan perintah az vm extension delete.

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

Langkah berikutnya