تشفير نظام التشغيل وأقراص البيانات المرفقة في مجموعة مقياس الجهاز الظاهري باستخدام Azure PowerShell
تُستخدم الوحدة النمطية Azure PowerShell لإنشاء موارد Azure وإدارتها من سطر الأوامر PowerShell أو في البرامج النصية. توضح هذه المقالة كيفية استخدام Azure PowerShell لإنشاء مجموعة مقياس الجهاز الظاهري وتشفيرها. لمزيد من المعلومات حول تطبيق تشفير قرص Azure على مجموعة مقياس الجهاز الظاهري، راجع تشفير قرص Azure لمجموعات مقياس الجهاز الظاهري.
Azure Cloud Shell
Azure يستضيف Azure Cloud Shell، بيئة تفاعلية يمكن استخدامها من خلال المستعرض. يمكنك استخدام Bash أو PowerShell مع Cloud Shell للعمل مع خدمات Azure. يمكنك استخدام أوامر Cloud Shell المثبتة مسبقًا لتشغيل التعليمات البرمجية في هذه المقالة دون الحاجة إلى تثبيت أي شيء على البيئة المحلية.
لبدء Azure Cloud Shell:
خيار | مثال/ رابط |
---|---|
انقر فوق جربه في الزاوية العلوية اليسرى من التعليمة البرمجية أو كتلة الأمر. تحديد جربه لا يقوم بنسخ التعليمة البرمجية أو الأمر تلقائيًا إلى Cloud Shell. | |
انتقل إلى https://shell.azure.com، أو حدد زر تشغيل Cloud Shell لفتح Cloud Shell في المتصفح لديك. | |
حدد زر Cloud Shell على شريط القوائم في أعلى اليمين في مدخل Microsoft Azure. |
لاستخدام Azure Cloud Shell:
ابدأ تشغيل Cloud Shell.
حدد الزر نسخ على كتلة التعليمات البرمجية (أو كتلة الأوامر) لنسخ التعليمات البرمجية أو الأمر.
ألصق التعليمة البرمجية أو الأمر في جلسة Cloud Shell بتحديد Ctrl+Shift+Vعلى Windows وLunix، أو بتحديد Cmd+Shift+Vعلى macOS.
حدد Enter لتشغيل التعليمات البرمجية أو الأمر.
إنشاء مخزن رئيسي لـ Azure ممكّن لتشفير القرص
يمكن لـ Azure Key Vault تخزين المفاتيح أو الأسرار أو كلمات المرور التي تتيح لك تنفيذها بأمان في تطبيقاتك وخدماتك. يتم تخزين مفاتيح التشفير في Azure Key Vault باستخدام حماية البرامج، أو يمكنك استيراد أو إنشاء مفاتيحك في وحدات أمان الأجهزة (HSMs) المعتمدة لمعايير FIPS 140 التي تم التحقق من صحتها. تُستخدم مفاتيح التشفير هذه لتشفير وفك تشفير الأقراص الظاهرية المرفقة بجهازك الظاهري. تحتفظ بالسيطرة على مفاتيح التشفير هذه ويمكنك مراجعة استخدامها.
إنشاء مخزن رئيسي باستخدام New-AzKeyvault. للسماح باستخدام المخزن الرئيسي لتشفير القرص، قم بتعيين المعلمة EnabledForDiskEncryption. يحدد المثال التالي أيضاً المتغيرات الخاصة باسم مجموعة الموارد، واسم المخزن الرئيسي، والموقع. تقديم اسم المخزن الرئيسي الفريد الخاص بك:
$rgName="myResourceGroup"
$vaultName="myuniquekeyvault"
$location = "EastUS"
New-AzResourceGroup -Name $rgName -Location $location
New-AzKeyVault -VaultName $vaultName -ResourceGroupName $rgName -Location $location -EnabledForDiskEncryption
استخدام مخزن Key Vault موجود
هذه الخطوة مطلوبة فقط إذا كان لديك Key Vault موجود بالفعل وترغب في استخدامه مع تشفير القرص. تخطِّ هذه الخطوة إذا قمت بإنشاء Key Vault في القسم السابق.
يمكنك تمكين المخزن الرئيسي الحالي في نفس الاشتراك والمنطقة حيث تم تعيين مقياس لتشفير القرص باستخدام Set-AzKeyVaultAccessPolicy. حدد اسم المخزن الرئيسي الحالي في المتغير $vaultName على النحو التالي:
$vaultName="myexistingkeyvault"
Set-AzKeyVaultAccessPolicy -VaultName $vaultName -EnabledForDiskEncryption
إنشاء مجموعة تحجيم
هام
بدءا من نوفمبر 2023، سيتم تعيين مجموعات مقياس الجهاز الظاهري التي تم إنشاؤها باستخدام PowerShell وAzure CLI افتراضيا إلى وضع التنسيق المرن إذا لم يتم تحديد وضع التزامن. لمزيد من المعلومات حول هذا التغيير والإجراءات التي يجب اتخاذها، انتقل إلى كسر التغيير لعملاء VMSS PowerShell/CLI - مركز مجتمع Microsoft
أولاً عيّن اسم مستخدم المسؤول وكلمة مرور لمثيلات الجهاز الظاهري باستخدام Get-Credential:
$cred = Get-Credential
الآن قم بإنشاء مجموعة مقياس الجهاز الظاهري باستخدام New-AzVmss. يُنشأ موازن تحميل أيضاً لتوزيع النقل على مثيلات أجهزة ظاهرية متعددة. يتضمن موازن التحميل قواعد لتوزيع النقل على منفذ TCP 80، بالإضافة إلى السماح بنقل سطح المكتب البعيد على منفذ TCP 3389 وPowerShell الاتصال عن بُعد على منفذ TCP 5985:
$vmssName="myScaleSet"
New-AzVmss `
-ResourceGroupName $rgName `
-VMScaleSetName $vmssName `
-OrchestrationMode "flexible" `
-Location $location `
-VirtualNetworkName "myVnet" `
-SubnetName "mySubnet" `
-PublicIpAddressName "myPublicIPAddress" `
-LoadBalancerName "myLoadBalancer" `
-Credential $cred
تمكين التشفير
لتشفير مثيلات الجهاز الظاهري في مجموعة مقياس، احصل أولاً على بعض المعلومات عن عنوان URI للمخزن الرئيسي ومعرف المورد باستخدام Get-AzKeyVault. تُستخدم هذه المتغيرات لبدء عملية التشفير باستخدام Set-AzVmssDiskEncryptionExtension:
$diskEncryptionKeyVaultUrl=(Get-AzKeyVault -ResourceGroupName $rgName -Name $vaultName).VaultUri
$keyVaultResourceId=(Get-AzKeyVault -ResourceGroupName $rgName -Name $vaultName).ResourceId
Set-AzVmssDiskEncryptionExtension -ResourceGroupName $rgName -VMScaleSetName $vmssName `
-DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $keyVaultResourceId -VolumeType "All"
عند المطالبة، اكتب y لمتابعة عملية تشفير القرص على مثيلات الجهاز الظاهري لمجموعة القياس.
تمكين التشفير باستخدام KEK للف المفتاح
يمكنك أيضا استخدام مفتاح تشفير المفتاح لمزيد من الأمان عند تشفير مجموعة مقياس الجهاز الظاهري.
$diskEncryptionKeyVaultUrl=(Get-AzKeyVault -ResourceGroupName $rgName -Name $vaultName).VaultUri
$keyVaultResourceId=(Get-AzKeyVault -ResourceGroupName $rgName -Name $vaultName).ResourceId
$keyEncryptionKeyUrl = (Get-AzKeyVaultKey -VaultName $vaultName -Name $keyEncryptionKeyName).Key.kid;
Set-AzVmssDiskEncryptionExtension -ResourceGroupName $rgName -VMScaleSetName $vmssName `
-DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $keyVaultResourceId `
-KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $keyVaultResourceId -VolumeType "All"
إشعار
جملة قيمة معلمة keyvault لتشفير القرص هي سلسلة المعرف الكاملة:
/subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name]
بناء الجملة لقيمة معلمة مفتاح تشفير المفتاح هو عنوان URI الكامل لـ KEK كما في:
https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]
التحقق من تقدم التشفير
للتحقق من حالة تشفير القرص، استخدم Get-AzVmDiskEncryption:
Get-AzVmssDiskEncryption -ResourceGroupName $rgName -VMScaleSetName $vmssName
عندما يتم تشفير مثيلات الجهاز الظاهري، فإن EncryptionSummary تقارير التعليمات البرمجية ProvisioningState/Successed كما هو موضح في المثال التالي الناتج:
ResourceGroupName : myResourceGroup
VmScaleSetName : myScaleSet
EncryptionSettings :
KeyVaultURL : https://myuniquekeyvault.vault.azure.net/
KeyEncryptionKeyURL :
KeyVaultResourceId : /subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myuniquekeyvault
KekVaultResourceId :
KeyEncryptionAlgorithm :
VolumeType : All
EncryptionOperation : EnableEncryption
EncryptionSummary[0] :
Code : ProvisioningState/succeeded
Count : 2
EncryptionEnabled : True
EncryptionExtensionInstalled : True
تعطيل التشفير
إذا لم تعد ترغب في استخدام أقراص مثيلات الجهاز الظاهري المشفرة، فيمكنك تعطيل التشفير باستخدام Disable-AzVmssDiskEncryption على النحو التالي:
Disable-AzVmssDiskEncryption -ResourceGroupName $rgName -VMScaleSetName $vmssName
الخطوات التالية
- في هذه المقالة، استخدمت Azure PowerShell لتشفير مجموعة مقياس الجهاز الظاهري. يمكنك أيضاً استخدام Azure CLI أو قوالب Azure Resource Manager.
- إذا كنت ترغب في تطبيق تشفير Azure Disk Encryption بعد توفير ملحق آخر، فإنه يمكنك استخدام تسلسل الملحق.