يتضمن تكوين OpenID Connect في Azure API Management (APIM) العديد من أفضل الممارسات لضمان مصادقة وترخيص آمنة وفعالة لواجهة برمجة التطبيقات الخاصة بك. فيما يلي بعض الاعتبارات الرئيسية:
1. إنشاء تطبيق إعلان Azure:
- سجل طلبًا في Azure Active Directory (AAD) لتمثيل واجهة برمجة التطبيقات الخاصة بك. سيتم استخدام هذا التطبيق لتكوين OpenID Connect في APIM [3].
- تأكد من تمييز التطبيق على أنه متعدد المستأجرين إذا كنت تخطط لاستخدامه مع بوابة المطور [3].
2. تكوين تفويض OpenID Connect:
- في بوابة Azure ، انتقل إلى مثيل APIM الخاص بك وأضف خادمًا جديدًا لـ OpenID Connect Offantization ضمن قسم "OpenID Connect" [1] [3].
-قم بتوفير عنوان URL لنقطة نهاية بيانات Metadata OpenID لمستأجر Azure Ad ، عادةً في شكل https://login.microsoftonline.com/ {tenant-id )/.well- المعروف
- أدخل معرف العميل وسرية العميل لتطبيق Azure AD الذي أنشأته [1] [3].
3. تكوين إعادة توجيه URIS:
- في تطبيق Azure AD ، أضف URIs إعادة توجيه لكل من رمز التفويض وتدفقات المنح الضمنية. عادة ما يتم توفير هذه URIs بواسطة APIM أثناء إعداد OpenID Connect [1] [3].
4. تمكين الاتصال المفتوح لواجهة برمجة التطبيقات الخاصة بك:
- في APIM ، حدد واجهة برمجة التطبيقات التي تريد حمايتها والانتقال إلى إعداداتها. ضمن الأمان ، اختر OAUTH 2.0 وحدد خادم OpenID Connect Cuplization الذي قمت بتكوينه [1].
5. التحقق من صحة الرموز JWT:
- استخدم سياسة "التحقق من صحة JWT" في APIM للتحقق من صحة الرموز JWT المرسلة في رأس التفويض. تتحقق هذه السياسة من ادعاء جمهور الرمز المميز بأنه يطابق معرف عميل تطبيق الواجهة الخلفية [5] [8].
- النظر في استخدام القيم المسمى أو Azure Key Vault لتخزين معلومات حساسة بشكل آمن مثل عنوان URL OpenID Connect ، والجمهور ، والمصدر [6].
6. الاختبار والمراقبة:
- اختبر واجهة برمجة التطبيقات الخاصة بك باستخدام بوابة مطور APIM لضمان أن مصادقة Connect OpenID تعمل بشكل صحيح [3].
- مراقبة حركة مرور API وتدفقات المصادقة لتحديد أي مشكلات أو نقاط الضعف الأمنية [7].
باتباع أفضل الممارسات ، يمكنك تأمين واجهات برمجة التطبيقات الخاصة بك بشكل فعال مع OpenID Connect في Azure Apim.
الاستشهادات:
[1 "
[2] https://stackoverflow.com/questions/77698997/configure-azure-apim-application-with-oauth-2-0-which-will-secure-api-with-jwt-t
[3] https://winterdom.com/2017/11/11/openid-connect-api-management
[4] https://www.liatrio.com/resources/blog/azure-api-management-okta-integration
[5] https://learn.microsoft.com/en-us/azure/api- management/api-management-howto-protect-backend-with-aad
[6] https://stackoverflow.com/questions/72716297/can-the-openid-config-url-audience-issuer-value-in-the-azure-apim-policies-be/72716409
[7] https://techcommunity.microsoft.com/discussions/azure/api-management-service-secure-configuration-for-standard-v2-sku/4336449
[8] https://learn.microsoft.com/en-us/azure/api-management/authentication-authorization-overview