Mengaktifkan Azure Disk Encryption dengan ID Microsoft Entra di VM Linux (rilis sebelumnya)

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

Rilis baru Azure Disk Encryption menghilangkan persyaratan untuk menyediakan parameter aplikasi Microsoft Entra untuk mengaktifkan enkripsi disk VM. Dengan rilis baru, Anda tidak lagi diharuskan untuk memberikan kredensial Microsoft Entra selama langkah mengaktifkan enkripsi. Semua VM baru harus dienkripsi tanpa parameter aplikasi Microsoft Entra dengan menggunakan rilis baru. Untuk petunjuk tentang cara mengaktifkan enkripsi disk VM dengan menggunakan rilis baru, lihat Azure Disk Encryption untuk Linux VM. VM yang sudah dienkripsi dengan parameter aplikasi Microsoft Entra masih didukung dan harus terus dipertahankan dengan sintaks Microsoft Entra.

Anda dapat mengaktifkan enkripsi disk dalam banyak skenario dan langkah-langkahnya mungkin berbeda sesuai dengan skenario. Bagian berikut mencakup skenario secara lebih rinci untuk infrastruktur Linux infrastruktur sebagai layanan (IaaS) VM. Anda hanya dapat menerapkan enkripsi disk ke komputer virtual dengan ukuran VM dan sistem operasi yang didukung. Anda juga harus memenuhi prasyarat berikut:

Ambil rekam jepret, buat cadangan, atau keduanya sebelum Anda mengenkripsi disk. Cadangan memastikan bahwa opsi pemulihan memungkinkan jika kegagalan tak terduga terjadi selama enkripsi. Komputer virtual dengan disk terkelola memerlukan cadangan sebelum enkripsi terjadi. Setelah pencadangan dibuat, Anda dapat menggunakan cmdlet Set-AzVMDiskEncryptionExtension untuk mengenkripsi disk yang dikelola dengan menetapkan parameter -skipVmBackup. Untuk informasi selengkapnya tentang cara mencadangkan dan memulihkan VM terenkripsi, lihat Azure Backup.

Peringatan

  • Jika sebelumnya Anda menggunakan Azure Disk Encryption dengan aplikasi Microsoft Entra untuk mengenkripsi VM ini, Anda harus terus menggunakan opsi ini untuk mengenkripsi VM Anda. Anda tidak dapat menggunakan Azure Disk Encryption pada VM terenkripsi ini karena ini bukan skenario yang didukung, yang berarti beralih dari aplikasi Microsoft Entra untuk VM terenkripsi ini belum didukung.
  • Untuk memastikan rahasia enkripsi tidak melewati batas wilayah, Azure Disk Encryption memerlukan brankas kunci dan VM yang akan berlokasi bersama di wilayah yang sama. Buat dan gunakan brankas kunci yang berada di wilayah yang sama dengan VM yang akan dienkripsi.
  • Saat Anda mengenkripsi volume OS Linux, prosesnya dapat memakan waktu beberapa jam. Normal bagi volume OS Linux untuk memakan waktu lebih lama dari volume data guna melakukan enkripsi.
  • Saat Anda mengenkripsi volume OS Linux, VM harus dianggap tidak tersedia. Kami sangat menyarankan Agar Anda menghindari masuk SSH saat enkripsi sedang berlangsung untuk menghindari pemblokiran file terbuka yang perlu diakses selama proses enkripsi. Untuk memeriksa progres, gunakan perintah Get-AzVMDiskEncryptionStatus atau vm encryption show. Proses ini diharapkan untuk memakan waktu beberapa jam untuk volume OS 30-GB serta 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.

Mengaktifkan enkripsi pada IaaS Linux VM yang sudah ada atau yang sedang berjalan

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

Penting

Anda diwajibkan untuk mengambil rekam jepret atau mencadangkan instans VM berbasis disk terkelola di luar dan sebelum mengaktifkan Azure Disk Encryption. Anda dapat mengambil rekam jepret disk terkelola dari portal Microsoft Azure atau menggunakan Azure Backup. Cadangan memastikan bahwa opsi pemulihan dimungkinkan jika terjadi kegagalan tak terduga selama enkripsi. Setelah cadangan dibuat, gunakan cmdlet Set-AzVMDiskEncryptionExtension untuk mengenkripsi disk terkelola dengan menentukan parameter -skipVmBackup. Perintah Set-AzVMDiskEncryptionExtension gagal terhadap VM berbasis disk terkelola sampai cadangan dibuat dan parameter ini ditentukan.

Mengenkripsi atau menonaktifkan enkripsi dapat menyebabkan VM dimulai ulang.

Mengaktifkan enkripsi pada VM Linux yang sudah ada atau yang sedang berjalan dengan menggunakan Azure CLI

Anda dapat mengaktifkan enkripsi disk pada VHD terenkripsi dengan memasang dan menggunakan alat baris perintah Azure CLI 2.0. 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 IaaS Linux VM yang sudah ada atau yang sedang berjalan di Azure, gunakan perintah CLI berikut:

Gunakan perintah az vm encryption enable untuk mengaktifkan enkripsi pada komputer virtual IaaS yang sedang berjalan di Azure.

  • Mengenkripsi VM yang sedang berjalan dengan menggunakan rahasia klien:

        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]
    
  • Enkripsi VM yang sedang berjalan dengan menggunakan KEK untuk menjaga rahasia klien:

        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]
    

    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 di: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id].

  • Pastikan bahwa disk dienkripsi: Untuk memeriksa status enkripsi IaaS VM, gunakan perintah az vm encryption show.

        az vm encryption show --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup"
    
  • Menonaktifkan enkripsi: Untuk menonaktifkan enkripsi, gunakan perintah az vm encryption disable. Menonaktifkan enkripsi hanya diizinkan pada volume data untuk Linux VM.

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

Mengaktifkan enkripsi pada VM Linux yang sudah ada atau yang sedang berjalan dengan menggunakan PowerShell

Gunakan cmdlet Set-AzVMDiskEncryptionExtension untuk mengaktifkan enkripsi pada komputer virtual IaaS yang sedang berjalan di Azure. Ambil rekam jepret atau buat cadangan VM dengan Azure Backup sebelum disk dienkripsi. Parameter -skipVmBackup sudah ditentukan dalam skrip PowerShell untuk mengenkripsi Linux VM yang sedang berjalan.

  • Mengenkripsi VM yang sedang berjalan dengan menggunakan rahasia klien: Skrip berikut menginisialisasi variabel Anda dan menjalankan cmdlet Set-AzVMDiskEncryptionExtension. Grup sumber daya, VM, brankas kunci, aplikasi Microsoft Entra, dan rahasia klien seharusnya sudah dibuat sebagai prasyarat. Ganti MyVirtualMachineResourceGroup, MyKeyVaultResourceGroup, MySecureVM, MySecureVault, My-AAD-client-ID, dan My-AAD-client-secret dengan nilai Anda. Ubah parameter -VolumeType untuk menentukan disk mana yang sedang Anda enkripsi.

        $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;
    
  • Enkripsi VM yang sedang berjalan dengan menggunakan KEK untuk menjaga rahasia klien: Azure Disk Encryption memungkinkan Anda menentukan kunci yang ada di brankas kunci untuk menjaga rahasia enkripsi disk yang dihasilkan saat mengaktifkan enkripsi. Saat kunci enkripsi kunci ditentukan, Azure Disk Encryption menggunakan kunci tersebut untuk menjaga rahasia enkripsi sebelum menulis ke brankas kunci. Ubah parameter -VolumeType untuk menentukan disk mana yang sedang Anda enkripsi.

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

    Catatan

    Sintaks untuk nilai parameter disk-encryption-keyvault adalah string pengidentifikasi lengkap: /subscriptions/[subscription-id-guid]/resourceGroups/[KVresource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name].

    Sintaks untuk nilai parameter key-encryption-key adalah URI lengkap ke KEK seperti di: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id].

  • Pastikan bahwa disk dienkripsi: Untuk memeriksa status enkripsi IaaS VM, gunakan cmdlet Get-AzVmDiskEncryptionStatus.

        Get-AzVmDiskEncryptionStatus -ResourceGroupName MyVirtualMachineResourceGroup -VMName MySecureVM
    
  • Nonaktifkan enkripsi disk: Untuk menonaktifkan enkripsi, gunakan cmdlet Disable-Azure​RmVMDisk​Encryption. Menonaktifkan enkripsi hanya diizinkan pada volume data untuk Linux VM.

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

Mengaktifkan enkripsi pada VM IaaS Linux yang sudah ada atau yang sedang berjalan dengan templat

Anda dapat mengaktifkan enkripsi disk pada IaaS Linux VM yang sudah ada atau yang berjalan di Azure dengan menggunakan templat Resource Manager.

  1. Pilih Sebarkan ke Azure pada templat mulai cepat Azure.

  2. Pilih langganan, grup sumber daya, lokasi grup sumber daya, parameter, persyaratan hukum, dan perjanjian. Pilih Buat untuk mengaktifkan enkripsi pada IaaS VM yang sudah ada atau yang sedang berjalan.

Tabel berikut mencantumkan parameter templat Resource Manager untuk VM yang sudah ada atau berjalan yang menggunakan ID klien Microsoft Entra:

Parameter Deskripsi
AADClientID ID klien aplikasi Microsoft Entra yang memiliki izin untuk menulis rahasia ke brankas kunci.
AADClientSecret Rahasia klien aplikasi Microsoft Entra yang memiliki izin untuk menulis rahasia ke brankas kunci Anda.
keyVaultName Nama brankas kunci tempat kunci harus diunggah. Anda bisa mendapatkannya dengan menggunakan perintah Azure CLI az keyvault show --name "MySecureVault" --query KVresourceGroup.
keyEncryptionKeyURL URL kunci enkripsi kunci yang digunakan untuk mengenkripsi kunci yang dihasilkan. Parameter ini bersifat opsional jika Anda memilih nokek di menu tarik-turun UseExistingKek. Jika Anda memilih kek di menu tarik-turun UseExistingKek, Anda harus memasukkan nilai keyEncryptionKeyURL.
volumeType Jenis volume tempat operasi enkripsi dilakukan. Nilai valid yang didukung adalah OS atau Semua. (Lihat distribusi Linux yang didukung dan versinya untuk OS dan disk data di bagian prasyarat sebelumnya.)
sequenceVersion Versi urutan dari operasi BitLocker. Tambahkan nomor versi ini setiap kali operasi enkripsi disk dilakukan pada VM yang sama.
vmName Nama komputer virtual tempat operasi enkripsi akan dilakukan.
frase sandi Ketik frase sandi yang kuat sebagai kunci enkripsi data.

Menggunakan fitur EncryptFormatAll untuk disk data di VM IaaS Linux

Parameter EncryptFormatAll mengurangi waktu untuk mengenkripsi disk data Linux. Partisi yang memenuhi kriteria tertentu diformat (dengan sistem file saat ini). Kemudian partisi tersebut dilepas kembali ke tempat asalnya sebelum eksekusi perintah. Jika Anda ingin mengecualikan disk data yang memenuhi kriteria, Anda dapat melepaskannya sebelum menjalankan perintah.

Setelah Anda menjalankan perintah ini, drive apa pun yang dipasang sebelumnya akan diformat. Kemudian lapisan enkripsi dimulai di atas drive yang sekarang kosong. Saat opsi ini dipilih, disk sementara yang terpasang pada VM juga dienkripsi. Jika drive sementara direset, drive diformat ulang dan dienkripsi ulang untuk VM oleh solusi Azure Disk Encryption pada kesempatan berikutnya.

Peringatan

EncryptFormatAll tidak boleh digunakan saat ada data yang diperlukan pada volume data VM. Anda dapat mengecualikan disk dari enkripsi dengan melepasnya. Coba parameter EncryptFormatAll pada VM pengujian terlebih dahulu untuk memahami parameter fitur dan implikasinya sebelum Anda mencobanya pada VM produksi. Opsi EncryptFormatAll memformat disk data, sehingga semua data di dalamnya akan hilang. Sebelum melanjutkan, verifikasi bahwa disk apa pun yang ingin Anda kecualikan 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 mereka memenuhi semua kriteria berikut:

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

Menggunakan parameter EncryptFormatAll dengan templat

Untuk menggunakan opsi EncryptFormatAll, gunakan templat Azure Resource Manager yang sudah ada sebelumnya yang mengenkripsi Linux VM dan ubah bidang EncryptionOperation untuk sumber daya AzureDiskEncryption.

  1. Sebagai contoh, gunakan templat Resource Manager untuk mengenkripsi Linux IaaS VM yang sedang berjalan.
  2. Pilih Sebarkan ke Azure pada templat mulai cepat Azure.
  3. Ubah bidang EncryptionOperation dari EnableEncryption menjadi EnableEncryptionFormatAl.
  4. Pilih langganan, grup sumber daya, lokasi grup sumber daya, parameter lain, ketentuan hukum, dan perjanjian. Pilih Buat untuk mengaktifkan enkripsi pada IaaS VM yang sudah ada atau yang sedang berjalan.

Menggunakan parameter EncryptFormatAll dengan cmdlet PowerShell

Gunakan cmdlet Set-AzVMDiskEncryptionExtension dengan parameter EncryptFormatAll.

Enkripsi VM yang sedang berjalan dengan menggunakan rahasia klien dan EncryptFormatAll: Sebagai contoh, skrip berikut menginisialisasi variabel Anda dan menjalankan cmdlet Set-AzVMDiskEncryptionExtension dengan parameter EncryptFormatAll. Grup sumber daya, VM, brankas kunci, aplikasi Microsoft Entra, dan rahasia klien seharusnya sudah dibuat sebagai prasyarat. Ganti MyKeyVaultResourceGroup, MyVirtualMachineResourceGroup, MySecureVM, MySecureVault, My-AAD-client-ID, dan My-AAD-client-secret dengan nilai-nilai Anda.

  $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

Gunakan parameter EncryptFormatAll dengan Logical Volume Manager (LVM)

Kami merekomendasikan penyiapan LVM-on-crypt. Untuk semua contoh berikut, ganti jalur perangkat dan titik pemasangan dengan apa pun yang sesuai dengan kasus penggunaan Anda. Penyiapan ini dapat dilakukan sebagai berikut:

  • Tambahkan disk data yang akan menyusun VM.

  • Format, pasang, dan tambahkan disk ini ke file fstab.

    1. Memformat disk yang baru ditambahkan. Kami menggunakan symlink yang dihasilkan oleh Azure di sini. Menggunakan symlink menghindari masalah yang terkait dengan perubahan nama perangkat. Untuk informasi selengkapnya, lihat Memecahkan masalah nama perangkat.

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

      mount /dev/disk/azure/scsi1/lun0 /mnt/mountpoint
      
    3. Tambahkan ke fstab.

      echo "/dev/disk/azure/scsi1/lun0 /mnt/mountpoint ext4 defaults,nofail 1 2" >> /etc/fstab
      
    4. Jalankan cmdlet PowerShell Set-AzVMDiskEncryptionExtension dengan -EncryptFormatAll untuk mengenkripsi disk ini.

       Set-AzVMDiskEncryptionExtension -ResourceGroupName "MySecureGroup" -VMName "MySecureVM" -DiskEncryptionKeyVaultUrl "https://mykeyvault.vault.azure.net/" -EncryptFormatAll
      
    5. Siapkan LVM di atas disk baru ini. Perhatikan drive terenkripsi tidak terkunci setelah VM selesai dimulai. Jadi, pemasangan LVM juga harus ditunda.

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

Dalam skenario ini, Anda dapat mengaktifkan enkripsi dengan menggunakan template Azure Resource Manager, cmdlet PowerShell, atau perintah CLI. Bagian berikut menjelaskan secara lebih rinci templat Azure Resource Manager dan perintah CLI.

Gunakan instruksi dalam lampiran untuk menyiapkan citra praenkripsi yang dapat digunakan di Azure. Setelah gambar dibuat, Anda dapat menggunakan langkah-langkah di bagian berikutnya untuk membuat Azure VM yang terenkripsi.

Penting

Anda diwajibkan untuk mengambil rekam jepret atau mencadangkan instans VM berbasis disk terkelola di luar dan sebelum mengaktifkan Azure Disk Encryption. Anda dapat mengambil rekam jepret disk terkelola dari portal atau menggunakan Azure Backup. Cadangan memastikan bahwa opsi pemulihan dimungkinkan jika terjadi kegagalan tak terduga selama enkripsi. Setelah cadangan dibuat, gunakan cmdlet Set-AzVMDiskEncryptionExtension untuk mengenkripsi disk terkelola dengan menentukan parameter -skipVmBackup. Perintah Set-AzVMDiskEncryptionExtension gagal terhadap VM berbasis disk terkelola sampai cadangan dibuat dan parameter ini ditentukan.

Mengenkripsi atau menonaktifkan enkripsi dapat menyebabkan VM dimulai ulang.

Menggunakan Azure PowerShell untuk mengenkripsi VM IaaS dengan VHD yang telah dienkripsi sebelumnya

Anda dapat mengaktifkan enkripsi disk pada VHD Anda yang terenkripsi dengan menggunakan cmdlet PowerShell Set-AzVMOSDisk. Contoh berikut 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 -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"

Mengaktifkan enkripsi pada disk data yang baru ditambahkan

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

Mengaktifkan enkripsi pada disk yang baru ditambahkan dengan Azure CLI

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 jenis volume "Data", maka dapat tetap dalam jenis Data seperti yang ditunjukkan di sini. Menambahkan dan melampirkan disk data baru ke VM bukanlah persiapan yang cukup untuk enkripsi. Disk yang baru terpasang juga harus diformat dan dipasang dengan benar di dalam VM sebelum Anda mengaktifkan enkripsi. Di Linux, disk harus dipasang di /etc/fstab dengan nama perangkat blok persisten.

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

  • Mengenkripsi VM yang sedang berjalan dengan menggunakan rahasia klien:

        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"
    
  • Enkripsi VM yang sedang berjalan dengan menggunakan KEK untuk menjaga rahasia klien:

        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"
    

Mengaktifkan enkripsi pada disk yang baru ditambahkan dengan Azure PowerShell

Saat Anda menggunakan PowerShell untuk mengenkripsi disk baru untuk Linux, versi urutan baru perlu ditentukan. Versi urutannya harus unik. Skrip berikut menghasilkan GUID untuk versi urutan.

  • Mengenkripsi VM yang sedang berjalan dengan menggunakan rahasia klien: Skrip berikut menginisialisasi variabel Anda dan menjalankan cmdlet Set-AzVMDiskEncryptionExtension. Grup sumber daya, VM, brankas kunci, aplikasi Microsoft Entra, dan rahasia klien seharusnya sudah dibuat sebagai prasyarat. Ganti MyVirtualMachineResourceGroup, MyKeyVaultResourceGroup, MySecureVM, MySecureVault, My-AAD-client-ID, dan My-AAD-client-secret dengan nilai Anda. Parameter -VolumeType diatur ke disk data dan bukan disk OS. Jika VM sebelumnya dienkripsi dengan jenis volume "OS" atau "Semua", maka parameter -VolumeType harus diubah ke Semua sehingga OS dan disk data baru akan disertakan.

        $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;
    
  • Enkripsi VM yang sedang berjalan dengan menggunakan KEK untuk menjaga rahasia klien: Azure Disk Encryption memungkinkan Anda menentukan kunci yang ada di brankas kunci untuk menjaga rahasia enkripsi disk yang dihasilkan saat mengaktifkan enkripsi. Saat kunci enkripsi kunci ditentukan, Azure Disk Encryption menggunakan kunci tersebut untuk menjaga rahasia enkripsi sebelum menulis ke brankas kunci. Parameter -VolumeType diatur ke disk data dan bukan disk OS. Jika VM sebelumnya dienkripsi dengan jenis volume "OS" atau "Semua", maka parameter -VolumeType harus diubah ke Semua sehingga OS dan disk data baru akan disertakan.

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

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 di: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id].

Menonaktifkan enkripsi untuk VM Linux

Anda dapat menonaktifkan enkripsi dengan menggunakan Azure PowerShell, Azure CLI, atau templat Resource Manager.

Penting

Menonaktifkan enkripsi dengan Azure Disk Encryption di VM Linux hanya didukung untuk volume data. Tindakan ini tidak didukung pada volume data atau OS jika volume OS telah dienkripsi.

  • Nonaktifkan enkripsi disk dengan Azure PowerShell: Untuk menonaktifkan enkripsi, gunakan cmdlet Disable-Azure​RmVMDisk​Encryption.

        Disable-AzVMDiskEncryption -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM' [--volume-type {ALL, DATA, OS}]
    
  • 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 [ALL, DATA, OS]
    
  • Menonaktifkan enkripsi dengan templat Resource Manager: Untuk menonaktifkan enkripsi, gunakan templat Nonaktifkan enkripsi pada Linux VM yang sedang berjalan.

    1. Pilih Sebarkan ke Azure.
    2. Pilih langganan, grup sumber daya, lokasi, VM, persyaratan hukum, dan perjanjian.
    3. Pilih Beli untuk menonaktifkan enkripsi disk pada Windows VM yang sedang berjalan.

Langkah berikutnya