Mengaktifkan enkripsi disk untuk node kluster yang dikelola oleh Service Fabric
Kluster yang dikelola Service Fabric mendukung dua opsi enkripsi disk untuk membantu melindungi data Anda untuk memenuhi komitmen keamanan dan kepatuhan organisasi Anda. Opsi yang disarankan adalah Enkripsi di host, tetapi juga mendukung Azure Disk Encryption. Tinjau opsi enkripsi disk dan pastikan opsi yang dipilih memenuhi kebutuhan Anda.
Aktifkan enkripsi di host
Metode enkripsi ini meningkatkan Azure Disk Encryption dengan mendukung semua jenis dan gambar OS, termasuk gambar kustom, untuk VM Anda dengan mengenkripsi data di layanan Azure Storage. Metode ini tidak menggunakan CPU VM Anda juga tidak memengaruhi kinerja VM Anda yang memungkinkan beban kerja untuk menggunakan semua sumber daya SKU VM yang tersedia.
Catatan
Anda tidak dapat mengaktifkan tipe node yang ada. Anda harus menyediakan tipe node baru dan memigrasikan beban kerja Anda.
Catatan
Status enkripsi disk Azure Security Center akan ditampilkan sebagai Tidak Sehat saat menggunakan Enkripsi di Host
Ikuti langkah-langkah ini dan referensi templat sampel ini untuk menyebarkan cluster Service Fabric terkelola baru dengan enkripsi host diaktifkan.
Tinjau pembatasan berikut untuk memvalidasi mereka memenuhi kebutuhan Anda.
Siapkan prasyarat yang diperlukan sebelum pengerahan klaster.
Konfigurasikan properti
enableEncryptionAtHost
di templat kluster terkelola untuk setiap enkripsi disk jenis node diperlukan. Sampel sudah dikonfigurasi sebelumnya.- ApiVersion sumber daya kluster terkelola Service Fabric harus 2021-11-01-pratinjau atau yang lebih baru.
{ "apiVersion": "[variables('sfApiVersion')]", "type": "Microsoft.ServiceFabric/managedclusters/nodetypes", "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]", "location": "[resourcegroup().location]", "properties": { "enableEncryptionAtHost": true ... } }
Menyebarkan dan memverifikasi
Sebarkan klaster terkelola anda yang dikonfigurasi dengan Enkripsi Host diaktifkan.
$clusterName = "<clustername>" $resourceGroupName = "<rg-name>" New-AzResourceGroupDeployment -Name $resourceGroupName -ResourceGroupName $resourceGroupName -TemplateFile .\azuredeploy.json -TemplateParameterFile .\azuredeploy.parameters.json -Debug -Verbose
Anda dapat memeriksa status enkripsi disk pada set skala dasar tipe node menggunakan perintah
Get-AzVmss
. Pertama Anda harus menemukan nama grup sumber daya pendukung klaster terkelola Anda (berisi jaringan virtual yang mendasarinya, penyeimbang beban, IP publik, NSG, set skala, dan akun penyimpanan). Pastikan untuk memodifikasiNodeTypeNAme
ke nama jenis node kluster apa pun yang ingin Anda periksa (seperti yang ditentukan dalam templat penyebaran Anda).$NodeTypeName = "NT2" $clustername = <clustername> $resourceGroupName = "<rg-name>" $supportResourceGroupName = "SFC_" + (Get-AzServiceFabricManagedCluster -ResourceGroupName $resourceGroupName -Name $clustername).ClusterId $VMSS = Get-AzVmss -ResourceGroupName $supportResourceGroupName -Name $NodeTypeName $VMSS.VirtualMachineProfile.SecurityProfile.EncryptionAtHost
Output kembalian akan tampak seperti ini:
$VMSS.VirtualMachineProfile.SecurityProfile.EncryptionAtHost True
Aktifkan Azure Disk Encryption
Azure Disk Encryption menyediakan enkripsi volume untuk OS dan disk data komputer virtual Azure (VM) dengan menggunakan fitur DM-Crypt di Linux atau fitur BitLocker dari Windows. ADE terintegrasi dengan Azure Key Vault untuk membantu Anda mengontrol dan mengelola kunci dan rahasia enkripsi disk.
Dalam panduan ini, Anda akan mempelajari cara mengaktifkan enkripsi disk pada node kluster yang dikelola Service Fabric di Windows menggunakan kemampuan Azure Disk Encryption untuk set skala komputer virtual melalui templat Azure Resource Manager (ARM).
Mendaftar Azure Disk Encryption
Pratinjau enkripsi disk untuk set skala komputer virtual memerlukan registrasi mandiri. Jalankan perintah berikut:
Register-AzProviderFeature -FeatureName "UnifiedDiskEncryption" -ProviderNamespace "Microsoft.Compute"
Periksa status pendaftaran dengan menjalankan:
Get-AzProviderFeature -ProviderNamespace "Microsoft.Compute" -FeatureName "UnifiedDiskEncryption"
Setelah status berubah menjadi Terdaftar, Anda siap untuk melanjutkan.
Menyediakan Key Vault untuk enkripsi disk
Azure Disk Encryption menggunakan Azure Key Vault untuk mengontrol dan mengelola kunci dan rahasia enkripsi disk. Key Vault dan kluster yang dikelola Service Fabric Anda harus berada di wilayah Azure dan langganan yang sama. Selama persyaratan ini terpenuhi, Anda dapat menggunakan Key Vault baru atau yang sudah ada dengan mengaktifkannya untuk enkripsi disk.
Buat Key Vault dengan enkripsi disk diaktifkan
Jalankan perintah berikut untuk membuat Key Vault baru untuk enkripsi disk. Pastikan wilayah Key Vault Anda berada di wilayah yang sama dengan kluster Anda.
$resourceGroupName = "<rg-name>" $keyvaultName = "<kv-name>" New-AzResourceGroup -Name $resourceGroupName -Location eastus2 New-AzKeyVault -ResourceGroupName $resourceGroupName -Name $keyvaultName -Location eastus2 -EnabledForDiskEncryption
Perbarui Key Vault yang ada untuk memfungsikan enkripsi disk
Jalankan perintah berikut untuk mengaktifkan enkripsi disk untuk Key Vault yang ada.
Set-AzKeyVaultAccessPolicy -ResourceGroupName $resourceGroupName -VaultName $keyvaultName -EnabledForDiskEncryption
Memperbarui file templat dan parameter untuk enkripsi disk
Langkah berikut ini akan memandu Anda melalui perubahan templat yang diperlukan untuk mengaktifkan enkripsi disk pada kluster terkelola yang ada. Secara bergantian, Anda dapat menyebarkan kluster yang dikelola Service Fabric baru dengan enkripsi disk yang diaktifkan dengan template ini: https://github.com/Azure-Samples/service-fabric-cluster-templates/tree/master/SF-Managed-Standard-SKU-1-NT-DiskEncryption
Tambahkan parameter berikut ke templat, dengan mensubstitusi langganan, nama grup sumber daya, dan nama vault Anda sendiri pada
keyVaultResourceId
:"parameters": { "keyVaultResourceId": { "type": "string", "defaultValue": "/subscriptions/########-####-####-####-############/resourceGroups/<rg-name>/providers/Microsoft.KeyVault/vaults/<kv-name>", "metadata": { "description": "Full resource id of the Key Vault used for disk encryption." } }, "volumeType": { "type": "string", "defaultValue": "All", "metadata": { "description": "Type of the volume OS or Data to perform encryption operation" } } },
Selanjutnya, tambahkan ekstensi
AzureDiskEncryption
VM ke jenis node kluster terkelola dalam templat:"properties": { "vmExtensions": [ { "name": "AzureDiskEncryption", "properties": { "publisher": "Microsoft.Azure.Security", "type": "AzureDiskEncryption", "typeHandlerVersion": "2.2", "autoUpgradeMinorVersion": true, "settings": { "EncryptionOperation": "EnableEncryption", "KeyVaultURL": "[reference(parameters('keyVaultResourceId'),'2016-10-01').vaultUri]", "KeyVaultResourceId": "[parameters('keyVaultResourceID')]", "VolumeType": "[parameters('volumeType')]" } } } ] }
Terakhir, perbarui file parameter, dengan mensubstituasi langganan, grup sumber daya, dan nama kubah utama Anda sendiri di keyVaultResourceId:
"parameters": { ... "keyVaultResourceId": { "value": "/subscriptions/########-####-####-####-############/resourceGroups/<rg-name>/providers/Microsoft.KeyVault/vaults/<kv-name>" }, "volumeType": { "value": "All" } }
Menyebarkan dan memverifikasi perubahan
Setelah Anda siap, sebarkan perubahan untuk mengaktifkan enkripsi disk pada kluster yang Anda kelola.
$clusterName = "<clustername>" New-AzResourceGroupDeployment -Name $resourceGroupName -ResourceGroupName $resourceGroupName .\azuredeploy.json -TemplateParameterFile .\azuredeploy.parameters.json -Debug -Verbose
Anda dapat memeriksa status enkripsi disk pada set skala dasar tipe node menggunakan perintah
Get-AzVmssDiskEncryption
. Pertama, Anda harus menemukan nama grup sumber daya pendukung kluster yang Anda kelola (berisi jaringan virtual yang mendasarinya, penyeimbang muatan, IP publik, NSG, set skala, dan akun penyimpanan). Pastikan untuk memodifikasiVmssName
ke nama jenis node kluster apa pun yang ingin Anda periksa (seperti yang ditentukan dalam templat penyebaran Anda).$VmssName = "NT1" $clustername = <clustername> $supportResourceGroupName = "SFC_" + (Get-AzServiceFabricManagedCluster -ResourceGroupName $resourceGroupName -Name $clustername).ClusterId Get-AzVmssDiskEncryption -ResourceGroupName $supportResourceGroupName -VMScaleSetName $VmssName
Output akan tampak mirip dengan ini:
ResourceGroupName : SFC_########-####-####-####-############ VmScaleSetName : NT1 EncryptionEnabled : True EncryptionExtensionInstalled : True
Langkah berikutnya
Azure Disk Encryption for Windows VM
Mengenkripsi set skala komputer virtual dengan Azure Resource Manager