استخدام واجهات برمجة التطبيقات مع Azure AD

مكتمل

إن مصادقة Microsoft Entra ID عبارة عن نظام مصادقة مستحسن. وبعكس الطرق الأخرى، يتميز هذا النظام بالسمات الفريدة التالية:

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

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

  • وتدعم الهويات المدارة حيث يلغي الوصول المتحكَّم به للموارد الأساسية الحاجة إلَى المطورين والمستخدمين ممن يحتاجون إلَى إدارة بيانات الاعتماد.

تعتبر الأجزاء الداخلية للموصل المخصص الآمن لـAzure AD مشابهة لأحد الموصلات الآمنة العامة.

تكمن الفروق الرئيسية فِي أن الموصل المخصص وخدمة التطبيق الهدف مسجلة كتطبيقات داخل Azure AD. ويسمح ذلك العامل للمنشئين بتطبيق الأذونات المناسبة ثم تمرير هوية المستخدم المستدعي مِن أحد التطبيقات فِي Power Apps أو تدفق Power Automate أو سير عمل Logic Apps إلَى الخدمة الأساسية.

ومن الممكن أن تكون الخدمة عبارة عن خدمة موجودة مسجلة فِي Azure AD، مثل واجهة API Microsoft Graph، أو يمكن أن تكون خدمة مخصصة يتم تطبيقها باستخدام وظائف Azure أو خدمة تطبيق Microsoft Azure، مثلاً. وتتمثل الصفة الهامة للخدمة فِي أنها تساعد فِي حماية وتفويض الوصول إلَى الموارد الآمنة باستخدام هوية Azure AD للمتصل.

تمكين مصادقة Azure AD

إذا كانت إحدى المؤسسات تمتلك بالفعل إجراء تطبيق خدمة ما عن طريق استخدام إما وظائف Azure أو Azure App Service، فإن إضافة مصادقة Azure AD تكون عبارة عن عملية تكوين بسيطة.

  1. حدّد ريشة المصادقة/التفويض.

  2. قم بتمكين مصادقة خدمة التطبيق.

  3. قم بتعيين الإجراء الافتراضي عَلى وصول غير مصرح به.

  4. قم بتكوين وتسجيل التطبيق الموجود فِي Microsoft Entra ID.

إن تمكين مصادقة Azure AD يجعل معلومات هوية المتصل متوفرة للخدمة الأساسية التي يمكنها الآن استخدام هذه المعلومات.

تكوين الموصل

يمكن للمتصلين الوصول إلَى الخدمة الأساسية فقط مِن خلال موصل مخصص. للسماح بمرور الموصل عبر هوية المتصل، يحتاج إلَى أن يكون مسجلاً كتطبيق منفصل فِي Azure AD. بالإضافة إلَى ذلك، يجب أن يتم منح أذونات مفوضة لخدمة واجهة برمجة التطبيقات بحيث يمكنها تنفيذ إجراءات نيابة عن المستدعي.

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

بعد أن يكون الموصل المخصص قد تم تسجيله فِي Azure AD، يمكنك تكوينه باستخدام معالج الموصل المخصص.

حدّد OAuth 2.0 كنوع المصادقة، ثم قم بتعيين موفر الهوية إلَى Microsoft Entra ID. تعتبر المعلمات التالية مطلوبة:

  • معرف العميل - معرف تطبيق Azure AD الذي سيقوم بتعريف الموصل.

  • السر - السر الذي يتم إنشاؤه أثناء عملية تسجيل التطبيق Azure AD.

  • عنوان URL للمورد - معرّف المورد للخدمة الخاصة بك.

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

يتم تخزين التكوين فِي ملف apiProperties.json، ويمكن للمطورين أيضاً استخدام أدوات سطر أوامر paconn لتحديث التكوين حسب الاقتضاء. علي سبيل المثال، يمكن إدارة المفتاح السري، بدلاً مِن تعريفه بواسطة المنشئ، وتدويره تلقائياً كجزء مِن النشر عَلى مستوى المؤسسة.

خطوات تكوين الموصلات باستخدام Microsoft Entra ID

اتبع هذه الخطوات لإعداد وتكوين الموصلات باستخدام Azure AD:

  1. قم بتسجيل تطبيقي Azure AD:

    • واحد لتعريف وحماية خدمة واجهة برمجة التطبيقات

    • وواحد لتعريف وحماية الموصل الخاص بك

  2. قم بتفويض الأذونات. اسمع للتطبيق المسجل الخاص بالموصل الخاص بك بإجراء المكالمات "بالنيابة عن" لهوية الخدمة الخاصة بك.

  3. قم بتعريف الموصل الخاص بك مِن خلال توفير معرّف العميل والسر ومعلومات عنوان URL الخاص بالموارد.

  4. قم بإضافة عناوين URL لإعادة التوجيه إلَى تسجيل تطبيق الموصل.

  5. إذا تم إعداد الخدمة الخاصة بك بنظام مشاركة الموارد عبر المصادر (CORS)، فاسمح بقائمة نطاقات إدارة واجهة API Azure (عادة ما تكون azure-apim.net) لمشاركة الموارد عبر المصادر فِي الخدمة الخاصة بك.

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