⁧⁩إعادة تحميل الأسرار والشهادات من Key Vault تلقائيًا⁧⁩

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

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

  • قم بتحديث قيمة مفتاح خافرة لتشغيل تحديث التكوين بالكامل، وبالتالي إعادة تحميل جميع الأسرار والشهادات Key Vault. لمزيد من المعلومات، راجع كيفية استخدام التكوين الديناميكي في تطبيق ASP.NET Core.
  • قم بإعادة تحميل بعض أو كل الأسرار والشهادات بشكل دوري من Key Vault.

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

المتطلبات الأساسية

إضافة شهادة دوارة تلقائيا إلى Key Vault

اتبع البرنامج التعليمي: تكوين التدوير التلقائي للشهادة في Key Vault لإضافة شهادة دوارة تلقائية تسمى ExampleCertificate إلى Key Vault التي تم إنشاؤها في البرنامج التعليمي السابق.

إضافة مرجع إلى شهادة Key Vault في "تكوين التطبيق"

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

  2. حدد مستكشف التكوين.

  3. حدد + إنشاء>مرجع Key Vault، ثم حدد القيم التالية:

    • المفتاح: حدد TestApp:الإعدادات:KeyVaultCertificate.
    • التسمية: اترك هذه القيمة فارغة.
    • الاشتراكومجموعة المواردوخزينة المفاتيح: أدخل القيم المقابلة Key Vault التي أنشأتها في البرنامج التعليمي السابق.
    • السر: حدد السر المسمى ExampleCertificate الذي قمت بإنشائه في القسم السابق.
    • الإصدار السري: أحدث إصدار.

ملاحظة

إذا قمت بالإشارة إلى إصدار معين، فستؤدي إعادة تحميل السر أو الشهادة من Key Vault دائما إلى إرجاع نفس القيمة.

تحديث التعليمات البرمجية لإعادة تحميل أسرار Key Vault وشهاداتها

في ملف .cs البرنامج، قم بتحديث الطريقة لإعداد فاصل زمني للتحديث AddAzureAppConfiguration لشهادة Key Vault باستخدام الطريقةSetSecretRefreshInterval. باستخدام هذا التغيير، سيقوم تطبيقك بإعادة تحميل زوج المفاتيح بين القطاعين العام والخاص ل exampleCertificate كل 12 ساعة.

config.AddAzureAppConfiguration(options =>
{
    options.Connect(settings["ConnectionStrings:AppConfig"])
            .ConfigureKeyVault(kv =>
            {
                kv.SetCredential(new DefaultAzureCredential());
                kv.SetSecretRefreshInterval("TestApp:Settings:KeyVaultCertificate", TimeSpan.FromHours(12));
            });
});

الوسيطة الأولى في الأسلوب هي مفتاح مرجع Key Vault في SetSecretRefreshInterval تكوين التطبيق. هذه الوسيطة اختيارية. إذا تم حذف المعلمة الرئيسية، تطبيق الفاصل الزمني للتحديث على جميع تلك الأسرار والشهادات التي لا تحتوي على فواصل زمنية فردية للتحديث.

يحدد الفاصل الزمني للتحديث معدل تكرار إعادة تحميل أسرارك وشهاداتك من Key Vault، بغض النظر عن أي تغييرات تطرأ على قيمها في Key Vault أو تكوين التطبيق. إذا كنت ترغب في إعادة تحميل الأسرار والشهادات عندما تتغير قيمتها في تكوين التطبيق، فيمكنك مراقبتها باستخدام الطريقة ConfigureRefresh . لمزيد من المعلومات، راجع كيفية استخدام التكوين الديناميكي في تطبيق ASP.NET Core.

اختر الفاصل الزمني للتحديث وفقا للتأخير المقبول بعد تحديث أسرارك وشهاداتك في Key Vault. من المهم أيضا مراعاة حدود الخدمة Key Vault لتجنب الاختناق.

تنظيف الموارد

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

هام

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

  1. سجل الدخول إلى⁧⁩مدخل Azure⁧⁩، وحدد⁧⁩مجموعات الموارد⁧⁩.
  2. في المربع ⁧⁩تصفية حسب الاسم⁩، اكتب اسم مجموعة الموارد.
  3. في قائمة النتائج، حدد اسم مجموعة الموارد لاستعراض نظرة عامة.
  4. حدد Delete resource group.
  5. يُطلب منك تأكيد حذف مجموعة الموارد. أدرج اسم مجموعة الموارد لتأكيده، واختر ⁧⁩حذف⁧⁩.

بعد بضع لحظات، يتم حذف مجموعة الموارد وكافة مواردها.

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

في هذا البرنامج التعليمي، تعلمت كيفية إعداد التطبيق الخاص بك لإعادة تحميل الأسرار والشهادات تلقائيا من Key Vault. لمعرفة كيفية استخدام الهوية المدارة لتبسيط الوصول إلى "تهيئة التطبيق" Key Vault، تابع إلى البرنامج التعليمي التالي.