Gunakan Azure CLI untuk mengaktifkan enkripsi ujung ke ujung menggunakan enkripsi di host
Berlaku untuk: ✔️ Mesin Virtual Linux ✔️ Set skala fleksibel
Saat Anda mengaktifkan enkripsi di host, data yang disimpan di host VM dienkripsi saat tidak aktif dan mengalirkan enkripsi ke layanan Microsoft Azure Storage. Untuk informasi konseptual tentang enkripsi di host, dan jenis enkripsi disk terkelola lainnya, lihat Enkripsi di host - Enkripsi end-to-end untuk data VM Anda.
Batasan
- Didukung untuk ukuran sektor 4k Ultra Disk dan Premium SSD v2.
- Hanya didukung pada ukuran sektor 512e Ultra Disk dan Premium SSD v2 jika dibuat setelah 13/5/2023.
- Untuk disk yang dibuat sebelum tanggal ini, rekam jepret disk Anda dan buat disk baru menggunakan rekam jepret.
- Tidak dapat diaktifkan pada komputer virtual (VM) atau set skala komputer virtual yang saat ini atau pernah mengaktifkan Azure Disk Encryption.
- Azure Disk Encryption tidak dapat diaktifkan pada disk yang mengaktifkan enkripsi di host.
- Enkripsi dapat diaktifkan pada set skala komputer virtual yang ada. Namun, hanya VM baru yang dibuat setelah mengaktifkan enkripsi yang dienkripsi secara otomatis.
- VM yang ada harus dibatalkan alokasinya dan dialokasikan kembali untuk dienkripsi.
Ketersediaan regional
Enkripsi di host tersedia di semua wilayah untuk semua jenis disk.
Ukuran komputer virtual yang didukung
Daftar lengkap ukuran Komputer Virtual yang didukung dapat ditarik secara terprogram. Untuk mempelajari cara mengambilnya secara terprogram, lihat bagian Menemukan ukuran VM yang didukung. Meningkatkan ukuran VM menghasilkan validasi untuk memeriksa apakah ukuran VM baru mendukung fitur EncryptionAtHost.
Prasyarat
Anda harus mengaktifkan fitur untuk langganan sebelum Anda menggunakan properti EncryptionAtHost untuk Komputer Virtual/VMSS Anda. Gunakan langkah-langkah berikut untuk mengaktifkan fitur untuk langganan Anda:
- Jalankan perintah berikut untuk mendaftarkan fitur untuk langganan Anda
az feature register --namespace Microsoft.Compute --name EncryptionAtHost
- Harap periksa apakah status pendaftaran sudah Terdaftar (perlu beberapa menit) menggunakan perintah di bawah ini sebelum mencoba fitur tersebut.
az feature show --namespace Microsoft.Compute --name EncryptionAtHost
Membuat sumber daya
Catatan
Bagian ini hanya berlaku untuk konfigurasi dengan kunci yang dikelola pelanggan. Jika Anda menggunakan kunci yang dikelola platform, Anda dapat melompat ke bagian Contoh skrip .
Setelah fitur diaktifkan, Anda perlu 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:
- Instal Azure CLI terbaru dan masuk ke akun Azure dengan az masuk.
- Buat dan konfigurasikan HSM terkelola.
- Tetapkan izin kepada pengguna, sehingga mereka dapat mengelola HSM Terkelola Anda.
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
Contoh skrip
Membuat VM dengan enkripsi di host yang diaktifkan dengan kunci yang dikelola pelanggan
Buat VM dengan disk terkelola menggunakan URI sumber daya DiskEncryptionSet yang dibuat sebelumnya untuk mengenkripsi cache OS dan data disk dengan kunci yang dikelola pelanggan. Disk sementara dienkripsi dengan kunci yang dikelola platform.
rgName=yourRGName
vmName=yourVMName
location=eastus
vmSize=Standard_DS2_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 \
--encryption-at-host \
--image $image \
--size $vmSize \
--generate-ssh-keys \
--os-disk-encryption-set $diskEncryptionSetId \
--data-disk-sizes-gb 128 128 \
--data-disk-encryption-sets $diskEncryptionSetId $diskEncryptionSetId
Membuat VM dengan enkripsi di host diaktifkan dengan kunci yang dikelola platform
Buat VM dengan enkripsi di host yang diaktifkan untuk mengenkripsi cache disk OS/data dan disk sementara dengan kunci yang dikelola platform.
rgName=yourRGName
vmName=yourVMName
location=eastus
vmSize=Standard_DS2_v2
image=LinuxImageURN
az vm create -g $rgName \
-n $vmName \
-l $location \
--encryption-at-host \
--image $image \
--size $vmSize \
--generate-ssh-keys \
--data-disk-sizes-gb 128 128 \
Memperbarui VM untuk mengaktifkan enkripsi di host
rgName=yourRGName
vmName=yourVMName
az vm update -n $vmName \
-g $rgName \
--set securityProfile.encryptionAtHost=true
Memeriksa status enkripsi di host untuk VM
rgName=yourRGName
vmName=yourVMName
az vm show -n $vmName \
-g $rgName \
--query [securityProfile.encryptionAtHost] -o tsv
Memperbarui VM untuk menonaktifkan enkripsi di host
Anda harus membatalkan alokasi mesin virtual Anda sebelum Anda dapat menonaktifkan enkripsi di host.
rgName=yourRGName
vmName=yourVMName
az vm update -n $vmName \
-g $rgName \
--set securityProfile.encryptionAtHost=false
Membuat Set Skala Komputer Virtual dengan enkripsi di host yang diaktifkan dengan kunci yang dikelola pelanggan
Buat Set Skala Komputer Virtual dengan disk terkelola menggunakan URI sumber daya DiskEncryptionSet yang dibuat sebelumnya untuk mengenkripsi cache OS dan disk data dengan kunci yang dikelola pelanggan. Disk sementara dienkripsi dengan kunci yang dikelola platform.
Penting
Mulai November 2023, set skala VM yang dibuat menggunakan PowerShell dan Azure CLI akan default ke Mode Orkestrasi Fleksibel jika tidak ada mode orkestrasi yang ditentukan. Untuk informasi selengkapnya tentang perubahan ini dan tindakan apa yang harus Anda ambil, buka Melanggar Perubahan untuk Pelanggan VMSS PowerShell/CLI - Microsoft Community Hub
rgName=yourRGName
vmssName=yourVMSSName
location=westus2
vmSize=Standard_DS3_V2
image=Ubuntu2204
diskEncryptionSetName=yourDiskEncryptionSetName
diskEncryptionSetId=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [id] -o tsv)
az vmss create -g $rgName \
-n $vmssName \
--encryption-at-host \
--image $image \
--orchestration-mode flexible \
--admin-username azureuser \
--generate-ssh-keys \
--os-disk-encryption-set $diskEncryptionSetId \
--data-disk-sizes-gb 64 128 \
--data-disk-encryption-sets $diskEncryptionSetId $diskEncryptionSetId
Membuat Set Skala Komputer Virtual dengan enkripsi di host yang diaktifkan dengan kunci yang dikelola platform
Buat Set Skala Komputer Virtual dengan enkripsi di host yang diaktifkan untuk mengenkripsi cache disk OS/data dan disk sementara dengan kunci yang dikelola platform.
Penting
Mulai November 2023, set skala VM yang dibuat menggunakan PowerShell dan Azure CLI akan default ke Mode Orkestrasi Fleksibel jika tidak ada mode orkestrasi yang ditentukan. Untuk informasi selengkapnya tentang perubahan ini dan tindakan apa yang harus Anda ambil, buka Melanggar Perubahan untuk Pelanggan VMSS PowerShell/CLI - Microsoft Community Hub
rgName=yourRGName
vmssName=yourVMSSName
location=westus2
vmSize=Standard_DS3_V2
image=Ubuntu2204
az vmss create -g $rgName \
-n $vmssName \
--encryption-at-host \
--image $image \
--orchestration-mode flexible \
--admin-username azureuser \
--generate-ssh-keys \
--data-disk-sizes-gb 64 128 \
Memperbarui Virtual Machine Scale Set untuk mengaktifkan enkripsi di host
rgName=yourRGName
vmssName=yourVMName
az vmss update -n $vmssName \
-g $rgName \
--set virtualMachineProfile.securityProfile.encryptionAtHost=true
Periksa status enkripsi di host untuk Set Skala Komputer Virtual
rgName=yourRGName
vmssName=yourVMName
az vmss show -n $vmssName \
-g $rgName \
--query [virtualMachineProfile.securityProfile.encryptionAtHost] -o tsv
Memperbarui Virtual Machine Scale Set untuk menonaktifkan enkripsi di host
Anda dapat menonaktifkan enkripsi di host pada Virtual Machine Scale Set Anda tetapi, ini hanya akan memengaruhi VM yang dibuat setelah Anda menonaktifkan enkripsi di host. Untuk mesin virtual yang ada, Anda harus membatalkan alokasi mesin virtual, menonaktifkan enkripsi di host pada mesin virtual individu, lalu mengalokasikan kembali mesin virtual.
rgName=yourRGName
vmssName=yourVMName
az vmss update -n $vmssName \
-g $rgName \
--set virtualMachineProfile.securityProfile.encryptionAtHost=false
Menemukan ukuran VM yang didukung
Ukuran VM warisan tidak didukung. Anda dapat menemukan daftar ukuran VM yang didukung dengan menggunakan API SKU sumber daya atau modul Azure PowerShell. Anda tidak dapat menemukan ukuran yang didukung menggunakan CLI.
Saat memanggil RESOURCE Skus API, periksa apakah EncryptionAtHostSupported
kemampuan diatur ke True.
{
"resourceType": "virtualMachines",
"name": "Standard_DS1_v2",
"tier": "Standard",
"size": "DS1_v2",
"family": "standardDSv2Family",
"locations": [
"CentralUSEUAP"
],
"capabilities": [
{
"name": "EncryptionAtHostSupported",
"value": "True"
}
]
}
Untuk modul Azure PowerShell, gunakan cmdlet Get-AzComputeResourceSku .
$vmSizes=Get-AzComputeResourceSku | where{$_.ResourceType -eq 'virtualMachines' -and $_.Locations.Contains('CentralUSEUAP')}
foreach($vmSize in $vmSizes)
{
foreach($capability in $vmSize.capabilities)
{
if($capability.Name -eq 'EncryptionAtHostSupported' -and $capability.Value -eq 'true')
{
$vmSize
}
}
}
Langkah berikutnya
Setelah membuat dan mengonfigurasi sumber daya ini, Anda dapat menggunakannya untuk mengamankan disk yang terkelola. Tautan berikut ini berisi contoh skrip, dengan skenario masing-masing, yang dapat digunakan untuk mengamankan disk terkelola Anda.