Mengenkripsi OS dan disk data terlampir dalam Virtual Machine Scale Set dengan Azure CLI
Azure CLI digunakan untuk membuat dan mengelola sumber daya Azure dari baris perintah atau dalam skrip. Mulai cepat ini menunjukkan kepada Anda cara menggunakan Azure CLI untuk membuat dan mengenkripsi Set Skala Komputer Virtual. Untuk informasi selengkapnya tentang menerapkan enkripsi Disk Azure ke Virtual Machine Scale Set, lihat Azure Disk Encryption untuk Virtual Machine Scale Sets.
Prasyarat
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai Cepat untuk Bash di Azure Cloud Shell.
Jika Anda lebih suka menjalankan perintah referensi CLI secara lokal, instal Azure CLI. Jika Anda menjalankan Windows atau macOS, pertimbangkan untuk menjalankan Azure CLI dalam kontainer Docker. Untuk informasi lebih lanjut, lihat Cara menjalankan Azure CLI di kontainer Docker.
Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah login az. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Masuk dengan Azure CLI.
Saat Anda diminta, instal ekstensi Azure CLI pada penggunaan pertama. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan ekstensi dengan Azure CLI.
Jalankan versi az untuk menemukan versi dan pustaka dependen yang diinstal. Untuk meningkatkan ke versi terbaru, jalankan peningkatan az.
- Artikel ini memerlukan CLI Azure versi 2.0.31 atau yang lebih baru. Jika menggunakan Azure Cloud Shell, versi terbaru sudah terinstal.
Membuat set skala
Sebelum Anda membuat set skala, buat grup sumber daya dengan buat grup az. Contoh berikut ini menampilkan cara membuat grup sumber daya bernama myResourceGroup di lokasi eastus:
az group create --name myResourceGroup --location eastus
Sekarang buat Virtual Machine Scale Set dengan az vmss create. Contoh berikut membuat set skala bernama myScaleSet yang diatur untuk diperbarui secara otomatis saat perubahan diterapkan, dan menghasilkan kunci SSH jika tidak ada di ~/.ssh/id_rsa. Disk data 32 Gb dilampirkan ke setiap instans VM, dan Ekstensi Skrip Kustom Azure digunakan untuk menyiapkan disk data dengan set ekstensi az vmss:
Penting
Pastikan untuk memilih Sistem Operasi yang didukung dengan ADE. OS yang didukung untuk ADE.
# Create a scale set with attached data disk
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--orchestration-mode Flexible \
--image <SKU Linux Image> \
--admin-username azureuser \
--generate-ssh-keys \
--data-disk-sizes-gb 32
# Prepare the data disk for use with the Custom Script Extension
az vmss extension set \
--publisher Microsoft.Azure.Extensions \
--version 2.0 \
--name CustomScript \
--resource-group myResourceGroup \
--vmss-name myScaleSet \
--settings '{"fileUris":["https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/prepare_vm_disks.sh"],"commandToExecute":"./prepare_vm_disks.sh"}'
Dibutuhkan beberapa menit untuk membuat dan mengonfigurasi semua sumber daya dan komputer virtual set skala.
Membuat Azure Key Vault diaktifkan untuk enkripsi disk
Azure Key Vault dapat menyimpan kunci, rahasia, atau kata sandi yang memungkinkan Anda menerapkannya dengan aman dalam aplikasi dan layanan Anda. Kunci kriptografi disimpan di Azure Key Vault menggunakan perlindungan perangkat lunak, atau Anda dapat mengimpor atau menghasilkan kunci Anda dalam Modul Keamanan Perangkat Keras (HSM) yang disertifikasi ke standar yang divalidasi FIPS 140. Kunci kriptografi ini digunakan untuk mengenkripsi dan mendekripsi disk virtual yang dilampirkan pada komputer virtual Anda. Anda memegang kendali atas kunci kriptografi ini dan dapat mengaudit penggunaannya.
Tentukan karakter unik Anda keyvault_name. Kemudian, buat KeyVault dengan pembuatan keyvault az di langganan dan wilayah yang sama dengan kumpulan skala, dan atur kebijakan akses --enabled-for-disk-encryption.
# Provide your own unique Key Vault name
keyvault_name=myuniquekeyvaultname
# Create Key Vault
az keyvault create --resource-group myResourceGroup --name $keyvault_name --enabled-for-disk-encryption
Gunakan Key Vault yang ada
Langkah ini hanya diperlukan jika Anda memiliki Key Vault yang sudah ada yang ingin Anda gunakan dengan enkripsi disk. Lewati langkah ini jika Anda membuat Key Vault di bagian sebelumnya.
Tentukan karakter unik Anda keyvault_name. Kemudian, perbarui KeyVault Anda dengan pembaruan keyvault az dan atur kebijakan akses enkripsi --enabled-for-disk.
# Provide your own unique Key Vault name
keyvault_name=myuniquekeyvaultname
# Create Key Vault
az keyvault update --name $keyvault_name --enabled-for-disk-encryption
Megaktifkan enkripsi
Catatan
Jika menggunakan Virtual Machine Scale Sets dalam Mode Orkestrasi Fleksibel, hanya instans baru yang akan dienkripsi. Instans yang ada dalam set skala perlu dienkripsi satu per satu atau dihapus dan diganti.
Untuk mengenkripsi instans VM dalam set skala, pertama-tama dapatkan beberapa informasi tentang ID sumber daya Key Vault dengan Get-AzKeyVault. Variabel ini digunakan untuk kemudian memulai proses enkripsi dengan Set-AzVmssDiskEncryptionExtension:
# Get the resource ID of the Key Vault
vaultResourceId=$(az keyvault show --resource-group myResourceGroup --name $keyvault_name --query id -o tsv)
# Enable encryption of the data disks in a scale set
az vmss encryption enable \
--resource-group myResourceGroup \
--name myScaleSet \
--disk-encryption-keyvault $vaultResourceId \
--volume-type DATA
Mungkin perlu waktu satu atau dua menit agar proses enkripsi dimulai.
Karena kumpulan skala adalah kebijakan peningkatan pada skala yang dibuat pada langkah sebelumnya diatur ke otomatis,instance VM secara otomatis memulai proses enkripsi. Pada set skala di mana kebijakan peningkatan adalah manual, mulai kebijakan enkripsi pada instance VM dengan az vmss update-instances.
Aktifkan enkripsi menggunakan KEK untuk membungkus kunci
Anda juga dapat menggunakan Kunci Enkripsi Kunci untuk keamanan tambahan saat mengenkripsi Set Skala Komputer Virtual.
# Get the resource ID of the Key Vault
vaultResourceId=$(az keyvault show --resource-group myResourceGroup --name $keyvault_name --query id -o tsv)
# Enable encryption of the data disks in a scale set
az vmss encryption enable \
--resource-group myResourceGroup \
--name myScaleSet \
--disk-encryption-keyvault $vaultResourceId \
--key-encryption-key myKEK \
--key-encryption-keyvault $vaultResourceId \
--volume-type DATA
Catatan
Sintaks untuk nilai parameter disk-encryption-keyvault adalah string pengidentifikasi penuh:
/subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name]
Sintaks untuk nilai parameter key-encryption-key parameter adalah URI lengkap ke KEK seperti pada:
https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]
Periksa progres enkripsi
Untuk memeriksa status enkripsi disk, gunakan Get-AzVmssDiskEncryption:
az vmss encryption show --resource-group myResourceGroup --name myScaleSet
Ketika instance VM dienkripsi, kode status melaporkan EncryptionState/encrypted, seperti yang ditunjukkan dalam contoh output berikut:
[
{
"disks": [
{
"encryptionSettings": null,
"name": "myScaleSet_myScaleSet_0_disk2_3f39c2019b174218b98b3dfae3424e69",
"statuses": [
{
"additionalProperties": {},
"code": "EncryptionState/encrypted",
"displayStatus": "Encryption is enabled on disk",
"level": "Info",
"message": null,
"time": null
}
]
}
],
"id": "/subscriptions/guid/resourceGroups/MYRESOURCEGROUP/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet/virtualMachines/0",
"resourceGroup": "MYRESOURCEGROUP"
}
]
Nonaktifkan enkripsi
Jika Anda tidak lagi ingin menggunakan disk instans VM terenkripsi, Anda dapat menonaktifkan enkripsi dengan Disable-AzVmssDiskEncryption sebagai berikut:
az vmss encryption disable --resource-group myResourceGroup --name myScaleSet
Langkah berikutnya
- Dalam artikel ini, Anda menggunakan Azure CLI untuk mengenkripsi Virtual Machine Scale Set. Anda juga bisa menggunakan templat Azure PowerShell atau Azure Resource Manager.
- Jika Anda ingin Azure Disk Encryption diterapkan setelah ekstensi lain disediakan, Anda dapat menggunakan urutan ekstensi.
- Contoh file batch end-to-end untuk enkripsi disk data set skala Linux dapat ditemukan di sini. Contoh ini membuat grup sumber daya, set skala Linux, memasang disk data 5 GB, dan mengenkripsi Set Skala Komputer Virtual.