استخدام الهويات المُدارة للوصول إلى تكوين التطبيق

تبسط الهويات المدارة من Microsoft Entra إدارة الأسرار لتطبيق السحابة الخاص بك. مع هوية مُدارة، يمكن أن يستخدم رمزك مدير الخدمة الذي تم إنشاؤه لخدمة Azure التي تعمل عليها. يمكنك استخدام هوية مُدارة بدلاً من أوراق اعتماد منفصلة مخزنة في Azure Key Vault أو سلسلة اتصال محلية.

قامت Azure App Configuration ومكتبات عميل .NET و.NET Framework وJava Spring بإدارة دعم الهوية المضمن فيها. على الرغم من أنك لست مطالبًا باستخدامه، فإن الهوية المدارة تلغي الحاجة إلى رمز وصول يحتوي على أسرار. على الرغم من أنك لست مطالبًا باستخدامه، فإن الهوية المدارة تلغي الحاجة إلى رمز وصول يحتوي على أسرار. يمكنك تضمين عنوان URL هذا في رمزك مباشرة دون الكشف عن أي سر.

توضح هذه المقالة كيف يمكنك الاستفادة من الهوية المُدارة للوصول إلى تكوين التطبيق. وهو يبني على تطبيق الويب الذي تم تقديمه في البدايات سريعة. قبل أن تستمر، قم بإنشاء تطبيق Core ASP.NET مع تكوين التطبيق أولاً.

توضح هذه المقالة كيف يمكنك الاستفادة من الهوية المُدارة للوصول إلى تكوين التطبيق. وهو يبني على تطبيق الويب الذي تم تقديمه في البدايات سريعة. قبل أن تستمر، قم بإنشاء تطبيق Java Spring مع تكوين تطبيق Azure أولاً.

هام

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

يمكنك استخدام أي محرر تعليمات برمجية للقيام بالخطوات الواردة في هذا البرنامج التعليمي. يعد Visual Studio Code خيارًا ممتازًا متاحًا على أنظمة تشغيل Windows، وmacOS، وLinux.

في هذه المقالة، ستتعرف على كيفية:

  • منح هوية مُدارة الوصول إلى تكوين التطبيق.
  • قم بتكوين تطبيقك لاستخدام هوية مُدارة عند الاتصال بتكوين التطبيق.

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

لإكمال هذا البرنامج التعليمي، تحتاج إلى:

إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

أضف هوية مُدارة

لإعداد هوية مُدارة في المدخل، يمكنك أولاً إنشاء تطبيق ثم تمكين الميزة.

  1. قم بالوصول إلى مورد خدمات التطبيق الخاص بك في مدخل Microsoft Azure . إذا لم يكن لديك مورد حالي لخدمات التطبيقات لاستخدامه، فقم بإنشاء واحد.

  2. قم بالتمرير لأسفل إلى الإعدادات المجموعة في الجزء الأيسر، وحدد الهوية .

  3. على نظام مخصص علامة تبويب، تبديل الحالة إلى على واختر حفظ .

  4. عند المطالبة، أجب بنعم لتشغيل الهوية المُدارة المعينة من قبل النظام.

    لقطة شاشة لكيفية إضافة هوية مُدارة في خدمة التطبيق.

امنح الوصول إلى تكوين التطبيق

تصف الخطوات التالية كيفية تعيين دور قارئ بيانات تكوين التطبيق لخدمة التطبيق. للحصول على خطوات تفصيلية، راجع تعيين أدوار Azure باستخدام مدخل Azure.

  1. في مدخل Microsoft Azure، حدد متجر App Configuration.

  2. حدد Access control (IAM).

  3. حدد إضافة>Add role assignmen.

    لقطة شاشة تعرض صفحة التحكم بالوصول (IAM) مع فتح قائمة إضافة تعيين دور

    إذا لم تكن لديك أذونات لتعيين الأدوار، فسيتم تعطيل خيار إضافة تعيين الدور. لمزيد من المعلومات، راجع أدوار Azure المضمنة.

  4. على علامة تبويب الدور، حدد دور قارئ بيانات تكوين التطبيقات، ثم حدد التالي.

    لقطة شاشة تعرض صفحة إضافة تعيين دور مع تحديد علامة تبويب «الدور».

  5. في علامة التبويب الأعضاء، حدد الهوية المُدارة، ثم حدد تحديد الأعضاء.

    لقطة شاشة تعرض صفحة إضافة تعيين دور مع تحديد علامة تبويب الأعضاء.

  6. حدد اشتراكك في Azure، لتحديد الهوية المُدارة خدمة التطبيق، ثم حدد اسم خدمة التطبيق الخاصة بك.

    لقطة شاشة توضح صفحة تحديد السمات المُدارة.

  7. في علامة التبويب Review + assign ، حدد Review + assign لتعيين الدور.

استخدام هوية مُدارة

  1. إضافة مرجع إلى حزمة Azure.Identity:

    dotnet add package Azure.Identity
    
  2. ابحث عن نقطة النهاية لمتجر تكوين التطبيقات الخاص بك. تم إدراج عنوان URL هذا في علامة التبويب مفاتيح الوصول للمتجر في مدخل Microsoft Azure.

  3. افتح ملف appsettings.json وأضف البرنامج النصي التالي. استبدل < الخدمة _ نقطة النهاية >، بما في ذلك الأقواس، مع عنوان URL إلى متجر تكوين التطبيقات الخاص بك.

    "AppConfig": {
        "Endpoint": "<service_endpoint>"
    }
    
  4. افتح ملف Program.cs وأضف مرجعا إلى Azure.Identity مساحة الاسم:

    using Azure.Identity;
    
  5. للوصول إلى القيم المخزنة في App Configuration، قم بتحديث Builder التكوين لاستخدام AddAzureAppConfiguration() الأسلوب .

    var builder = WebApplication.CreateBuilder(args);
    
    builder.Configuration.AddAzureAppConfiguration(options =>
        options.Connect(
            new Uri(builder.Configuration["AppConfig:Endpoint"]),
            new ManagedIdentityCredential()));
    

    إشعار

    إذا كنت ترغب في استخدام هوية مُدارة مخصصة للمستخدم، فتأكد من تحديد clientId عند إنشاء ManagedIdentityCredential.

    new ManagedIdentityCredential("<your_clientId>")
    

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

  1. ابحث عن نقطة النهاية لمتجر تكوين التطبيقات الخاص بك. تم إدراج عنوان URL هذا في علامة التبويب Overview للمتجر في مدخل Microsoft Azure.

  2. افتح bootstrap.properties، وأزل خاصية سلسلة الاتصال واستبدلها بنقطة نهاية للهوية المعينة من قبل النظام:

spring.cloud.azure.appconfiguration.stores[0].endpoint=<service_endpoint>

للهوية المعينة من قبل المستخدم:

spring.cloud.azure.appconfiguration.stores[0].endpoint=<service_endpoint>
spring.cloud.azure.credential.managed-identity-enabled= true
spring.cloud.azure.credential.client-id= <client_id>

إشعار

لمزيد من المعلومات، راجع مصادقة Spring Cloud Azure.

نشر تطبيقك

يتعين عليك توزيع تطبيقك إلى خدمة Azure عند استخدام الهويات المدارة. لا يمكن استخدام الهويات المُدارة للمصادقة على التطبيقات التي تعمل محليًا. لتوزيع تطبيق .NET Core الذي قمت بإنشائه في قم بإنشاء تطبيق Core ASP.NET مع تكوين التطبيق بسرعة وتعديله لاستخدام الهويات المدارة، اتبع الإرشادات في قم بتوزيع تطبيق الويب الخاص بك .

يتطلب منك استخدام الهويات المدارة توزيع تطبيقك في خدمة Azure. لا يمكن استخدام الهويات المُدارة للمصادقة على التطبيقات التي تعمل محليًا. لتوزيع تطبيق Spring الذي قمت بإنشائه في قم بإنشاء تطبيق Java Spring مع تكوين تطبيق Azure بسرعة وتعديله لاستخدام الهويات المدارة، اتبع الإرشادات في قم بتوزيع تطبيق الويب الخاص بك .

بالإضافة إلى خدمة التطبيقات، تدعم العديد من خدمات Azure الأخرى الهويات المدارة. لمزيد من المعلومات، راجع ما هي الهويات المدارة لموارد Azure؟.

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

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

هام

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

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

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

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

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