تمكين تشفير القرص لعقد نظام المجموعة المُدارة في Service Fabric
تدعم المجموعات المُدارة من Service Fabric خيارين لتشفير الأقراص للمساعدة في حماية بياناتك للوفاء بالتزامات الأمان والتوافق المؤسسية. الخيار الموصى به هو التشفير في المضيف، ولكنه يدعم أيضاً تشفير قرص Azure. راجع خيارات تشفير القرص وتأكد من أن الخيار المحدد يلبي احتياجاتك.
تمكين التشفير في المضيف
تعمل طريقة التشفير هذه على تحسين تشفير قرص Azure من خلال دعم جميع أنواع أنظمة التشغيل والصور، بما في ذلك الصور المخصصة، لأجهزتك الظاهرية عن طريق تشفير البيانات في خدمة تخزين Azure. لا تستخدم هذه الطريقة وحدة المعالجة المركزية للأجهزة الظاهرية ولا تؤثر على أداء الأجهزة الظاهرية الخاصة بك ما يمكّن أحمال العمل من استخدام جميع موارد وحدة حفظ المخزون المتوفرة للأجهزة الظاهرية.
ملاحظة
لا يمكنك التمكين على أنواع العقد الحالية. يجب توفير نوع عقدة جديد وترحيل حمل العمل.
ملاحظة
ستظهر حالة تشفير قرص Azure Security Center على أنها غير سليمة في الوقت الحالي عند استخدام التشفير في المضيف
اتبع هذه الخطوات وقم بالرجوع إلى نموذج القالب هذا لتوزيع مجموعة جديدة مدارة من Service Fabric مع تمكين تشفير المضيف.
راجع القيود التالية للتحقق من أنها تلبي متطلباتك.
قم بإعداد المتطلبات الأساسية المطلوبة قبل توزيع نظام المجموعة.
قم بتكوين الخاصية
enableEncryptionAtHostفي قالب نظام المجموعة المُدار لكل تشفير قرص لنوع العقدة المطلوب. العينة مكوّنة مسبقاً.- يجب أن يكون apiVersion الخاص بمورد نظام المجموعة المُدار بواسطة Service Fabric هو 2021-11-01-preview أو أحدث.
{ "apiVersion": "[variables('sfApiVersion')]", "type": "Microsoft.ServiceFabric/managedclusters/nodetypes", "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]", "location": "[resourcegroup().location]", "properties": { "enableEncryptionAtHost": true ... } }التوزيع والتحقق
توزيع نظام المجموعة المُدار التي تم تكوينه مع تمكين تشفير المضيف.
$clusterName = "<clustername>" $resourceGroupName = "<rg-name>" New-AzResourceGroupDeployment -Name $resourceGroupName -ResourceGroupName $resourceGroupName -TemplateFile .\azuredeploy.json -TemplateParameterFile .\azuredeploy.parameters.json -Debug -Verboseيمكنك التحقق من حالة تشفير القرص على مجموعة المقاييس الأساسية الخاصة بنوع العقدة باستخدام الأمر
Get-AzVmss. ستحتاج أولاً إلى العثور على اسم مجموعة الموارد الداعمة للمجموعة المُدارة (التي تحتوي على الشبكة الظاهرية الأساسية وموازن التحميل وعنوان IP العام وNSG ومجموعة (مجموعات) المقاييس وحسابات التخزين). تأكد من تعديلNodeTypeNAmeإلى اسم نوع عقدة نظام المجموعة الذي ترغب في التحقق منه (كما هو محدد في قالب التوزيع الخاص بك).$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يجب أن تبدو نتيجة الإرجاع كهذا:
$VMSS.VirtualMachineProfile.SecurityProfile.EncryptionAtHost True
تمكين تشفير قرص Azure
يوفر تشفير قرص Azure تشفير وحدة التخزين لنظام التشغيل وأقراص البيانات الخاصة بأجهزة Azure الظاهرية باستخدام ميزة DM-Crypt في Linux أو ميزة BitLocker في Windows. تم دمج ADE مع Azure Key Vault لمساعدتك في التحكم في مفاتيح تشفير القرص وبياناته السرية وإدارتها.
في هذا الدليل، ستتعرف على كيفية تمكين تشفير القرص على عقد نظام المجموعة المُدارة من Service Fabric في Windows باستخدام إمكانية تشفير قرص Azureلمجموعات مقاييس الجهاز الظاهري من خلال قوالب Azure Resource Manager (ARM).
التسجيل للحصول على تشفير قرص Azure
تتطلب معاينة تشفير القرص لمجموعة مقاييس الجهاز الظاهري التسجيل الذاتي. تشغيل الأمر التالي:
Register-AzProviderFeature -FeatureName "UnifiedDiskEncryption" -ProviderNamespace "Microsoft.Compute"تحقق من حالة التسجيل عن طريق تشغيل:
Get-AzProviderFeature -ProviderNamespace "Microsoft.Compute" -FeatureName "UnifiedDiskEncryption"بمجرد تغيير الحالة إلى Registered، فأنت جاهز للمتابعة.
تكوين إعدادات تشغيل Key Vault لتشفير القرص
يتطلب تشفير القرص Azure Vault مفتاح Azure للتحكم في مفاتيح تشفير القرص والأسرار وإدارتها. يجب أن يوجد Key Vault ونظام المجموعة المُدارة من Service Fabric في نفس منطقة واشتراك Azure. طالما تم استيفاء هذه المتطلبات، يمكنك استخدام Key Vault جديد أو حالي عن طريق تمكينه لتشفير القرص.
إنشاء Key Vault مع تمكين تشفير القرص
قم بتشغيل الأوامر التالية لإنشاء Key Vault جديد لتشفير القرص. تأكد من أن منطقة Key Vault تقع في نفس المنطقة التي تقع فيها مجموعتك.
$resourceGroupName = "<rg-name>" $keyvaultName = "<kv-name>" New-AzResourceGroup -Name $resourceGroupName -Location eastus2 New-AzKeyVault -ResourceGroupName $resourceGroupName -Name $keyvaultName -Location eastus2 -EnabledForDiskEncryption
تحديث Key Vault الحالي لتمكين تشفير القرص
قم بتشغيل الأوامر التالية لتمكين تشفير القرص لـKey Vault حالي.
Set-AzKeyVaultAccessPolicy -ResourceGroupName $resourceGroupName -VaultName $keyvaultName -EnabledForDiskEncryption
تحديث ملفات القالب والمعلمات لتشفير القرص
سترشدك الخطوة التالية خلال تغييرات القالب المطلوبة لتمكين تشفير القرص على نظام مجموعة مدارة حالية. بدلاً من ذلك، يمكنك توزيع نظام مجموعة جديدة مدارة من Service Fabric مع تمكين تشفير القرص باستخدام هذا القالب: https://github.com/Azure-Samples/service-fabric-cluster-templates/tree/master/SF-Managed-Standard-SKU-1-NT-DiskEncryption
أضف المعلمات التالية إلى القالب، لتحل محل اشتراكك واسم مجموعة الموارد واسم المخزن الخاص بك ضمن
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" } } },بعد ذلك، أضف ملحق الجهاز الظاهري
AzureDiskEncryptionإلى أنواع عقد نظام المجموعة المدارة في القالب:"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')]" } } } ] }أخيراً، قم بتحديث ملف المعلمات، الذي يستبدل اشتراكك ومجموعة الموارد واسم key vault الخاص بك في keyVaultResourceId:
"parameters": { ... "keyVaultResourceId": { "value": "/subscriptions/########-####-####-####-############/resourceGroups/<rg-name>/providers/Microsoft.KeyVault/vaults/<kv-name>" }, "volumeType": { "value": "All" } }توزيع التغييرات والتحقق منها
بمجرد أن تصبح مستعداً، قم بتوزيع التغييرات لتمكين تشفير القرص على نظام المجموعة المدارة الخاصة بك.
$clusterName = "<clustername>" New-AzResourceGroupDeployment -Name $resourceGroupName -ResourceGroupName $resourceGroupName .\azuredeploy.json -TemplateParameterFile .\azuredeploy.parameters.json -Debug -Verboseيمكنك التحقق من حالة تشفير القرص على مجموعة المقاييس الأساسية الخاصة بنوع العقدة باستخدام الأمر
Get-AzVmssDiskEncryption. ستحتاج أولاً إلى العثور على اسم مجموعة الموارد الداعمة للمجموعة المُدارة (التي تحتوي على الشبكة الظاهرية الأساسية وموازن التحميل وعنوان IP العام وNSG ومجموعة (مجموعات) المقاييس وحسابات التخزين). تأكد من تعديلVmssNameإلى اسم نوع عقدة نظام المجموعة الذي ترغب في التحقق منه (كما هو محدد في قالب التوزيع الخاص بك).$VmssName = "NT1" $clustername = <clustername> $supportResourceGroupName = "SFC_" + (Get-AzServiceFabricManagedCluster -ResourceGroupName $resourceGroupName -Name $clustername).ClusterId Get-AzVmssDiskEncryption -ResourceGroupName $supportResourceGroupName -VMScaleSetName $VmssNameيجب أن تبدو النتيجة كهذا:
ResourceGroupName : SFC_########-####-####-####-############ VmScaleSetName : NT1 EncryptionEnabled : True EncryptionExtensionInstalled : True
الخطوات التالية
عينة: نظام المجموعة المُدارة لـSKU Service Fabric القياسية، نوع عقدة واحد مع تمكين تشفير القرص
تشفير قرص Azure لأجهزة Windows الظاهرية
تشفير مجموعات مقاييس الجهاز الظاهري باستخدام Azure Resource Manager