مشاركة عبر


تمكين تشفير قرص Azure مع معرف Microsoft Entra على أجهزة Linux الظاهرية (الإصدار السابق)

هام

من المقرر إيقاف تشفير الأقراص Azure في 15 سبتمبر 2028. حتى ذلك التاريخ، يمكنك الاستمرار في استخدام تشفير الأقراص Azure دون انقطاع. في 15 سبتمبر 2028، ستستمر أحمال العمل المفعلة ب ADE، لكن الأقراص المشفرة ستفشل في فتح التشغيل بعد إعادة تشغيل الجهاز الافتراضي، مما يؤدي إلى تعطيل الخدمة.

استخدم التشفير في المضيف للأجهزة الافتراضية الجديدة، أو فكر في أحجام المحركات الافتراضية السرية مع تشفير قرص نظام التشغيل لأحمال عمل الحوسبة السرية. يجب على جميع الأجهزة الافتراضية المفعلة بدعم ADE (بما في ذلك النسخ الاحتياطية) الانتقال إلى التشفير عند المضيف قبل تاريخ التقاعد لتجنب تعطيل الخدمة. راجع Migrationate from Azure Disk Encryption إلى Encryption في المضيف لمزيد من التفاصيل.

ينطبق على: ✔️ أجهزة Linux الظاهرية ✔️ مجموعات مقياس مرنة

يلغي الإصدار الجديد من تشفير قرص Azure متطلبات توفير معلمة تطبيق Microsoft Entra لتمكين تشفير قرص الجهاز الظاهري. مع الإصدار الجديد، لم يعد مطلوبا منك توفير بيانات اعتماد Microsoft Entra أثناء خطوة تمكين التشفير. يجب تشفير جميع الأجهزة الظاهرية الجديدة بدون معلمات تطبيق Microsoft Entra باستخدام الإصدار الجديد. للحصول على إرشادات حول كيفية تمكين تشفير قرص جهاز ظاهري باستخدام الإصدار الجديد، راجع تشفير قرص Azure لأجهزة Linux الظاهرية. لا تزال الأجهزة الظاهرية التي تم تشفيرها بالفعل باستخدام معلمات تطبيق Microsoft Entra مدعومة ويجب أن تستمر في الاحتفاظ بها باستخدام بناء جملة Microsoft Entra.

يمكنك تمكين العديد من سيناريوهات تشفير الأقراص، وقد تختلف الخطوات وفقاً للسيناريو. تغطي الأقسام التالية السيناريوهات بمزيدٍ من التفصيل للبنية الأساسية لنظام التشغيل Linux كخدمة (IaaS) VMs. يمكنك فقط تطبيق تشفير القرص على الأجهزة الظاهرية ذات أحجام الأجهزة الظاهرية وأنظمة التشغيل المدعومة. يجب عليك أيضاً تلبية المتطلبات الأساسية التالية:

التقط لقطة أو قم بعمل نسخة احتياطية أو كليهما قبل تشفير الأقراص. تضمن النسخ الاحتياطية إمكانية خيار الاسترداد في حال حدوث فشل غير متوقع في أثناء التشفير. تتطلب الأجهزة الظاهرية ذات الأقراص المدارة نسخة احتياطية لما قبل حدوث التشفير. بعد عمل نسخة احتياطية، يمكنك استخدام الأمر Set-AzVMDiskEncryptionExtension لتشفير الأقراص المدارة عن طريق تحديد المعلمة -skipVmBackup. لمزيدٍ من المعلومات حول كيفية عمل نسخة احتياطية من الأجهزة الظاهرية المشفرة واستعادتها، راجع Azure Backup.

تحذير

  • إذا استخدمت تشفير قرص Azure مسبقا مع تطبيق Microsoft Entra لتشفير هذا الجهاز الظاهري، يجب الاستمرار في استخدام هذا الخيار لتشفير الجهاز الظاهري الخاص بك. لا يمكنك استخدام تشفير قرص Azure على هذا الجهاز الظاهري المشفر لأن هذا ليس سيناريو مدعوما، مما يعني أن التبديل بعيدا عن تطبيق Microsoft Entra لهذا الجهاز الظاهري المشفر غير مدعوم حتى الآن.
  • للتأكد من أن أسرار التشفير لا تعبر الحدود الإقليمية، يحتاج تشفير قرص Azure إلى خزنة المفاتيح والأجهزة الظاهرية ليتم تكوينها في نفس المنطقة. قم بإنشاء واستخدم المفتاح الرئيسي الذي يقع في نفس منطقة الجهاز الظاهري المراد تشفيره.
  • عندما تقوم بتشفير وحدات تخزين نظام تشغيل Linux، قد تستغرق العملية بضع ساعات. من الطبيعي أن تستغرق وحدات تخزين نظام التشغيل Linux وقتاً أطول من تشفير وحدات تخزين البيانات.
  • عند تشفير وحدات تخزين نظام التشغيل Linux، يجب اعتبار الجهاز الظاهري غير متوفر. نوصي بشدة بتجنب عمليات تسجيل الدخول عبر SSH أثناء إجراء التشفير لتجنب حظر أي ملفات مفتوحة تحتاج إلى الوصول إليها أثناء عملية التشفير. للتحقق من التقدم، استخدم الأمرين Get-AzVMDiskEncryptionStatus أو عرض تشفير الجهاز الظاهري. يمكنك توقع أن تستغرق هذه العملية بضع ساعات لوحدات تخزين نظام التشغيل 30 جيجابايت، بالإضافة إلى مزيد من الوقت لتشفير وحدات تخزين البيانات. يتناسب وقت تشفير حجم البيانات مع حجم وكمية وحدات تخزين البيانات ما لم يتم استخدام خيار تنسيق التشفير بالكامل.
  • تعطيل التشفير على أجهزة Linux الظاهرية مدعوم فقط لوحدات تخزين البيانات. ولا يكون مدعوماً على البيانات أو وحدات تخزين نظام التشغيل إذا تم تشفير وحدة تخزين نظام التشغيل.

تمكين التشفير على جهاز Linux ظاهري موجود أو قيد التشغيل

في هذا السيناريو، يمكنك تمكين التشفير باستخدام أوامر قالب Azure Resource Manager أو أوامر PowerShell cmdlets أو Azure CLI.

هام

من الضروري أخذ لقطة و/أو عمل نسخة احتياطية من مثيل الجهاز الظاهري المستند إلى قرص مُدار خارج، وقبل تمكين تشفير قرص Azure. يمكنك التقاط لقطة للقرص المُدار من مدخل Azure، أو يمكنك استخدام Azure Backup. تضمن النسخ الاحتياطية إمكانية وجود خيار استرداد في حال حدوث أي فشل غير متوقع أثناء التشفير. بمجرد إجراء نسخة احتياطية، يمكنك استخدام cmdlet Set-AzVMDiskEncryptionExtension لتشفير الأقراص المدارة عن طريق تحديد المعلمة -skipVmBackup. سيفشل الأمر Set-AzVMDiskEncryptionExtension مقابل الأجهزة الظاهرية المستندة إلى القرص المدار حتى يتم عمل نسخة احتياطية ويتم تحديد هذه المعلمة.

قد يؤدي التشفير أو تعطيل التشفير إلى إعادة تشغيل جهاز ظاهري.

تمكين التشفير على جهاز Linux الظاهري الموجود أو قيد التشغيل باستخدام Azure CLI

يمكنك تمكين تشفير القرص على جهاز VHD المشفر بتثبيت واستخدام أداة سطر الأوامر Azure CLI 2.0. يمكنك استخدامه في متصفحك مع Azure Cloud Shell، أو تثبيته على جهازك المحلي واستخدامه في أي جلسة PowerShell. لتمكين التشفير على أجهزة IaaS Linux الظاهرية الموجودة أو قيد التشغيل في Azure، استخدم أوامر CLI التالية:

استخدم الأمر تمكين تشفير az vm لتمكين التشفير على جهاز ظاهري IaaS قيد التشغيل في Azure.

  • تشفير جهاز ظاهري قيد التشغيل باستخدام سر عميل:

        az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI/my Azure AD ClientID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault "MySecureVault" --volume-type [All|OS|Data]
    
  • تشفير جهاز ظاهري قيد التشغيل باستخدام KEK لتغليف سر العميل:

        az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI which is the Azure AD ClientID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault  "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type [All|OS|Data]
    

    إشعار

    صيغة قيمة المعلمة disk-encryption-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].

  • تحقق من تشفير الأقراص: للتحقق من حالة تشفير جهاز ظاهري IaaS، استخدم الأمر إظهار تشفير az vm.

        az vm encryption show --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup"
    
  • تعطيل التشفير: لتعطيل التشفير، استخدم الأمر تعطيل تشفير az vm. لا يسمح بتعطيل التشفير إلا على وحدات تخزين البيانات الخاصة بالأجهزة الظاهرية لنظام التشغيل Linux.

        az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type DATA
    

تمكين التشفير على جهاز Linux ظاهري موجود أو قيد التشغيل باستخدام PowerShell

استخدم cmdlet Set-AzVMDiskEncryptionExtension لتمكين التشفير على جهاز ظاهري IaaS قيد التشغيل في Azure. التقط لقطة أو قم بعمل نسخة احتياطية من الجهاز الظاهري باستخدام Azure Backup قبل تشفير الأقراص. تم تحديد المعلمة -skipVmBackup بالفعل في البرامج النصية PowerShell لتشفير جهاز Linux الظاهري قيد التشغيل.

  • تشفير جهاز ظاهري قيد التشغيل باستخدام سر عميل: يقوم البرنامج النصي التالي بتهيئة المتغيرات الخاصة بك وتشغيل cmdlet Set-AzVMDiskEncryptionExtension. يجب أن تكون مجموعة الموارد، VM، key vault، تطبيق Microsoft Entra، وسر العميل قد تم إنشاؤها بالفعل كمتطلبات أساسية. استبدل MyVirtualMachineResourceGroup وMyKeyVaultResourceGroup وMySecureVM وMySecureVault وMy-AAD-client-ID وMy-AAD-client-secret بقيمك. قم بتعديل المعلمة -VolumeType لتحديد الأقراص التي تقوم بتشفيرها.

        $VMRGName = 'MyVirtualMachineResourceGroup';
        $KVRGname = 'MyKeyVaultResourceGroup';
        $vmName = 'MySecureVM';
        $aadClientID = 'My-AAD-client-ID';
        $aadClientSecret = 'My-AAD-client-secret';
        $KeyVaultName = 'MySecureVault';
        $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
        $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
        $KeyVaultResourceId = $KeyVault.ResourceId;
        $sequenceVersion = [Guid]::NewGuid();
    
        Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType '[All|OS|Data]' -SequenceVersion $sequenceVersion -skipVmBackup;
    
  • تشفير جهاز ظاهري قيد التشغيل باستخدام KEK لإنهاء سر العميل: يتيح لك تشفير قرص Azure تحديد مفتاح موجود في قبو المفاتيح الخاص بك لإنهاء أسرار تشفير القرص التي تم إنشاؤها في أثناء تمكين التشفير. عند تحديد مفتاح تشفير مفتاح، يستخدم Azure Disk Encryption هذا المفتاح لتحصين أسرار التشفير قبل الكتابة إلى المخزن الرئيسي. قم بتعديل المعلمة -VolumeType لتحديد الأقراص التي تقوم بتشفيرها.

        $KVRGname = 'MyKeyVaultResourceGroup';
        $VMRGName = 'MyVirtualMachineResourceGroup';
        $aadClientID = 'My-AAD-client-ID';
        $aadClientSecret = 'My-AAD-client-secret';
        $KeyVaultName = 'MySecureVault';
        $keyEncryptionKeyName = 'MyKeyEncryptionKey';
        $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
        $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
        $KeyVaultResourceId = $KeyVault.ResourceId;
        $keyEncryptionKeyUrl = (Get-AzKeyVaultKey -VaultName $KeyVaultName -Name $keyEncryptionKeyName).Key.kid;
        $sequenceVersion = [Guid]::NewGuid();
    
        Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $KeyVaultResourceId -VolumeType '[All|OS|Data]' -SequenceVersion $sequenceVersion -skipVmBackup;
    

    إشعار

    صيغة قيمة المعلمة disk-encryption-keyvault هي سلسلة المعرف الكاملة: /subscriptions/[subscription-id-guid]/resourceGroups/[KVresource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name].

    بناء الجملة لقيمة معلمة مفتاح تشفير المفتاح هو URI الكامل إلى KEK كما في: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id].

  • تحقق من تشفير الأقراص: للتحقق من حالة تشفير جهاز ظاهري IaaS، استخدم cmdlet Get-AzVmDiskEncryptionStatus.

        Get-AzVmDiskEncryptionStatus -ResourceGroupName MyVirtualMachineResourceGroup -VMName MySecureVM
    
  • تعطيل تشفير القرص: لتعطيل التشفير، استخدم cmdlet تعطيل AzureRmVMDiskEncryption. لا يسمح بتعطيل التشفير إلا على وحدات تخزين البيانات الخاصة بالأجهزة الظاهرية لنظام التشغيل Linux.

        Disable-AzVMDiskEncryption -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM'
    

تمكين التشفير على جهاز Linux ظاهري موجود أو قيد التشغيل باستخدام قالب

يمكنك تمكين تشفير القرص على جهاز IaaS Linux ظاهري موجود أو قيد التشغيل في Azure باستخدام قالب Resource Manager.

  1. حدد Deploy to Azure في قالب التشغيل السريع Azure.

  2. حدد الاشتراك ومجموعة الموارد وموقع مجموعة الموارد والمعلمات والمصطلحات القانونية والاتفاق. حدد إنشاء لتمكين التشفير على جهاز IaaS الظاهري الحالي أو قيد التشغيل.

يسرد الجدول التالي معلمات قالب Resource Manager للأجهزة الظاهرية الموجودة أو قيد التشغيل التي تستخدم معرف عميل Microsoft Entra:

البارامتر ‏‏الوصف
معرف AADClientID معرف العميل لتطبيق Microsoft Entra الذي لديه أذونات لكتابة الأسرار إلى مخزن المفاتيح.
AADClientSecret سر العميل لتطبيق Microsoft Entra الذي لديه أذونات لكتابة الأسرار إلى مخزن المفاتيح الخاص بك.
keyVaultName اسم مخزن المفاتيح الذي يجب تحميل المفتاح إليه. يمكنك الحصول عليه باستخدام الأمر az keyvault show --name "MySecureVault" --query KVresourceGroupAzure CLI.
keyEncryptionKeyURL عنوان URL لمفتاح تشفير المفتاح المستخدم لتشفير المفتاح الذي تم إنشاؤه. هذه المعلمة اختيارية إذا قمت بتحديد nokek في القائمة المنسدلة UseExistingKek. إذا قمت بتحديد kek في القائمة المنسدلة UseExistingKek، فيجب عليك إدخال قيمة keyEncryptionKeyURL.
نوع وحدة التخزين نوع وحدة التخزين التي يتم تنفيذ عملية التشفير عليها. القيم المدعومة الصالحة هي نظام التشغيل أو الكل. (راجع توزيعات Linux المدعومة وإصداراتها لنظام التشغيل وأقراص البيانات في قسم المتطلبات المسبقة سابقاً.)
إصدار التسلسل إصدار تسلسل من عملية BitLocker. قم بزيادة رقم الإصدار هذا في كل مرة يتم فيها تنفيذ عملية تشفير القرص على نفس الجهاز الظاهري.
اسم vmName اسم الجهاز الظاهري الذي سيتم تنفيذ عملية التشفير عليه.
عبارة المرور اكتب عبارة مرور قوية كمفتاح تشفير البيانات.

استخدم ميزة EncryptFormatAll لأقراص البيانات على Linux IaaS VMs

تقلل المعلمة EncryptFormatAll من وقت تشفير أقراص بيانات Linux. يتم تنسيق الأقسام التي تفي بمعايير معينة (بنظام الملفات الحالي الخاص بها). ثم تتم إعادة تجميعها مرةً أخرى إلى حيث كانت قبل تنفيذ الأمر. إذا كنت ترغب في استبعاد قرص بيانات يفي بالمعايير، فيمكنك إلغاء تحميله قبل تشغيل الأمر.

بعد تشغيل هذا الأمر، يتم تنسيق أي محركات أقراص تم تحميلها مسبقاً. ثم تبدأ طبقة التشفير أعلى محرك الأقراص الفارغ الآن. عند تحديد هذا الخيار، سيتم أيضاً تشفير القرص المؤقت المتصل بالجهاز الظاهري. إذا تمت إعادة تعيين محرك الأقراص المؤقت، فستتم إعادة تهيئته وإعادة تشفيره للجهاز الظاهري بواسطة حل تشفير قرص Azure في الفرصة التالية.

تحذير

لا ينبغي استخدام EncryptFormatAll عند الحاجة إلى بيانات على وحدات تخزين بيانات الجهاز الظاهري. يمكنك استبعاد الأقراص من التشفير عن طريق إلغاء تحميلها. جرب المعلمة EncryptFormatAll في اختبار جهاز ظاهري أولاً لفهم معلمة الميزة وتداعياتها قبل تجربتها على الجهاز الظاهري للإنتاج. يقوم الخيار EncryptFormatAll بتنسيق قرص البيانات، لذلك ستفقد جميع البيانات الموجودة عليه. قبل المتابعة، تحقق من إلغاء تحميل أي أقراص تريد استبعادها بشكل صحيح.

إذا قمت بتعيين هذه المعلمة أثناء تحديث إعدادات التشفير، فقد يؤدي ذلك إلى إعادة التشغيل قبل التشفير الفعلي. في هذه الحالة، ستحتاج أيضاً إلى إزالة القرص الذي لا تريد تنسيقه من ملف fstab. وبالمثل، يجب إضافة القسم الذي تريد تنسيقه مشفراً إلى ملف fstab قبل بدء عملية التشفير.

معيار EncryptFormatAll

تنتقل المعلمة عبر جميع الأقسام وتقوم بتشفيرها طالما أنها تفي بجميع المعايير التالية:

  • ليس قسم الجذر/نظام التشغيل/التمهيد
  • غير مشفر بالفعل
  • ليست وحدة تخزين BEK
  • ليست وحدة تخزين RAID
  • ليست وحدة تخزين LVM
  • مثبت

تشفير الأقراص التي تتكون منها وحدة تخزين RAID أو LVM بدلاً من وحدة تخزين RAID أو LVM.

استخدم المعلمة EncryptFormatAll مع قالب

لاستخدام الخيار EncryptFormatAll، استخدم أي قالب Azure Resource Manager موجود مسبقاً يقوم بتشفير جهاز Linux الظاهري وتغيير حقل EncryptionOperation لمورد AzureDiskEncryption.

  1. كمثال، استخدم نموذج إدارة الموارد لتشفير Linux IaaS VM قيد التشغيل.
  2. حدد Deploy to Azure في قالب التشغيل السريع Azure.
  3. قم بتغيير الحقل EncryptionOperation من EnableEncryption إلى EnableEncryptionFormatAl.
  4. حدد الاشتراك ومجموعة الموارد وموقع وغير ذلك من مجموعة الموارد والمعلمات والمصطلحات القانونية والاتفاق. حدد إنشاء لتمكين التشفير على جهاز IaaS الظاهري الحالي أو قيد التشغيل.

استخدم المعلمة EncryptFormatAll مع PowerShell cmdlet

استخدم الأمر cmdlet Set-AzVMDiskEncryptionExtension مع المعلمة EncryptFormatAll.

تشفير جهاز ظاهري قيد التشغيل باستخدام سر العميل وEncryptFormatAll: على سبيل المثال، يقوم البرنامج النصي التالي بتهيئة المتغيرات وتشغيل الأمر cmdlet Set-AzVMDiskEncryptionExtension مع المعلمة EncryptFormatAll. يجب أن تكون مجموعة الموارد، VM، key vault، تطبيق Microsoft Entra، وسر العميل قد تم إنشاؤها بالفعل كمتطلبات أساسية. استبدل MyKeyVaultResourceGroup وMyVirtualMachineResourceGroup وMySecureVM وMySecureVault وMy-AAD-client-ID وMy-AAD-client-secret بقيمك.

  $KVRGname = 'MyKeyVaultResourceGroup';
  $VMRGName = 'MyVirtualMachineResourceGroup';
  $aadClientID = 'My-AAD-client-ID';
  $aadClientSecret = 'My-AAD-client-secret';
  $KeyVaultName = 'MySecureVault';
  $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
  $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
  $KeyVaultResourceId = $KeyVault.ResourceId;

  Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -EncryptFormatAll

استخدام المعلمة EncryptFormatAll مع إدارة وحدة التخزين المنطقية (LVM)

نوصي بإعداد LVM-on-crypt. بالنسبة لجميع الأمثلة التالية، استبدل مسار الجهاز ونقاط التثبيت بكل ما يناسب حالة الاستخدام الخاصة بك. يمكن إجراء هذا الإعداد على النحو التالي:

  • أضف أقراص البيانات التي ستنشئ الجهاز الظاهري.

  • قم بتهيئة هذه الأقراص وتثبيتها وإضافتها إلى ملف fstab.

    1. قم بتهيئة القرص المضاف حديثاً. نحن نستخدم الروابط الرمزية التي تم إنشاؤها بواسطة Azure هنا. يؤدي استخدام الارتباطات الرمزية إلى تجنب المشكلات المتعلقة بتغيير أسماء الأجهزة. لمزيدٍ من المعلومات، راجع استكشاف مشكلات أسماء الأجهزة وإصلاحها.

      mkfs -t ext4 /dev/disk/azure/scsi1/lun0
      
    2. تحميل الأقراص.

      mount /dev/disk/azure/scsi1/lun0 /mnt/mountpoint
      
    3. إضافة إلى fstab.

      echo "/dev/disk/azure/scsi1/lun0 /mnt/mountpoint ext4 defaults,nofail 1 2" >> /etc/fstab
      
    4. قم بتشغيل Set-AzVMDiskEncryptionExtension PowerShell cmdlet مع -EncryptFormatAll لتشفير هذه الأقراص.

       Set-AzVMDiskEncryptionExtension -ResourceGroupName "MySecureGroup" -VMName "MySecureVM" -DiskEncryptionKeyVaultUrl "https://mykeyvault.vault.azure.net/" -EncryptFormatAll
      
    5. إعداد LVM فوق هذه الأقراص الجديدة. لاحظ أن محركات الأقراص المشفرة غير مقفلة بعد انتهاء تشغيل الجهاز الظاهري. لذلك، يجب أيضاً تأخير تثبيت LVM لاحقاً.

أجهزة IaaS الظاهرية الجديدة التي تم إنشاؤها من VHD المشفرة من قبل العميل ومفاتيح التشفير

في هذا السيناريو، يمكنك تمكين التشفير باستخدام أوامر قالب Resource Manager أو أوامر PowerShell cmdlets أو CLI. تشرح الأقسام التالية بمزيد من التفصيل Resource Manager القالب وأوامر CLI.

استخدم الإرشادات الواردة في الملحق لإعداد الصور المشفرة مسبقًا والتي يمكن استخدامها في Azure. بعد إنشاء الصورة، يمكنك استخدام الخطوات الواردة في القسم التالي لإنشاء جهاز Azure ظاهري مشفر.

هام

من الضروري أخذ لقطة و/أو عمل نسخة احتياطية من مثيل الجهاز الظاهري المستند إلى قرص مُدار خارج، وقبل تمكين تشفير قرص Azure. يمكنك التقاط لقطة للقرص المُدار من المدخل، أو يمكنك استخدام Azure Backup. تضمن النسخ الاحتياطية إمكانية وجود خيار استرداد في حال حدوث أي فشل غير متوقع أثناء التشفير. بمجرد إجراء نسخة احتياطية، يمكنك استخدام cmdlet Set-AzVMDiskEncryptionExtension لتشفير الأقراص المدارة عن طريق تحديد المعلمة -skipVmBackup. سيفشل الأمر Set-AzVMDiskEncryptionExtension مقابل الأجهزة الظاهرية المستندة إلى القرص المدار حتى يتم عمل نسخة احتياطية ويتم تحديد هذه المعلمة.

قد يؤدي التشفير أو تعطيل التشفير إلى إعادة تشغيل جهاز ظاهري.

استخدم Azure PowerShell لتشفير أجهزة IaaS الظاهرية باستخدام VHDs المشفرة مسبقاً

يمكنك تمكين تشفير القرص على VHD المشفر باستخدام PowerShell cmdlet Set-AzVMOSDisk. يمنحك المثال التالي بعض المعلمات الشائعة.

$VirtualMachine = New-AzVMConfig -VMName "MySecureVM" -VMSize "Standard_A1"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name "SecureOSDisk" -VhdUri "os.vhd" Caching ReadWrite -Windows -CreateOption "Attach" -DiskEncryptionKeyUrl "https://mytestvault.vault.azure.net/secrets/Test1/514ceb769c984379a7e0230bddaaaaaa" -DiskEncryptionKeyVaultId "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.KeyVault/vaults/mytestvault"
New-AzVM -VM $VirtualMachine -ResourceGroupName "MyVirtualMachineResourceGroup"

تمكين التشفير على قرص بيانات تمت إضافته حديثاً

يمكنك إضافة قرص بيانات جديد باستخدام إرفاق قرص az vm، أو من خلال مدخل Azure. قبل أن تتمكن من التشفير، تحتاج أولاً إلى تحميل قرص البيانات المرفق حديثاً. يجب عليك طلب تشفير محرك أقراص البيانات نظراً لأن محرك الأقراص سيكون غير قابل للاستخدام أثناء إجراء التشفير.

تمكين التشفير على قرص تمت إضافته حديثاً باستخدام Azure CLI

إذا تم تشفير الجهاز الظاهري مسبقاً باستخدام "الكل"، فيجب أن تظل المعلمة --volume-type هي "All". تتضمن جميعها كلاً من أقراص البيانات ونظام التشغيل. إذا تم تشفير الجهاز الظاهري مسبقاً بنوع وحدة تخزين "نظام التشغيل"، فيجب تغيير المعلمة --volume-type إلى الكل بحيث يتم تضمين كل من نظام التشغيل وقرص البيانات الجديد. إذا تم تشفير الجهاز الظاهري بنوع وحدة التخزين "البيانات" فقط، فيمكن أن تظل "بيانات" كما هو موضح هنا. لا تعد إضافة قرص بيانات جديد وإرفاقه بجهاز ظاهري إعداداً كافياً للتشفير. يجب أيضاً تنسيق القرص المتصل حديثاً وتركيبه بشكلٍ صحيح داخل الجهاز الظاهري قبل تمكين التشفير. في نظام التشغيل Linux، يجب تثبيت القرص في /etc/fstab باستخدام اسم جهاز حظر دائم.

على عكس بناء جملة PowerShell، لا تتطلب واجهة سطر الأوامر (CLI) تقديم إصدار تسلسل فريد عند تمكين التشفير. يقوم CLI تلقائياً بإنشاء واستخدام قيمة إصدار التسلسل الفريد الخاص به.

  • تشفير جهاز ظاهري قيد التشغيل باستخدام سر عميل:

        az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI/my Azure AD ClientID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault "MySecureVault" --volume-type "Data"
    
  • تشفير جهاز ظاهري قيد التشغيل باستخدام KEK لتغليف سر العميل:

        az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI which is the Azure AD ClientID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault  "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type "Data"
    

تمكين التشفير على قرص تمت إضافته حديثاً باستخدام Azure PowerShell

عند استخدام PowerShell لتشفير قرص جديد لنظام التشغيل Linux، يجب تحديد إصدار تسلسل جديد. يجب أن يكون إصدار التسلسل فريداً. يقوم البرنامج النصي التالي بإنشاء GUID لإصدار التسلسل.

  • تشفير جهاز ظاهري قيد التشغيل باستخدام سر عميل: يقوم البرنامج النصي التالي بتهيئة المتغيرات الخاصة بك وتشغيل cmdlet Set-AzVMDiskEncryptionExtension. يجب أن تكون مجموعة الموارد، VM، key vault، تطبيق Microsoft Entra، وسر العميل قد تم إنشاؤها بالفعل كمتطلبات أساسية. استبدل MyVirtualMachineResourceGroup وMyKeyVaultResourceGroup وMySecureVM وMySecureVault وMy-AAD-client-ID وMy-AAD-client-secret بقيمك. يتم تعيين المعلمة -VolumeType على أقراص البيانات وليس قرص نظام التشغيل. إذا تم تشفير الجهاز الظاهري مسبقاً بنوع وحدة تخزين "نظام التشغيل"، فيجب تغيير المعلمة --volume-type أو الكل بحيث يتم تضمين كل من نظام التشغيل وقرص البيانات الجديد.

        $KVRGname = 'MyKeyVaultResourceGroup';
        $VMRGName = 'MyVirtualMachineResourceGroup';
        $vmName = 'MySecureVM';
        $aadClientID = 'My-AAD-client-ID';
        $aadClientSecret = 'My-AAD-client-secret';
        $KeyVaultName = 'MySecureVault';
        $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
        $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
        $KeyVaultResourceId = $KeyVault.ResourceId;
        $sequenceVersion = [Guid]::NewGuid();
    
        Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType 'data' –SequenceVersion $sequenceVersion;
    
  • تشفير جهاز ظاهري قيد التشغيل باستخدام KEK لإنهاء سر العميل: يتيح لك تشفير قرص Azure تحديد مفتاح موجود في قبو المفاتيح الخاص بك لإنهاء أسرار تشفير القرص التي تم إنشاؤها في أثناء تمكين التشفير. عند تحديد مفتاح تشفير مفتاح، يستخدم Azure Disk Encryption هذا المفتاح لتحصين أسرار التشفير قبل الكتابة إلى المخزن الرئيسي. يتم تعيين المعلمة -VolumeType على أقراص البيانات وليس قرص نظام التشغيل. إذا تم تشفير الجهاز الظاهري مسبقاً بنوع وحدة تخزين "نظام التشغيل"، فيجب تغيير المعلمة --volume-type أو الكل بحيث يتم تضمين كل من نظام التشغيل وقرص البيانات الجديد.

        $KVRGname = 'MyKeyVaultResourceGroup';
        $VMRGName = 'MyVirtualMachineResourceGroup';
        $vmName = 'MyExtraSecureVM';
        $aadClientID = 'My-AAD-client-ID';
        $aadClientSecret = 'My-AAD-client-secret';
        $KeyVaultName = 'MySecureVault';
        $keyEncryptionKeyName = 'MyKeyEncryptionKey';
        $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
        $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
        $KeyVaultResourceId = $KeyVault.ResourceId;
        $keyEncryptionKeyUrl = (Get-AzKeyVaultKey -VaultName $KeyVaultName -Name $keyEncryptionKeyName).Key.kid;
        $sequenceVersion = [Guid]::NewGuid();
    
        Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $KeyVaultResourceId -VolumeType 'data' –SequenceVersion $sequenceVersion;
    

إشعار

صيغة قيمة المعلمة disk-encryption-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].

تعطيل التشفير لأجهزة Linux الظاهرية

يمكنك تعطيل التشفير باستخدام Azure PowerShell أو Azure CLI أو قالب Resource Manager.

هام

يتم دعم تعطيل التشفير باستخدام تشفير قرص Azure على أجهزة Linux الظاهرية فقط لوحدات تخزين البيانات. ولا يكون مدعوماً على البيانات أو وحدات تخزين نظام التشغيل إذا تم تشفير وحدة تخزين نظام التشغيل.

  • تعطيل تشفير القرص باستخدام Azure PowerShell: لتعطيل التشفير، استخدم cmdlet تعطيل AzureRmVMDiskEncryption.

        Disable-AzVMDiskEncryption -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM' [--volume-type {ALL, DATA, OS}]
    
  • تعطيل التشفير باستخدام Azure CLI: لتعطيل التشفير، استخدم الأمر تعطيل تشفير az vm.

        az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type [ALL, DATA, OS]
    
  • تعطيل التشفير باستخدام نموذج Resource Manager: لتعطيل التشفير، استخدم القالب تعطيل التشفير في نموذج جهاز Linux الظاهري قيد التشغيل.

    1. حدد Deploy to Azure.
    2. حدد الاشتراك ومجموعة الموارد والموقع والجهاز الظاهري والمصطلحات القانونية والاتفاق.
    3. حدد شراء لتعطيل تشفير القرص على جهاز Windows الظاهري قيد التشغيل.

الخطوات التالية