سيناريوهات تشفير قرص Azure على أجهزة ظاهرية تعمل بنظام Windows
ينطبق على: ✔️ لينكس VMs ✔️ مجموعات الميزان المرنة
يستخدم Azure Disk Encryption for Linux Virtual Devices (VMs) ميزة DM-Crypt في Linux لتوفير تشفير القرص الكامل لقرص نظام التشغيل وأقراص البيانات. بالإضافة إلى ذلك، فإنه يوفر تشفير القرص المؤقت عند استخدام ميزة EncryptFormatAll.
تم دمج Azure Disk Encryption مع Azure Key Vault لمساعدتك في التحكم في مفاتيح تشفير القرص وأسراره وإدارتها. للحصول على نظرة عامة حول الخدمة، راجع تشفير قرص Azure للأجهزة الظاهرية Linux.
يمكنك فقط تطبيق تشفير القرص على الأجهزة الظاهرية ذات أحجام الأجهزة الظاهرية وأنظمة التشغيل المدعومة. يجب عليك أيضا تلبية المتطلبات الأساسية التالية:
في جميع الحالات ، يجب عليك التقاط لقطة و / أو إنشاء نسخة احتياطية قبل تشفير الأقراص. تضمن النسخ الاحتياطية إمكانية خيار الاسترداد في حالة حدوث فشل غير متوقع أثناء التشفير. تتطلب الأجهزة الظاهرية ذات الأقراص المدارة نسخة احتياطية قبل حدوث التشفير. بمجرد إجراء نسخة احتياطية، يمكنك استخدام cmdlet Set-AzVMDiskEncryptionExtension لتشفير الأقراص المدارة عن طريق تحديد المعلمة -skipVmBackup. لمزيد من المعلومات حول كيفية عمل نسخة احتياطية من الأجهزة الظاهرية المشفرة واستعادتها، راجع مقالة النسخ الاحتياطي ل Azure .
تحذير
إذا سبق لك استخدام Azure Disk Encryption مع Azure AD لتشفير جهاز ظاهري، فيجب عليك متابعة استخدام هذا الخيار لتشفير الجهاز الظاهري. راجع Azure Disk Encryption with Azure AD (الإصدار السابق) للحصول على التفاصيل.
عند تشفير وحدات تخزين نظام التشغيل Linux ، يجب اعتبار الجهاز الظاهري غير متوفر. نوصي بشدة بتجنب عمليات تسجيل الدخول إلى SSH أثناء إجراء التشفير لتجنب المشكلات التي تحظر أي ملفات مفتوحة ستحتاج إلى الوصول إليها أثناء عملية التشفير. للتحقق من التقدم، استخدم الأمر cmdlet Get-AzVMDiskEncryptionStatus PowerShell أو الأمر إظهار CLI لتشفير vm . من المتوقع أن تستغرق هذه العملية بضع ساعات لوحدة تخزين نظام التشغيل 30GB ، بالإضافة إلى وقت إضافي لتشفير وحدات تخزين البيانات. سيكون وقت تشفير حجم البيانات متناسبا مع حجم وكمية وحدات تخزين البيانات ما لم يتم استخدام تنسيق تشفير كل الخيار.
يتم دعم تعطيل التشفير على أجهزة Linux الظاهرية فقط لوحدات تخزين البيانات. وهو غير مدعوم على البيانات أو وحدات تخزين نظام التشغيل إذا تم تشفير وحدة تخزين نظام التشغيل.
تثبيت الأدوات والاتصال بـ Azure
يمكن تمكين Azure Disk Encryption وإدارته من خلال Azure CLIوAzure PowerShell. للقيام بذلك، يجب تثبيت الأدوات محليا والاتصال باشتراك Azure الخاص بك.
Azure CLI
Azure CLI 2.0 هي أداة سطر أوامر لإدارة موارد Azure. تم تصميم CLI للاستعلام عن البيانات بمرونة ، ودعم العمليات طويلة الأمد كعمليات غير محظورة ، وجعل البرمجة النصية سهلة. يمكنك تثبيته محليا باتباع الخطوات الواردة في تثبيت Azure CLI.
لتسجيل الدخول إلى حساب Azure الخاص بك باستخدام Azure CLI، استخدم أمر تسجيل الدخول az.
az login
إذا كنت ترغب في تحديد مستأجر لتسجيل الدخول ضمنه، فاستخدم:
az login --tenant <tenant>
إذا كان لديك اشتراكات متعددة وتريد تحديد اشتراك معين، فاحصل على قائمة اشتراكاتك مع قائمة حساب az وحددها باستخدام مجموعة حساب az.
az account list
az account set --subscription "<subscription name or ID>"
لمزيد من المعلومات، راجع بدء استخدام Azure CLI 2.0.
Azure PowerShell
توفر وحدة Azure PowerShell az النمطية مجموعة من cmdlets التي تستخدم نموذج Azure Resource Manager لإدارة موارد Azure الخاصة بك. يمكنك استخدامه في المستعرض الخاص بك باستخدام Azure Cloud Shell، أو يمكنك تثبيته على جهازك المحلي باستخدام الإرشادات الموجودة في تثبيت وحدة Azure PowerShell النمطية.
إذا كان لديك بالفعل مثبت محليا، فتأكد من استخدام أحدث إصدار من إصدار Azure PowerShell SDK لتكوين تشفير قرص Azure. قم بتنزيل أحدث إصدار من إصدار Azure PowerShell.
لتسجيل الدخول إلى حساب Azure الخاص بك باستخدام Azure PowerShell، استخدم الاتصال-AzAccount cmdlet.
Connect-AzAccount
إذا كان لديك اشتراكات متعددة وتريد تحديد اشتراك واحد، فاستخدم cmdlet Get-AzSubscription لإدراجها، متبوعا ب cmdlet Set-AzContext :
Set-AzContext -Subscription <SubscriptionId>
سيؤدي تشغيل cmdlet Get-AzContext إلى التحقق من تحديد الاشتراك الصحيح.
للتأكد من تثبيت cmdlets تشفير القرص Azure، استخدم cmdlet الأمر Get :
Get-command *diskencryption*
لمزيد من المعلومات، راجع بدء استخدام Azure PowerShell.
تمكين التشفير على جهاز ظاهري Linux موجود أو قيد التشغيل
في هذا السيناريو، يمكنك تمكين التشفير باستخدام قالب "إدارة الموارد" أو أوامر cmdlets PowerShell أو CLI. إذا كنت بحاجة إلى معلومات مخطط لملحق الجهاز الظاهري، فراجع مقالة ملحق تشفير قرص Azure لنظام التشغيل Linux .
هام
من الضروري التقاط و/أو عمل نسخة احتياطية من مثيل جهاز ظاهري مدار يستند إلى قرص خارج وقبل تمكين تشفير قرص Azure. يمكن التقاط لقطة للقرص المدار من البوابة الإلكترونية، أو من خلال Azure Backup. تضمن النسخ الاحتياطية إمكانية خيار الاسترداد في حالة حدوث أي فشل غير متوقع أثناء التشفير. بمجرد إجراء نسخة احتياطية، يمكن استخدام Set-AzVMDiskEncryptionExtension cmdlet لتشفير الأقراص المدارة عن طريق تحديد المعلمة -skipVmBackup. سيفشل الأمر Set-AzVMDiskEncryptionExtension مقابل الأجهزة الظاهرية المدارة المستندة إلى القرص حتى يتم إجراء نسخة احتياطية وتحديد هذه المعلمة.
قد يؤدي تشفير التشفير أو تعطيله إلى إعادة تشغيل الجهاز الظاهري.
لتعطيل التشفير، راجع تعطيل التشفير وإزالة ملحق التشفير.
تمكين التشفير على جهاز ظاهري Linux موجود أو قيد التشغيل باستخدام Azure CLI
يمكنك تمكين تشفير القرص على VHD المشفر عن طريق تثبيت أداة سطر الأوامر Azure CLI واستخدامها. يمكنك استخدامه في المستعرض الخاص بك باستخدام Azure Cloud Shell، أو يمكنك تثبيته على جهازك المحلي واستخدامه في أي جلسة عمل PowerShell. لتمكين التشفير على الأجهزة الظاهرية الحالية أو قيد التشغيل Linux في Azure، استخدم أوامر CLI التالية:
استخدم الأمر تمكين تشفير az vm لتمكين التشفير على جهاز ظاهري قيد التشغيل في Azure.
تشفير جهاز ظاهري قيد التشغيل:
az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type [All|OS|Data]تشفير جهاز ظاهري قيد التشغيل باستخدام KEK:
az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type [All|OS|Data]ملاحظة
بناء جملة قيمة معلمة keyvault لتشفير القرص هي سلسلة المعرف الكاملة: /subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/[keyvault-name] بناء الجملة لقيمة معلمة مفتاح تشفير المفتاح هو عنوان URI الكامل ل KEK كما في: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]
تحقق من تشفير الأقراص: للتحقق من حالة تشفير جهاز ظاهري، استخدم الأمر إظهار تشفير az vm .
az vm encryption show --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup"
لتعطيل التشفير، راجع تعطيل التشفير وإزالة ملحق التشفير.
تمكين التشفير على جهاز ظاهري Linux موجود أو قيد التشغيل باستخدام PowerShell
استخدم cmdlet Set-AzVMDiskEncryptionExtension لتمكين التشفير على جهاز ظاهري قيد التشغيل في Azure. التقط لقطة و/أو قم بعمل نسخة احتياطية من الجهاز الظاهري باستخدام Azure Backup قبل تشفير الأقراص. تم تحديد المعلمة -skipVmBackup بالفعل في البرامج النصية PowerShell لتشفير جهاز ظاهري Linux قيد التشغيل.
تشفير جهاز ظاهري قيد التشغيل: يقوم البرنامج النصي أدناه بتهيئة المتغيرات الخاصة بك وتشغيل cmdlet Set-AzVMDiskEncryptionExtension. تم إنشاء مجموعة الموارد والجهاز الظاهري والمخزن الرئيسي كمتطلبات أساسية. استبدل MyVirtualMachineResourceGroup وMySecureVM وMySecureVault بقيمك. قم بتعديل المعلمة -VolumeType لتحديد الأقراص التي تقوم بتشفيرها.
$KVRGname = 'MyKeyVaultResourceGroup'; $VMRGName = 'MyVirtualMachineResourceGroup'; $vmName = 'MySecureVM'; $KeyVaultName = 'MySecureVault'; $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname; $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri; $KeyVaultResourceId = $KeyVault.ResourceId; $sequenceVersion = [Guid]::NewGuid(); Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType '[All|OS|Data]' -SequenceVersion $sequenceVersion -skipVmBackup;تشفير جهاز ظاهري قيد التشغيل باستخدام KEK: قد تحتاج إلى إضافة المعلمة -VolumeType إذا كنت تقوم بتشفير أقراص البيانات وليس قرص نظام التشغيل.
$KVRGname = 'MyKeyVaultResourceGroup'; $VMRGName = 'MyVirtualMachineResourceGroup'; $vmName = 'MyExtraSecureVM'; $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 -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $KeyVaultResourceId -VolumeType '[All|OS|Data]' -SequenceVersion $sequenceVersion -skipVmBackup;ملاحظة
بناء جملة قيمة معلمة keyvault لتشفير القرص هي سلسلة المعرف الكاملة: /subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/[keyvault-name] بناء الجملة لقيمة معلمة مفتاح تشفير المفتاح هو عنوان URI الكامل ل KEK كما في: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]
تحقق من تشفير الأقراص: للتحقق من حالة تشفير جهاز ظاهري، استخدم cmdlet Get-AzVmDiskEncryptionstatus .
Get-AzVmDiskEncryptionStatus -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM'
لتعطيل التشفير، راجع تعطيل التشفير وإزالة ملحق التشفير.
تمكين التشفير على جهاز ظاهري Linux موجود أو قيد التشغيل باستخدام قالب
يمكنك تمكين تشفير القرص على جهاز ظاهري Linux موجود أو قيد التشغيل في Azure باستخدام قالب "إدارة الموارد".
انقر فوق نشر إلى Azure في قالب التشغيل السريع Azure.
حدد الاشتراك ومجموعة الموارد وموقع مجموعة الموارد والمعلمات والشروط القانونية والاتفاقية. انقر فوق إنشاء لتمكين التشفير على الجهاز الظاهري الحالي أو قيد التشغيل.
يسرد الجدول التالي معلمات قالب إدارة الموارد للأجهزة الظاهرية الموجودة أو قيد التشغيل:
| المعلمة | الوصف |
|---|---|
| اسم vm | اسم الجهاز الظاهري لتشغيل عملية التشفير. |
| keyVaultName | اسم مخزن المفاتيح الذي يجب تحميل مفتاح التشفير إليه. يمكنك الحصول عليه باستخدام cmdlet (Get-AzKeyVault -ResourceGroupName <MyKeyVaultResourceGroupName>). Vaultname أو الأمر az keyvault list --resource-group "MyKeyVaultResourceGroupName"Azure CLI . |
| keyVaultResourceGroup | اسم مجموعة الموارد التي تحتوي على مخزن المفاتيح. |
| keyEncryptionKeyURL | عنوان URL لمفتاح تشفير المفتاح المستخدم لتشفير مفتاح التشفير. هذه المعلمة اختيارية إذا قمت بتحديد nokek في القائمة المنسدلة UseExistingKek. إذا قمت بتحديد kek في القائمة المنسدلة UseExistingKek ، فيجب عليك إدخال قيمة keyEncryptionKeyURL . |
| نوع الحجم | نوع وحدة التخزين التي يتم تنفيذ عملية التشفير عليها. القيم الصالحة هي نظام التشغيلوالبياناتوالكل. |
| forceUpdateTag | مرر قيمة فريدة مثل المعرف الفريد العمومي (GUID) في كل مرة تحتاج فيها العملية إلى التشغيل القسري. |
| الموقع | موقع كافة الموارد. |
لمزيد من المعلومات حول تكوين قالب تشفير قرص Linux VM، راجع Azure Disk Encryption for Linux.
لتعطيل التشفير، راجع تعطيل التشفير وإزالة ملحق التشفير.
استخدام ميزة EncryptFormatAll لأقراص البيانات على الأجهزة الظاهرية لينكس
تقلل المعلمة EncryptFormatAll من وقت تشفير أقراص بيانات Linux. سيتم تنسيق الأقسام التي تفي بمعايير معينة ، إلى جانب أنظمة الملفات الحالية الخاصة بها ، ثم إعادة تثبيتها مرة أخرى إلى ما كانت عليه قبل تنفيذ الأوامر. إذا كنت ترغب في استبعاد قرص بيانات يفي بالمعايير، فيمكنك إلغاء تحميله قبل تشغيل الأمر.
بعد تشغيل هذا الأمر ، سيتم تنسيق أي محركات أقراص تم تثبيتها مسبقا ، وسيتم بدء تشغيل طبقة التشفير أعلى محرك الأقراص الفارغ الآن. عند تحديد هذا الخيار، سيتم أيضا تشفير القرص المؤقت المرفق بالجهاز الظاهري. إذا تمت إعادة تعيين القرص المؤقت، إعادة تهيئته وإعادة تشفيره للجهاز الظاهري بواسطة حل Azure Disk Encryption في الفرصة التالية. بمجرد تشفير قرص المورد، لن يتمكن Microsoft Azure Linux Agent من إدارة قرص المورد وتمكين ملف المبادلة، ولكن يمكنك تكوين ملف المبادلة يدويا.
تحذير
لا ينبغي استخدام EncryptFormatAll عند الحاجة إلى بيانات على وحدات تخزين بيانات الجهاز الظاهري. يمكنك استبعاد الأقراص من التشفير عن طريق إلغاء تحميلها. يجب عليك أولا تجربة EncryptFormatAll أولا على جهاز ظاهري تجريبي ، وفهم معلمة الميزة وآثارها قبل تجربتها على الجهاز الظاهري للإنتاج. يقوم الخيار EncryptFormatAll بتنسيق قرص البيانات وسيتم فقد جميع البيانات الموجودة عليه. قبل المتابعة، تحقق من إلغاء تحميل الأقراص التي ترغب في استبعادها بشكل صحيح. إذا كنت تقوم بتعيين هذه المعلمة أثناء تحديث إعدادات التشفير، فقد يؤدي ذلك إلى إعادة التشغيل قبل التشفير الفعلي. في هذه الحالة ، ستحتاج أيضا إلى إزالة القرص الذي لا تريد تهيئته من ملف fstab. وبالمثل ، يجب عليك إضافة القسم الذي تريد تنسيقه إلى ملف fstab قبل بدء عملية التشفير.
EncryptFormatجميع المعايير
تذهب المعلمة على الرغم من جميع الأقسام وتشفيرها طالما أنها تلبي جميع المعايير أدناه:
- ليس قسم الجذر / نظام التشغيل / التمهيد
- غير مشفر بالفعل
- ليس حجم BEK
- ليست وحدة تخزين RAID
- ليس وحدة تخزين LVM
- مثبت
تشفير الأقراص التي تشكل وحدة تخزين RAID أو LVM بدلا من وحدة تخزين RAID أو LVM.
استخدام المعلمة EncryptFormatAll مع Azure CLI
استخدم الأمر تمكين تشفير az vm لتمكين التشفير على جهاز ظاهري قيد التشغيل في Azure.
تشفير جهاز ظاهري قيد التشغيل باستخدام EncryptFormatAll:
az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type "data" --encrypt-format-all
استخدام المعلمة EncryptFormatAll مع cmdlet PowerShell
استخدم cmdlet Set-AzVMDiskEncryptionExtension مع المعلمة EncryptFormatAll.
تشفير جهاز ظاهري قيد التشغيل باستخدام EncryptFormatAll: على سبيل المثال، يقوم البرنامج النصي أدناه بتهيئة المتغيرات الخاصة بك وتشغيل Set-AzVMDiskEncryptionExtension cmdlet باستخدام المعلمة EncryptFormatAll. تم إنشاء مجموعة الموارد والجهاز الظاهري والمخزن الرئيسي كمتطلبات أساسية. استبدل MyVirtualMachineResourceGroup وMySecureVM وMySecureVault بقيمك.
$KVRGname = 'MyKeyVaultResourceGroup';
$VMRGName = 'MyVirtualMachineResourceGroup';
$vmName = 'MySecureVM';
$KeyVaultName = 'MySecureVault';
$KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
$diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
$KeyVaultResourceId = $KeyVault.ResourceId;
Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType "data" -EncryptFormatAll
استخدام المعلمة EncryptFormatAll مع إدارة وحدة التخزين المنطقية (LVM)
نوصي بإعداد LVM-on-crypt. بالنسبة لجميع الأمثلة التالية ، استبدل مسار الجهاز ونقاط التثبيت بكل ما يناسب حالة الاستخدام الخاصة بك. يمكن إجراء هذا الإعداد على النحو التالي:
أضف أقراص البيانات التي ستنشئ الجهاز الظاهري.
تنسيق هذه الأقراص وتحميلها وإضافتها إلى ملف fstab.
اختر معيار قسم، وقم بإنشاء قسم يمتد عبر محرك الأقراص بأكمله، ثم قم بتهيئة القسم. نحن نستخدم الروابط الرمزية التي تم إنشاؤها بواسطة Azure هنا. يؤدي استخدام الروابط الرمزية إلى تجنب المشكلات المتعلقة بتغيير أسماء الأجهزة. لمزيد من المعلومات، راجع المقالة استكشاف مشكلات أسماء الأجهزة وإصلاحها .
parted /dev/disk/azure/scsi1/lun0 mklabel gpt parted -a opt /dev/disk/azure/scsi1/lun0 mkpart primary ext4 0% 100% mkfs -t ext4 /dev/disk/azure/scsi1/lun0-part1تركيب الأقراص:
mount /dev/disk/azure/scsi1/lun0-part1 /mnt/mountpointإضافة إلى ملف fstab:
echo "/dev/disk/azure/scsi1/lun0-part1 /mnt/mountpoint ext4 defaults,nofail 0 2" >> /etc/fstabقم بتشغيل Azure PowerShell Set-AzVMDiskEncryptionExtension cmdlet with -EncryptFormatAll لتشفير هذه الأقراص.
$KeyVault = Get-AzKeyVault -VaultName "MySecureVault" -ResourceGroupName "MySecureGroup" Set-AzVMDiskEncryptionExtension -ResourceGroupName "MySecureGroup" -VMName "MySecureVM" -DiskEncryptionKeyVaultUrl $KeyVault.VaultUri -DiskEncryptionKeyVaultId $KeyVault.ResourceId -EncryptFormatAll -SkipVmBackup -VolumeType Dataإذا كنت ترغب في استخدام مفتاح تشفير مفتاح (KEK)، فقم بتمرير عنوان URI الخاص ب KEK ومعرف الموارد الخاص بخزانة المفاتيح الخاصة بك إلى معلمتي -KeyEncryptionKeyUrl و-KeyEncryptionKeyVaultId، على التوالي:
$KeyVault = Get-AzKeyVault -VaultName "MySecureVault" -ResourceGroupName "MySecureGroup" $KEKKeyVault = Get-AzKeyVault -VaultName "MyKEKVault" -ResourceGroupName "MySecureGroup" $KEK = Get-AzKeyVaultKey -VaultName "myKEKVault" -KeyName "myKEKName" Set-AzVMDiskEncryptionExtension -ResourceGroupName "MySecureGroup" -VMName "MySecureVM" -DiskEncryptionKeyVaultUrl $KeyVault.VaultUri -DiskEncryptionKeyVaultId $KeyVault.ResourceId -EncryptFormatAll -SkipVmBackup -VolumeType Data -KeyEncryptionKeyUrl $$KEK.id -KeyEncryptionKeyVaultId $KEKKeyVault.ResourceIdقم بإعداد LVM أعلى هذه الأقراص الجديدة. ملاحظة يتم إلغاء تأمين محركات الأقراص المشفرة بعد انتهاء تشغيل الجهاز الظاهري. لذلك ، يجب أيضا تأخير تركيب LVM لاحقا.
أجهزة VM جديدة تم إنشاؤها من VHD المشفرة من قبل العميل ومفاتيح التشفير
في هذا السيناريو، يمكنك تمكين التشفير باستخدام أوامر cmdlets PowerShell أو CLI.
استخدم الإرشادات الموجودة في البرامج النصية نفسها لتشفير Azure Disk لإعداد الصور المشفرة مسبقا والتي يمكن استخدامها في Azure. بعد إنشاء الصورة، يمكنك استخدام الخطوات الواردة في القسم التالي لإنشاء جهاز ظاهري Azure مشفر.
هام
من الضروري التقاط و/أو عمل نسخة احتياطية من مثيل جهاز ظاهري مدار يستند إلى قرص خارج وقبل تمكين تشفير قرص Azure. يمكن أخذ لقطة للقرص المدار من البوابة الإلكترونية، أو يمكن استخدام Azure Backup (النسخ الاحتياطي ل Azure ). تضمن النسخ الاحتياطية إمكانية خيار الاسترداد في حالة حدوث أي فشل غير متوقع أثناء التشفير. بمجرد إجراء نسخة احتياطية، يمكن استخدام Set-AzVMDiskEncryptionExtension cmdlet لتشفير الأقراص المدارة عن طريق تحديد المعلمة -skipVmBackup. سيفشل الأمر Set-AzVMDiskEncryptionExtension مقابل الأجهزة الظاهرية المدارة المستندة إلى القرص حتى يتم إجراء نسخة احتياطية وتحديد هذه المعلمة.
قد يؤدي تشفير التشفير أو تعطيله إلى إعادة تشغيل الجهاز الظاهري.
استخدم Azure PowerShell لتشفير الأجهزة الظاهرية باستخدام 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 -Linux -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 disk attach، أو من خلال مدخل Azure. قبل أن تتمكن من التشفير ، تحتاج إلى تحميل قرص البيانات المرفق حديثا أولا. يجب عليك طلب تشفير محرك أقراص البيانات نظرا لأن محرك الأقراص سيكون غير قابل للاستخدام أثناء إجراء التشفير.
تمكين التشفير على قرص تمت إضافته حديثا باستخدام Azure CLI
إذا كان الجهاز الظاهري مشفرا مسبقا باستخدام "الكل" ، فيجب أن تظل المعلمة --volume-type "الكل". يتضمن كل ذلك كلا من نظام التشغيل وأقراص البيانات. إذا تم تشفير الجهاز الظاهري مسبقا بنوع وحدة تخزين "OS" ، فيجب تغيير المعلمة --volume-type إلى "الكل" بحيث يتم تضمين كل من نظام التشغيل وقرص البيانات الجديد. إذا تم تشفير الجهاز الظاهري بنوع وحدة التخزين "البيانات" فقط ، فيمكن أن يظل "البيانات" كما هو موضح أدناه. لا تعد إضافة قرص بيانات جديد وإرفاقه بجهاز ظاهري إعدادا كافيا للتشفير. يجب أيضا تهيئة القرص المرفق حديثا وتثبيته بشكل صحيح داخل الجهاز الظاهري قبل تمكين التشفير. على لينكس يجب تثبيت القرص في /etc/fstab مع اسم جهاز كتلة ثابت.
على النقيض من بناء جملة PowerShell ، لا يتطلب CLI من المستخدم توفير إصدار تسلسل فريد عند تمكين التشفير. يقوم CLI تلقائيا بإنشاء واستخدام قيمة إصدار التسلسل الفريدة الخاصة به.
تشفير وحدات تخزين البيانات الخاصة بجهاز ظاهري قيد التشغيل:
az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type "Data"تشفير وحدات تخزين البيانات الخاصة بجهاز ظاهري قيد التشغيل باستخدام KEK:
az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type "Data"
تمكين التشفير على قرص تمت إضافته حديثا باستخدام Azure PowerShell
عند استخدام PowerShell لتشفير قرص جديد لنظام التشغيل Linux، يجب تحديد إصدار تسلسل جديد. يجب أن يكون إصدار التسلسل فريدا. يقوم البرنامج النصي أدناه بإنشاء GUID لإصدار التسلسل. التقط لقطة و/أو قم بعمل نسخة احتياطية من الجهاز الظاهري باستخدام Azure Backup قبل تشفير الأقراص. تم تحديد المعلمة -skipVmBackup بالفعل في البرامج النصية PowerShell لتشفير قرص بيانات تمت إضافته حديثا.
تشفير وحدات تخزين البيانات الخاصة بجهاز ظاهري قيد التشغيل: يقوم البرنامج النصي أدناه بتهيئة المتغيرات الخاصة بك وتشغيل cmdlet Set-AzVMDiskEncryptionExtension. يجب أن تكون مجموعة الموارد والجهاز الظاهري والمخزن الرئيسي قد تم إنشاؤها بالفعل كمتطلبات أساسية. استبدل MyVirtualMachineResourceGroup وMySecureVM وMySecureVault بقيمك. القيم المقبولة للمعلمة -VolumeType هي الكل ونظام التشغيل والبيانات. إذا تم تشفير الجهاز الظاهري مسبقا بنوع وحدة تخزين "OS" أو "الكل" ، فيجب تغيير المعلمة -VolumeType إلى "الكل" بحيث يتم تضمين كل من نظام التشغيل وقرص البيانات الجديد.
$KVRGname = 'MyKeyVaultResourceGroup'; $VMRGName = 'MyVirtualMachineResourceGroup'; $vmName = 'MySecureVM'; $KeyVaultName = 'MySecureVault'; $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname; $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri; $KeyVaultResourceId = $KeyVault.ResourceId; $sequenceVersion = [Guid]::NewGuid(); Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType 'data' –SequenceVersion $sequenceVersion -skipVmBackup;تشفير وحدات تخزين البيانات الخاصة بجهاز ظاهري قيد التشغيل باستخدام KEK: القيم المقبولة للمعلمة -VolumeType هي الكل ونظام التشغيل والبيانات. إذا تم تشفير الجهاز الظاهري مسبقا بنوع وحدة تخزين "OS" أو "الكل" ، فيجب تغيير المعلمة -VolumeType إلى الكل بحيث يتم تضمين كل من نظام التشغيل وقرص البيانات الجديد.
$KVRGname = 'MyKeyVaultResourceGroup'; $VMRGName = 'MyVirtualMachineResourceGroup'; $vmName = 'MyExtraSecureVM'; $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 -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $KeyVaultResourceId -VolumeType 'data' –SequenceVersion $sequenceVersion -skipVmBackup;ملاحظة
بناء جملة قيمة معلمة keyvault لتشفير القرص هي سلسلة المعرف الكاملة: /subscriptions/[subscription-id-guid]/resourceGroups/[KVresource-group-name]/providers/Microsoft.KeyVault/[keyvault-name] بناء الجملة لقيمة معلمة مفتاح تشفير المفتاح هو عنوان URI الكامل ل KEK كما في: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]
تعطيل التشفير وإزالة ملحق التشفير
يمكنك تعطيل ملحق تشفير قرص Azure، ويمكنك إزالة ملحق تشفير قرص Azure. هاتان عمليتان متميزتان.
لإزالة ADE، يوصى أولا بتعطيل التشفير ثم إزالة الملحق. إذا قمت بإزالة ملحق التشفير دون تعطيله، فستظل الأقراص مشفرة. إذا قمت بتعطيل التشفير بعد إزالة الإضافة ، إعادة تثبيت الإضافة (لإجراء عملية فك التشفير) وستحتاج إلى إزالتها مرة ثانية.
تحذير
لا يمكنك تعطيل التشفير إذا كان قرص نظام التشغيل مشفرا. (يتم تشفير أقراص نظام التشغيل عندما تحدد عملية التشفير الأصلية volumeType = ALL أو volumeType = OS.)
يعمل تعطيل التشفير فقط عندما يتم تشفير أقراص البيانات ولكن قرص نظام التشغيل ليس كذلك.
تعطيل التشفير
يمكنك تعطيل التشفير باستخدام Azure PowerShell أو Azure CLI أو باستخدام قالب إدارة الموارد. لا يؤدي تعطيل التشفير إلى إزالة الإضافة (راجع إزالة ملحق التشفير).
تعطيل تشفير القرص باستخدام Azure PowerShell: لتعطيل التشفير، استخدم cmdlet تعطيل AzVMDiskEncryption .
Disable-AzVMDiskEncryption -ResourceGroupName "MyVirtualMachineResourceGroup" -VMName "MySecureVM" -VolumeType "all"تعطيل التشفير باستخدام Azure CLI: لتعطيل التشفير، استخدم الأمر تعطيل تشفير az vm .
az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type "all"تعطيل التشفير باستخدام قالب "إدارة الموارد":
- انقر فوق نشر إلى Azure من تعطيل تشفير القرص على تشغيل قالب Linux VM .
- حدد الاشتراك ومجموعة الموارد والموقع والجهاز الظاهري ونوع وحدة التخزين والشروط القانونية والاتفاقية.
- انقر فوق شراء لتعطيل تشفير القرص على جهاز ظاهري Linux قيد التشغيل.
إزالة ملحق التشفير
إذا كنت ترغب في فك تشفير الأقراص الخاصة بك وإزالة ملحق التشفير، يجب عليك تعطيل التشفير قبل إزالة الملحق; انظر تعطيل التشفير.
يمكنك إزالة ملحق التشفير باستخدام Azure PowerShell أو Azure CLI.
تعطيل تشفير القرص باستخدام Azure PowerShell: لإزالة التشفير، استخدم cmdlet إزالة AzVMDiskEncryptionExtension .
Remove-AzVMDiskEncryptionExtension -ResourceGroupName "MyVirtualMachineResourceGroup" -VMName "MySecureVM"تعطيل التشفير باستخدام Azure CLI: لإزالة التشفير، استخدم الأمر az vm extension delete .
az vm extension delete -g "MyVirtualMachineResourceGroup" --vm-name "MySecureVM" -n "AzureDiskEncryptionForLinux"
سيناريوهات غير معتمدة
لا يعمل Azure Disk Encryption مع سيناريوهات Linux وميزاته وتقنياته التالية:
- تشفير الأجهزة الظاهرية الأساسية للطبقة أو الأجهزة الظاهرية التي تم إنشاؤها من خلال طريقة إنشاء الأجهزة الظاهرية الكلاسيكية.
- تعطيل التشفير على محرك أقراص نظام التشغيل أو محرك أقراص البيانات الخاص بجهاز Linux الظاهري عند تشفير محرك أقراص نظام التشغيل.
- تشفير محرك أقراص نظام التشغيل لمجموعات مقياس الجهاز الظاهري Linux.
- تشفير الصور المخصصة على الأجهزة الظاهرية لينكس.
- التكامل مع نظام إدارة المفاتيح المحلي.
- Azure Files (نظام الملفات المشترك).
- بروتوكول Network File System (NFS).
- وحدات تخزين ديناميكية.
- أقراص نظام التشغيل سريعة الزوال.
- تشفير أنظمة الملفات المشتركة / الموزعة مثل (على سبيل المثال لا الحصر): DFS ، GFS ، DRDB ، و CephFS.
- نقل جهاز ظاهري مشفر إلى اشتراك أو منطقة أخرى.
- إنشاء صورة أو لقطة لجهاز ظاهري مشفر واستخدامه لنشر أجهزة ظاهرية إضافية.
- تفريغ تحطم النواة (kdump).
- Oracle ACFS (نظام الملفات العنقودية ASM).
- أقراص NVMe الخاصة بالأجهزة الظاهرية لسلسلة Lsv2 (انظر: سلسلة Lsv2).
- جهاز VM مع "نقاط تركيب متداخلة" ؛ أي نقاط تحميل متعددة في مسار واحد (مثل "/1stmountpoint/data/2stmountpoint").
- جهاز ظاهري مع محرك أقراص بيانات مثبت أعلى مجلد نظام التشغيل.
- جهاز ظاهري تم فيه توسيع وحدة تخزين منطقية جذر (قرص OS) باستخدام قرص بيانات.
- الأجهزة الظاهرية من الفئة M المزودة بأقراص مسرع الكتابة.
- تطبيق ADE على جهاز ظاهري يحتوي على أقراص مشفرة باستخدام تشفير من جانب الخادم باستخدام مفاتيح يديرها العميل (SSE + CMK). يعد تطبيق SSE + CMK على قرص بيانات على جهاز ظاهري مشفر باستخدام ADE سيناريو غير مدعوم أيضا.
- ترحيل جهاز ظاهري مشفر باستخدام ADE، أو تم تشفيره باستخدام ADE، إلى تشفير من جانب الخادم باستخدام مفاتيح يديرها العميل.
- تشفير الأجهزة الظاهرية في مجموعات تجاوز الفشل.
- تشفير أقراص Azure ultra.