Gunakan portal Azure untuk mengaktifkan enkripsi sisi server dengan kunci yang dikelola pelanggan untuk disk terkelola

Berlaku untuk: ✔️ Mesin virtual Linux ✔️ Mesin virtual Windows ✔️ Set skala fleksibel ✔️ Set skala seragam

Penyimpanan Disk Azure memungkinkan Anda mengelola kunci Anda sendiri saat menggunakan enkripsi sisi server (SSE) untuk disk terkelola, jika Anda memilih. Untuk informasi konseptual tentang SSE dengan kunci yang dikelola pelanggan, serta jenis enkripsi disk terkelola lainnya, lihat bagian Kunci yang dikelola pelanggan dari artikel enkripsi disk kami.

Batasan

Untuk saat ini, kunci yang dikelola pelanggan memiliki batasan berikut:

  • Jika fitur ini diaktifkan untuk disk dengan rekam jepret bertahap, fitur ini tidak dapat dinonaktifkan pada disk tersebut atau rekam jepretnya. Untuk mengatasi hal ini, salin semua data ke disk terkelola yang sama sekali berbeda yang tidak menggunakan kunci yang dikelola pelanggan. Anda dapat melakukannya dengan Azure CLI atau modul Azure PowerShell.
  • Hanya kunci RSA perangkat lunak dan HSM dengan ukuran 2.048-bit, 3.072-bit, dan 4.096-bit yang didukung, tidak ada kunci atau ukuran lain.
    • Kunci HSM memerlukan tingkat premium Azure Key Vault.
  • Hanya untuk Disk Ultra dan disk Premium SSD v2:
    • Rekam jepret yang dibuat dari disk yang dienkripsi dengan enkripsi sisi server dan kunci yang dikelola pelanggan harus dienkripsi dengan kunci yang dikelola pelanggan yang sama.
    • Identitas terkelola yang ditetapkan pengguna tidak didukung untuk disk Ultra Disk dan Premium SSD v2 yang dienkripsi dengan kunci yang dikelola pelanggan.
  • Sebagian besar sumber daya yang terkait dengan kunci yang dikelola pelanggan (set enkripsi disk, Mesin Virtual, disk, dan snapshot) harus berada dalam langganan dan wilayah yang sama.
    • Azure Key Vault dapat digunakan dari langganan yang berbeda tetapi harus berada di wilayah yang sama dengan set enkripsi disk Anda. Sebagai pratinjau, Anda dapat menggunakan Azure Key Vaults dari penyewa Microsoft Entra yang berbeda.
  • Disk yang dienkripsi dengan kunci yang dikelola pelanggan hanya dapat berpindah ke grup sumber daya lain jika VM yang dilampirkan ke dibatalkan alokasinya.
  • Disk, rekam jepret, dan gambar yang dienkripsi dengan kunci yang dikelola pelanggan tidak dapat dipindahkan di antara langganan.
  • Disk terkelola saat ini atau yang sebelumnya dienkripsi menggunakan Azure Disk Encryption tidak dapat dienkripsi menggunakan kunci yang dikelola pelanggan.
  • Hanya dapat membuat hingga 5000 set enkripsi disk per wilayah per langganan.
  • Untuk informasi tentang menggunakan kunci yang dikelola pelanggan dengan galeri gambar bersama, lihat Pratinjau: Menggunakan kunci yang dikelola pelanggan untuk mengenkripsi gambar.

Membuat sumber daya

Setelah fitur diaktifkan, Anda harus menyiapkan DiskEncryptionSet dan Azure Key Vault atau Azure Key Vault Managed HSM.

Azure Key Vault

  • Instal Azure CLI terbaru dan masuk ke akun Azure dengan az login.
  • Membuat Azure Key Vault dan kumpulan enkripsi disk.

Saat membuat Key Vault, Anda harus mengaktifkan perlindungan pembersihan. Perlindungan pembersihan memastikan bahwa kunci yang dihapus tidak dapat dihapus secara permanen hingga periode retensi berakhir. Pengaturan ini melindungi Anda dari kehilangan data karena tidak sengaja terhapus. Pengaturan ini wajib dilakukan ketika menggunakan Azure Key Vault untuk mengenkripsi disk terkelola.

Penting

Jangan menggunakan camel case saat menulis wilayah, jika Anda melakukannya, Anda mungkin mengalami masalah saat menetapkan disk tambahan ke sumber daya di portal Microsoft Azure.

subscriptionId=yourSubscriptionID
rgName=yourResourceGroupName
location=westcentralus
keyVaultName=yourKeyVaultName
keyName=yourKeyName
diskEncryptionSetName=yourDiskEncryptionSetName
diskName=yourDiskName

az account set --subscription $subscriptionId

az group create --resource-group $rgName --location $location

az keyvault create -n $keyVaultName \
-g $rgName \
-l $location \
--enable-purge-protection true 

az keyvault key create --vault-name $keyVaultName \
-n $keyName \
--protection software
  • Buat DiskEncryptionSet. Anda dapat mengatur aktifkan-rotasi kunci-otomatis ke true untuk mengaktifkan rotasi kunci otomatis. Saat Anda mengaktifkan rotasi otomatis, sistem secara otomatis akan memperbarui semua disk terkelola, rekam jepret, dan gambar yang merujuk pada enkripsi disk yang diatur agar menggunakan versi kunci baru dalam waktu satu jam.
keyVaultKeyUrl=$(az keyvault key show --vault-name $keyVaultName --name $keyName --query [key.kid] -o tsv)

az disk-encryption-set create -n $diskEncryptionSetName \
-l $location \
-g $rgName \
--key-url $keyVaultKeyUrl \
--enable-auto-key-rotation false
  • Berikan akses DiskEncryptionSet akses sumber daya ke brankas kunci.

Catatan

Mungkin perlu waktu beberapa menit bagi Azure untuk membuat identitas DiskEncryptionSet Anda di ID Microsoft Entra Anda. Jika Anda mendapatkan kesalahan seperti "Tidak dapat menemukan objek Direktori Aktif" saat menjalankan perintah berikut, tunggu beberapa menit dan coba lagi.

desIdentity=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [identity.principalId] -o tsv)

az keyvault set-policy -n $keyVaultName \
-g $rgName \
--object-id $desIdentity \
--key-permissions wrapkey unwrapkey get

HSM Terkelola Azure Key Vault

Atau, Anda dapat menggunakan HSM Terkelola untuk menangani kunci Anda.

Untuk melakukan ini, Anda harus melengkapi prasyarat berikut:

Konfigurasi

Setelah membuat HSM Terkelola dan menambahkan izin, aktifkan perlindungan pembersihan dan buat kunci enkripsi.

subscriptionId=yourSubscriptionID
rgName=yourResourceGroupName
location=westcentralus
keyVaultName=yourKeyVaultName
keyName=yourKeyName
diskEncryptionSetName=yourDiskEncryptionSetName
diskName=yourDiskName
    
az account set --subscription $subscriptionId
    
az keyvault update-hsm --subscription $subscriptionId -g $rgName --hsm-name $keyVaultName --enable-purge-protection true
    
az keyvault key create --hsm-name  $keyVaultName --name $keyName --ops wrapKey unwrapKey --kty RSA-HSM --size 2048

Kemudian, buat DiskEncryptionSet.

keyVaultKeyUrl=$(az keyvault key show --vault-name $keyVaultName --name $keyName --query [key.kid] -o tsv)
    
az disk-encryption-set create -n $diskEncryptionSetName \
-l $location \
-g $rgName \
--key-url $keyVaultKeyUrl \
--enable-auto-key-rotation false

Akhirnya, berikan akses DiskEncryptionSet ke HSM Terkelola.

desIdentity=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [identity.principalId] -o tsv)
    
az keyvault role assignment create --hsm-name $keyVaultName --role "Managed HSM Crypto Service Encryption User" --assignee $desIdentity --scope /keys

Setelah membuat dan mengonfigurasi sumber daya ini, Anda dapat menggunakannya untuk mengamankan disk yang terkelola. Tautan berikut berisi contoh skrip, masing-masing dengan setiap skenario, yang dapat Anda gunakan untuk mengamankan disk terkelola Anda.

Contoh

Buat VM menggunakan gambar Marketplace, mengenkripsi OS dan disk data dengan kunci yang dikelola pelanggan

rgName=yourResourceGroupName
vmName=yourVMName
location=westcentralus
vmSize=Standard_DS3_V2
image=LinuxImageURN
diskEncryptionSetName=yourDiskencryptionSetName

diskEncryptionSetId=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [id] -o tsv)

az vm create -g $rgName -n $vmName -l $location --image $image --size $vmSize --generate-ssh-keys --os-disk-encryption-set $diskEncryptionSetId --data-disk-sizes-gb 128 128 --data-disk-encryption-sets $diskEncryptionSetId $diskEncryptionSetId

Memuat disk terkelola yang ada

Disk yang ada tidak boleh dilampirkan ke VM yang sedang berjalan agar Anda dapat mengenkripsinya menggunakan skrip berikut:

rgName=yourResourceGroupName
diskName=yourDiskName
diskEncryptionSetName=yourDiskEncryptionSetName

az disk update -n $diskName -g $rgName --encryption-type EncryptionAtRestWithCustomerKey --disk-encryption-set $diskEncryptionSetId

Buat kumpulan skala mesin virtual menggunakan gambar Marketplace, mengenkripsi OS dan disk data dengan kunci yang dikelola pelanggan

rgName=yourResourceGroupName
vmssName=yourVMSSName
location=westcentralus
vmSize=Standard_DS3_V2
image=LinuxImageURN
diskEncryptionSetName=yourDiskencryptionSetName

diskEncryptionSetId=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [id] -o tsv)
az vmss create -g $rgName -n $vmssName --image $image --upgrade-policy automatic --admin-username azureuser --generate-ssh-keys --os-disk-encryption-set $diskEncryptionSetId --data-disk-sizes-gb 64 128 --data-disk-encryption-sets $diskEncryptionSetId $diskEncryptionSetId

Buat disk kosong yang dienkripsi menggunakan enkripsi sisi server dengan kunci yang dikelola pelanggan dan lampirkan ke VM

vmName=yourVMName
rgName=yourResourceGroupName
diskName=yourDiskName
diskSkuName=Premium_LRS
diskSizeinGiB=30
location=westcentralus
diskLUN=2
diskEncryptionSetName=yourDiskEncryptionSetName


diskEncryptionSetId=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [id] -o tsv)

az disk create -n $diskName -g $rgName -l $location --encryption-type EncryptionAtRestWithCustomerKey --disk-encryption-set $diskEncryptionSetId --size-gb $diskSizeinGiB --sku $diskSkuName

diskId=$(az disk show -n $diskName -g $rgName --query [id] -o tsv)

az vm disk attach --vm-name $vmName --lun $diskLUN --ids $diskId

Ubah kunci DiskEncryptionSet untuk memutar kunci untuk semua sumber daya yang merujuk pada DiskEncryptionSet


rgName=yourResourceGroupName
keyVaultName=yourKeyVaultName
keyName=yourKeyName
diskEncryptionSetName=yourDiskEncryptionSetName


keyVaultId=$(az keyvault show --name $keyVaultName--query [id] -o tsv)

keyVaultKeyUrl=$(az keyvault key show --vault-name $keyVaultName --name $keyName --query [key.kid] -o tsv)

az disk-encryption-set update -n keyrotationdes -g keyrotationtesting --key-url $keyVaultKeyUrl --source-vault $keyVaultId

Temukan status enkripsi sisi server dari disk

az disk show -g yourResourceGroupName -n yourDiskName --query [encryption.type] -o tsv

Penting

Kunci yang dikelola pelanggan mengandalkan identitas terkelola untuk sumber daya Azure, fitur ID Microsoft Entra. Saat Anda mengonfigurasi kunci yang dikelola pelanggan, identitas terkelola secara otomatis ditetapkan ke sumber daya Anda di bawah perlindungan. Jika Anda kemudian memindahkan langganan, grup sumber daya, atau disk terkelola dari satu direktori Microsoft Entra ke direktori lain, identitas terkelola yang terkait dengan disk terkelola tidak ditransfer ke penyewa baru, sehingga kunci yang dikelola pelanggan mungkin tidak lagi berfungsi. Untuk informasi selengkapnya, lihat Mentransfer langganan antara direktori Microsoft Entra.

Langkah berikutnya