Membuat dan mengonfigurasi brankas kunci untuk Azure Disk Encryption di VM Windows

Berlaku untuk: ✔️ VM Windows ✔️ Set skala fleksibel

Azure Disk Encryption menggunakan Azure Key Vault untuk mengontrol dan mengelola kunci dan rahasia enkripsi disk. Untuk informasi selengkapnya mengenai brankas kunci, lihat Mulai menggunakan Azure Key Vault dan Amankan brankas kunci Anda.

Peringatan

Membuat dan mengonfigurasi kubah kunci untuk digunakan dengan Azure Disk Encryption melibatkan tiga langkah:

Catatan

Anda harus memilih opsi dalam pengaturan kebijakan akses Azure Key Vault untuk mengaktifkan akses ke Azure Disk Encryption untuk enkripsi volume. Jika Anda telah mengaktifkan firewall di brankas kunci, Anda harus membuka tab Jaringan di brankas kunci dan mengaktifkan akses ke Layanan Tepercaya Microsoft.

  1. Membuat grup sumber daya, jika diperlukan.
  2. Membuat brankas kunci.
  3. Mengatur kebijakan akses tingkat lanjut brankas kunci.

Langkah-langkah ini diilustrasikan dalam mulai cepat berikut:

Anda juga dapat, jika Anda mau, menghasilkan, atau mengimpor kunci enkripsi kunci (KEK).

Catatan

Langkah-langkah dalam artikel ini diotomatisasi dalam skrip CLI prasyarat Azure Disk Encryption dan skrip PowerShell prasyarat Azure Disk Encryption.

Memasang alat dan menyambungkan ke Azure

Langkah-langkah dalam artikel ini dapat diselesaikan dengan Azure CLI, modul Azure PowerShell Az, atau portal Microsoft Azure.

Sementara portal dapat diakses melalui browser Anda, Azure CLI dan Azure PowerShell memerlukan instalasi lokal; lihat Azure Disk Encryption for Windows: Instal alat untuk detailnya.

Menyambungkan ke akun Azure Anda

Sebelum menggunakan Azure CLI atau Azure PowerShell, Anda harus terlebih dahulu menyambungkan ke langganan Azure Anda. Anda melakukannya dengan Masuk dengan Azure CLI, Masuk dengan Microsoft Azure PowerShell, atau memasok info masuk Anda ke portal Microsoft Azure saat diminta.

az login
Connect-AzAccount

Buat grup sumber daya

Jika Anda sudah memiliki grup sumber daya, Anda dapat melompat ke Membuat brankas kunci.

Grup sumber daya adalah kontainer logis yang disebarkan dan dikelola oleh sumber daya Azure.

Buat grup sumber daya menggunakan perintah az group create Azure CLI, perintah New-AzResourceGroup Azure PowerShell, atau dari portal Microsoft Azure.

Azure CLI

az group create --name "myResourceGroup" --location eastus

Azure PowerShell

New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"

Buat brankas kunci

Jika Anda sudah memiliki brankas kunci, Anda dapat melompat ke Menyetel kebijakan akses lanjutan kubah kunci.

Buat brankas kunci menggunakan perintah az keyvault create Azure CLI, perintah New-AzKeyvault Azure PowerShell, portal Microsoft Azure, atau Azure Resource Manager kerangka.

Peringatan

Untuk memastikan bahwa rahasia enkripsi tidak melewati batas wilayah, Anda harus membuat dan menggunakan brankas kunci yang berada di wilayah dan penyewa yang sama dengan VM yang akan dienkripsi.

Setiap Gudang Kunci harus memiliki nama yang unik. Ganti <your-unique-keyvault-name> dengan nama brankas kunci Anda dalam contoh berikut.

Azure CLI

Saat membuat brankas kunci dengan menggunakan Azure CLI, tambahkan bendera "--enabled-for-disk-encryption".

az keyvault create --name "<your-unique-keyvault-name>" --resource-group "myResourceGroup" --location "eastus" --enabled-for-disk-encryption

Azure PowerShell

Saat membuat brankas kunci menggunakan Azure PowerShell, tambahkan bendera "-EnabledForDiskEncryption".

New-AzKeyvault -name "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup" -Location "eastus" -EnabledForDiskEncryption

Templat Azure Resource Manager

Anda juga dapat membuat brankas kunci dengan menggunakan templat Azure Resource Manager.

  1. Pada Template Mulai Cepat Azure, klik Menyebarkan ke Azure.
  2. Pilih langganan, grup sumber daya, lokasi grup sumber daya, nama Gudang Kunci, ID Objek, persyaratan hukum, dan perjanjian, lalu klik Beli.

Mengatur kebijakan akses tingkat lanjut key vault

Penting

Brankas kunci yang baru dibuat memiliki penghapusan sementara secara default. Jika Anda menggunakan brankas kunci yang sudah ada sebelumnya, Anda harus mengaktifkan penghapusan sementara. Lihat gambaran umum penghapusan sementara Azure Key Vault.

Platform Azure membutuhkan akses ke kunci enkripsi atau rahasia di key vault Anda untuk membuatnya tersedia bagi VM untuk mem-boot dan mendekripsi volume.

Jika Anda tidak mengaktifkan brankas kunci untuk enkripsi disk, penyebaran, atau penerapan template pada saat penyusunan (seperti yang ditunjukkan pada langkah sebelumnya), Anda harus memperbarui kebijakan akses lanjutannya.

Azure CLI

Gunakan pembaruan keyvault az untuk mengaktifkan enkripsi disk untuk key vault.

  • Aktifkan Key Vault untuk enkripsi disk: Diaktifkan-untuk-disk-enkripsi diperlukan.

    az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-disk-encryption "true"
    
  • Aktifkan Gudang Kunci untuk penerapan, jika diperlukan: Memungkinkan penyedia sumber daya Microsoft.Compute untuk mengambil rahasia dari brankas kunci ini saat brankas kunci ini dirujuk dalam pembuatan sumber daya, misalnya saat membuat komputer virtual.

    az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-deployment "true"
    
  • Mengaktifkan Vault Kunci untuk penyebaran template, jika dibutuhkan: Izinkan Azure Resource Manager untuk mengambil rahasia dari vault.

    az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-template-deployment "true"
    

Azure PowerShell

Gunakan key vault cmdlet PowerShell Set-AzKeyVaultAccessPolicy guna mengaktifkan enkripsi disk untuk key vault.

  • Aktifkan Key Vault untuk enkripsi disk: EnabledForDiskEncryption diperlukan untuk enkripsi Azure Disk.

    Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDiskEncryption
    
  • Aktifkan Gudang Kunci untuk penerapan, jika diperlukan: Memungkinkan penyedia sumber daya Microsoft.Compute untuk mengambil rahasia dari brankas kunci ini saat brankas kunci ini dirujuk dalam pembuatan sumber daya, misalnya saat membuat komputer virtual.

     Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDeployment
    
  • Mengaktifkan Key Vault untuk penyebaran template, jika dibutuhkan: Mengaktifkan Azure Resource Manager untuk mendapatkan rahasia dari key vault ini saat key vault ini direferensikan dalam penyebaran template.

    Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForTemplateDeployment
    

Portal Azure

  1. Pilih key vault, lalu buka Kebijakan Akses.

  2. Pada "Aktifkan akses ke", pilih kotak berlabel Azure Disk Encryption untuk enkripsi volume.

  3. Pilih Azure Virtual Machines untuk penyebaran dan/atau Azure Resource Manager untuk penyebaran template, jika perlu.

  4. Klik Simpan.

    Azure key vault advanced access policies

Azure Disk Encryption dan rotasi otomatis

Meskipun Azure Key Vault sekarang memiliki rotasi otomatis kunci, saat ini fitur tersebut tidak kompatibel dengan Azure Disk Encryption. Secara khusus, Azure Disk Encryption akan terus menggunakan kunci enkripsi asli, bahkan setelah dirotasi secara otomatis.

Memutar kunci enkripsi tidak akan merusak Azure Disk Encryption, tetapi menonaktifkan kunci enkripsi "lama" (dengan kata lain, kunci Azure Disk Encryption masih digunakan).

Siapkan kunci enkripsi kunci (KEK)

Penting

Akun yang berjalan untuk mengaktifkan enkripsi disk melalui brankas kunci harus memiliki izin "pembaca".

Jika Anda ingin menggunakan kunci enkripsi kunci (KEK) untuk lapisan keamanan tambahan untuk kunci enkripsi, tambahkan KEK ke brankas kunci Anda. Ketika kunci enkripsi kunci ditentukan, Azure Disk Encryption menggunakan kunci tersebut untuk membungkus rahasia enkripsi sebelum menulis ke Key Vault.

Anda dapat membuat KEK baru dengan menggunakan perintah Azure CLI az keyvault key create, cmdlet Add-AzKeyVaultKey Azure PowerShell, atau portal Microsoft Azure. Anda harus membuat jenis kunci RSA; Azure Disk Encryption saat ini tidak mendukung penggunaan kunci Elliptic Curve.

Sebagai gantinya, Anda dapat mengimpor KEK dari HSM manajemen kunci lokal Anda. Untuk informasi selengkapnya, lihat Dokumentasi Kunci Vault.

URL KEK brankas kunci Anda harus berversi. Azure memberlakukan pembatasan penerapan versi ini. Untuk URL rahasia dan KEK yang valid, lihat contoh berikut:

Azure CLI

Gunakan perintah Azure CLI az keyvault key create untuk menghasilkan KEK baru dan menyimpannya di brankas kunci Anda.

az keyvault key create --name "myKEK" --vault-name "<your-unique-keyvault-name>" --kty RSA --size 4096

Anda dapat mengimpor kunci pribadi dengan menggunakan perintah Azure CLI az keyvault key import:

Dalam kedua kasus tersebut, Anda memberikan nama KEK Anda ke parameter Azure CLI az vm encryption enable --key-encryption-key.

az vm encryption enable -g "MyResourceGroup" --name "myVM" --disk-encryption-keyvault "<your-unique-keyvault-name>" --key-encryption-key "myKEK"

Azure PowerShell

Gunakan cmdlet Add-AzKeyVaultKey Azure PowerShell untuk membuat KEK baru dan menyimpannya di brankas kunci Anda.

Add-AzKeyVaultKey -Name "myKEK" -VaultName "<your-unique-keyvault-name>" -Destination "HSM" -Size 4096

Anda dapat mengimpor kunci privat menggunakan perintah Azure PowerShell az keyvault key import .

Dalam kedua kasus tersebut, Anda akan memberikan ID Vault kunci KEK dan URL KEK Anda ke parameter Azure PowerShell Set-AzVMDiskEncryptionExtension -KeyEncryptionKeyVaultId dan -KeyEncryptionKeyUrl. Contoh ini mengasumsikan bahwa Anda menggunakan brankas kunci yang sama untuk kunci enkripsi disk dan KEK.

$KeyVault = Get-AzKeyVault -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup"
$KEK = Get-AzKeyVaultKey -VaultName "<your-unique-keyvault-name>" -Name "myKEK"

Set-AzVMDiskEncryptionExtension -ResourceGroupName MyResourceGroup -VMName "MyVM" -DiskEncryptionKeyVaultUrl $KeyVault.VaultUri -DiskEncryptionKeyVaultId $KeyVault.ResourceId -KeyEncryptionKeyVaultId $KeyVault.ResourceId -KeyEncryptionKeyUrl $KEK.Id -SkipVmBackup -VolumeType All

Langkah berikutnya