الاسترداد بعد الأخطاء الفادحة لـ HSM المدارة

قد ترغب في إنشاء نسخة مماثلة من HSM الخاص بك في حالة فقد الأصل أو عدم توفره بسبب أي من الأسباب التالية:

  • تم حذفه ثم تطهيره.
  • وأدى فشل كارثي في المنطقة إلى تدمير جميع أقسام الأعضاء.

يمكنك إعادة إنشاء مثيل HSM في نفس المنطقة أو منطقة مختلفة إذا كان لديك ما يلي:

  • مجال الأمان من HSM الاسم.
  • المفاتيح الخاصة (رقم الحصة على الأقل) التي تقوم بتشفير مجال الأمان.
  • أحدث نسخة احتياطية كاملة من HSM من HSM المصدر.

فيما يلي خطوات إجراء الاسترداد بعد الأخطاء الفادحة:

  1. إنشاء مثيل HSM جديد.
  2. تنشيط "استرداد مجال الأمان". سيتم إنشاء زوج جديد من مفاتيح RSA (مفتاح تبادل مجال الأمان) لنقل مجال الأمان وإرساله استجابة، والذي سيتم تنزيله باعتباره SecurityDomainExchangeKey (مفتاح عام).
  3. أنشئ ثم حمل "ملف نقل مجال الأمان". ستحتاج إلى المفاتيح الخاصة التي تشفر مجال الأمان. يتم استخدام المفاتيح الخاصة محلياً، ولا يتم نقلها إلى أي مكان في هذه العملية.
  4. خذ نسخة احتياطية من HSM الجديدة. مطلوب نسخة احتياطية قبل أي استعادة، حتى عندما يكون HSM فارغاً. تتيح النسخ الاحتياطية إمكانية التراجع بسهولة.
  5. استعادة النسخة الاحتياطية الأخيرة من HSM من HSM المصدر.

ستمكنك هذه الخطوات من نسخ محتويات HSM يدوياً إلى منطقة أخرى. سيكون اسم HSM (و URI نقطة نهاية الخدمة) مختلفا، لذلك سيتعين عليك تغيير تكوين التطبيق الخاص بك للاستفادة من هذه المفاتيح من موقع مختلف.

إنشاء HSM مدار جديد

استخدم الأمر az keyvault create لإنشاء وحدة HSM مُدارة. يحتوي هذا البرنامج النصي على ثلاث معلمات إلزامية وهي: اسم لمجموعة الموارد، واسم لوحدة HSM، والموقع الجغرافي.

يجب توفير الإدخالات التالية لإنشاء مورد HSM المدار:

  • اسم HSM.
  • مجموعة الموارد سيتم وضعها في اشتراكك.
  • موقع Azure.
  • قائمة بالمسؤولين الأولين.

ينشئ المثال التالي HSM يسمى ContosoMHSM2، في مجموعة الموارد ContosoResourceGroup، الموجودة في موقع غرب الولايات المتحدة 3 ، مع المستخدم الحالي الذي قام بتسجيل الدخول كمسؤول فقط.

oid=$(az ad signed-in-user show --query objectId -o tsv)
az keyvault create --hsm-name "ContosoMHSM2" --resource-group "ContosoResourceGroup" --location "westus3" --administrators $oid

إشعار

يمكن أن يستغرق أمر الإنشاء بضع دقائق. وبمجرد أن يعود بنجاح، يمكنك الاستعداد لتنشيط وحدة HSM لديك.

تحذير

تعتبر مثيلات HSM المدارة قيد الاستخدام دائمًا. إذا اخترت تمكين حماية التطهير باستخدام العلامة --enable-purge-protection، فستتم محاسبتك على كامل فترة الاستبقاء.

يعرض إخراج هذا الأمر خصائص وحدة HSM المُدارة التي أنشأتها. تتمثل أكثر خاصيتين مهمتين فيما يلي:

  • الاسم: في المثال، الاسم هو ContosoMHSM. ستستخدم هذا الاسم لأوامر Key Vault الأخرى.
  • hsmUri: في المثال، معرّف URI هو 'https://contosomhsm2.managedhsm.azure.net.' لا بد للتطبيقات التي تستخدم وحدة HSM لديك من خلال واجهة REST API الخاصة بها استخدام معرّف URI هذا.

تمت المصادقة على حساب Azure لديك الآن لتنفيذ أي عمليات على وحدة HSM المُدارة هذه. وحتى هذه اللحظة، لم يحصل أي شخص آخر على مصادقة.

تنشيط وضع استرداد مجال الأمان

في هذه المرحلة من عملية الإنشاء العادية، نقوم بتهيئة وتنزيل مجال أمان HSM الجديد. ومع ذلك، نظرا لأننا نقوم بتنفيذ إجراء استرداد بعد كارثة، نطلب من HSM إدخال وضع استرداد مجال الأمان وتنزيل مفتاح تبادل مجال الأمان بدلا من ذلك. Security Domain Exchange Key هو مفتاح عام RSA سيتم استخدامه لتشفير مجال الأمان قبل تحميله إلى HSM. المفتاح الخاص المطابق محمٍ داخل HSM، للحفاظ على أمان محتويات مجال الأمان أثناء النقل.

az keyvault security-domain init-recovery --hsm-name ContosoMHSM2 --sd-exchange-key ContosoMHSM2-SDE.cer

إنشاء كائن ثنائي كبير الحجم لتحميل مجال الأمان ل HSM المصدر

لهذه الخطوة، ستحتاج إلى:

  • Security Domain Exchange Key الذي قمت بتنزيله في الخطوة السابقة.
  • مجال الأمان من HSM المصدر.
  • عدد النصاب القانوني على الأقل للمفاتيح الخاصة التي تم استخدامها لتشفير مجال الأمان.

ينفذ الأمر az keyvault security-domain restore-blob العمليات التالية:

  • فك تشفير مجال الأمان الخاص بـ HSM المصدر باستخدام المفاتيح الخاصة التي تزودها.
  • إنشاء كائن ثنائي كبير الحجم لتحميل مجال الأمان مشفر باستخدام مفتاح تبادل مجال الأمان الذي قمنا بتنزيله في الخطوة السابقة

يمكن تنفيذ هذه الخطوة دون اتصال.

في المثال التالي، نستخدم مجال الأمان من ContosoMHSM، و3 من المفاتيح الخاصة المقابلة، ومفتاح تبادل مجال الأمان لإنشاء وتنزيل كائن ثنائي كبير الحجم مشفر سنستخدمه لتحميله إلى ContosoMHSM2، الذي ينتظر تلقي مجال الأمان.

az keyvault security-domain restore-blob --sd-exchange-key ContosoMHSM2-SDE.cer --sd-file ContosoMHSM-SD.json --sd-wrapping-keys cert_0.key cert_1.key cert_2.key --sd-file-restore-blob restore_blob.json 

تحميل كائن ثنائي كبير الحجم لتحميل مجال الأمان إلى HSM الوجهة

نستخدم الآن الكائن الثنائي كبير الحجم لتحميل مجال الأمان الذي تم إنشاؤه في الخطوة السابقة وتحميله إلى HSM الوجهة لإكمال استرداد مجال الأمان. --restore-blob يتم استخدام العلامة لمنع الكشف عن المفاتيح في بيئة عبر الإنترنت.

az keyvault security-domain upload --hsm-name ContosoMHSM2 --sd-file restore_blob.json --restore-blob

الآن، كل من HSM المصدر (Contoso HSM) وHSM الوجهة (Contoso HSM2) لهما نفس مجال الأمان. يمكننا الآن استعادة نسخة احتياطية كاملة من HSM المصدر إلى HSM الوجهة.

النسخ الاحتياطي والاستعادة

من الجيد دائما أخذ نسخة احتياطية كاملة قبل تنفيذ استعادة HSM كاملة، بحيث يكون لديك نقطة استعادة في حالة حدوث خطأ ما في الاستعادة. يمكنك القيام بذلك باستخدام إحدى طريقتين: الهوية المدارة المعينة من قبل المستخدم، أو رموز SAS المميزة.

إنشاء نسخة احتياطية (كنقطة استعادة) من HSM الجديد الخاص بك

لإنشاء نسخة احتياطية من HSM، ستحتاج إلى:

  • حساب تخزين، حيث سيتم تخزين النسخة الاحتياطية
  • حاوية تخزين blob في حساب التخزين هذا، حيث ستنشئ عملية النسخ الاحتياطي مجلدًا جديدًا لتخزين النسخ الاحتياطي المشفر
  • هوية مدارة معينة من قبل المستخدم لها دور Storage Blob Data Contributor على حساب التخزين أو رمز SAS المميز لحاوية التخزين مع أذونات "crdw"

نستخدم الأمر az keyvault backup إلى النسخ الاحتياطي HSM في حاوية التخزين mhsmbackupcontainer، وهو في حساب التخزين mhsmdemobackup في الأمثلة التالية.

إذا كنت تستخدم أسلوب الهوية المدارة المعينة من قبل المستخدم، فإننا نحدد الهوية المدارة المعينة من قبل المستخدم مع --mi-user-assigned المعلمة ونربطها ب HSM المدار قبل كتابة النسخة الاحتياطية في المثال أدناه.

az keyvault update-hsm --hsm-name ContosoMHSM2 --mi-user-assigned "/subscriptions/subid/resourcegroups/mhsmrgname/providers/Microsoft.ManagedIdentity/userAssignedIdentities/userassignedidentityname"
az keyvault backup start --use-managed-identity true --hsm-name ContosoMHSM2 --storage-account-name mhsmdemobackup --blob-container-name mhsmbackupcontainer

استعادة النسخ الاحتياطي من HSM المصدر

لهذه الخطوة، سوف تحتاج إلى ما يلي:

  • حساب التخزين وحاوية الكائن الثنائي كبير الحجم حيث يتم تخزين النسخ الاحتياطية ل HSM المصدر.
  • اسم المجلد من حيث تريد استعادة النسخة الاحتياطية. إذا قمت بإنشاء النسخ الاحتياطية العادية، فسيكون هناك العديد من المجلدات داخل هذه الحاوية.

نستخدم الأمر az keyvault restore إلى HSM ContosoMHSM2 الجديد، باستخدام النسخ الاحتياطي لمصدر MHSM الذي نحاول استعادته، وهو في اسم المجلد mhsm-ContosoMHSM-2020083120161860 الموجود في حاوية التخزين mhsmdemobackupcontainer لحساب التخزين ContosoBackup في المثال التالي.

إذا كنت تستخدم أسلوب الهوية المدارة المعينة من قبل المستخدم، فإننا نعين --use-managed-identity pramater إلى "true".

az keyvault restore start --hsm-name ContosoMHSM2 --storage-account-name ContosoBackup --blob-container-name mhsmdemobackupcontainer --backup-folder mhsm-ContosoMHSM-2020083120161860 --use-managed-identity true

لقد أكملت الآن عملية استرداد كاملة بعد الكوارث. يتم نسخ محتويات HSM المصدر عند أخذ النسخ الاحتياطي إلى HSM الوجهة، بما في ذلك كافة المفاتيح والإصدارات والسمات والعلامات وتعيينات الدور.

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