تمكين المصادقة والتخويل في Azure Container Apps باستخدام معرف Microsoft Entra
توضح هذه المقالة كيفية تكوين المصادقة لتطبيقات حاوية Azure بحيث يقوم تطبيقك بتسجيل دخول المستخدمين باستخدام النظام الأساسي للهويات في Microsoft كموفر المصادقة.
يمكن لميزة مصادقة تطبيقات الحاوية إنشاء تسجيل تطبيق بشكل تلقائي باستخدام نظام هوية Microsoft. يمكنك أيضًا استخدام التسجيل الذي يتم إنشاؤه بواسطتك أو بواسطة مسؤول الدليل بشكل منفصل.
تم تصميم هذا الخيار لجعل تمكين المصادقة أمر بسيط ولا يتطلب سوى بضع خطوات.
سجل الدخول إلى مدخل Azure والانتقال إلى تطبيقك.
حددالمصادقة في القائمة على اليسار. انقر فوق إضافة مزود الهوية.
قم بتحديد Microsoft في القائمة المنسدلة لموفر الهوية. يتم تحديد الخيار الخاص بإنشاء تسجيل جديد بشكل افتراضي. يُصبح بإمكانك تغيير اسم التسجيل أو أنواع الحسابات المدعومة.
إذا كنت تقوم بتكوين موفر الهوية الأول لهذا التطبيق، فستتم مطالبتك بقسم إعدادات مصادقة Container Apps. وإلا، يمكنك الانتقال إلى الخطوة التالية.
تحدد هذه الخيارات كيفية استجابة التطبيق الخاص بك للطلبات التي لم تتم المصادقة عليها، وتقوم التحديدات الافتراضية بإعادة توجيه كافة الطلبات لتسجيل الدخول باستخدام هذا الموفر الجديد. يمكنك تخصيص هذا السلوك الآن أو ضبط هذه الإعدادات لاحقًا من شاشةالمصادقةالرئيسية باختيارتحريربجوار إعدادات المصادقة. لمعرفة المزيد حول هذه الخيارات، قم مراجعةتدفق المصادقة.
(اختياري) حدد الأذونات التالية وأضف أي نطاقات يحتاجها التطبيق. تتم إضافة النطاقات إلى تسجيل التطبيق، ولكن يمكنك أيضا تغييرها لاحقا.
حدد إضافة.
أنت الآن جاهز لاستخدام النظام الأساسي لهوية Microsoft للمصادقة في التطبيق الخاص بك. الموفر مدرج على شاشة المصادقة . من هناك، يمكنك تعديل أو حذف تكوين الموفر.
يمكنك أيضا تسجيل تطبيقك يدويا النظام الأساسي للهويات في Microsoft وتخصيص التسجيل وتكوين مصادقة تطبيقات الحاوية مع تفاصيل التسجيل. يعد هذا الأسلوب مفيدا عندما تريد استخدام تسجيل تطبيق من مستأجر Microsoft Entra مختلف غير المستأجر الذي تم تعريف التطبيق فيه.
أولا، يمكنك إنشاء تسجيل التطبيق الخاص بك. أثناء القيام بذلك، اجمع المعلومات التالية التي تحتاجها لاحقا عند تكوين المصادقة في تطبيق الحاوية:
- معرف العميل
- معرف المستأجر
- مرحلة سر العميل (اختياري)
- عنوان URI لمُعرِّف التطبيق
لإجراء عملية تسجيل التطبيق، نفذ الخطوات التالية:
- قم بتسجيل الدخول إلى بوابة Azure.
- ابحث عن Container Apps وحددها، ثم حدد تطبيقك. في صفحة نظرة عامة، لاحظ عنوان Url للتطبيق الخاص بالتطبيق. يمكنك استخدامه لتكوين تسجيل تطبيق Microsoft Entra.
- حدد الصفحة الرئيسية للعودة إلى القائمة الرئيسية للمدخل. ابحث عن Microsoft Entra ID وحدده.
- في صفحة Overview ، حدد Add، ثم حدد App registration.
عندما تظهر صفحة تسجيل تطبيق، قم بإدخال اسم للتطبيق الخاص بك.
في Redirect URI، حدد Web وأدخل ما يلي. استبدل
\<APP_URL\>
بعنوان URL للتطبيق الذي لاحظته سابقا.<APP_URL>/.auth/login/aad/callback
.على سبيل المثال:
https://<CONTAINER_APP_NAME>.<ENVIRONMENT_UNIQUE_ID>.<REGION_NAME>.azurecontainerapps.io/.auth/login/aad/callback
.في المنح الضمنية والتدفقات المختلطة، قم بتمكين رموز المعرف المميزة للسماح بتسجيل دخول مستخدم OpenID Connect من Container Apps.
حدد تسجيل.
- استعرض للوصول إلى تسجيل التطبيق الجديد.
- في صفحة نظرة عامة، انسخ معرف التطبيق (العميل) ومعرف الدليل (المستأجر) لاحقا.
- (اختياري) إذا لم تقم بإضافة عنوان URI لإعادة التوجيه إلى تسجيل التطبيق مسبقا، يمكنك القيام بذلك الآن.
في Managed، حدد Authentication.
في صفحة المصادقة ، في تكوينات النظام الأساسي، حدد إضافة نظام أساسي.
في Configure platforms، حدد Web.
في Configure Web، في Redirect URIs، أدخل ما يلي. استبدل
\<APP_URL\>
بعنوان URL للتطبيق الذي لاحظته سابقا.<APP_URL>/.auth/login/aad/callback
.على سبيل المثال:
https://<CONTAINER_APP_NAME>.<HOSTNAME>.<LOCATION>.azurecontainerapps.io/.auth/login/aad/callback
.حدد تكوين.
- (اختياري) في Manage، حدد Branding & properties. في عنوان URL للصفحة الرئيسية، قم بإدخال عنوان URL لتطبيق الحاوية الخاص بك وحدد حفظ.
- في Manage، حدد Expose an API.
حدد إضافة بجوار معرف التطبيق URI.
يعرف معرف التطبيق URI تطبيقك بشكل فريد عند استخدامه كمورد، ما يسمح للرمز المميزة المطلوبة بمنح حق الوصول. تُستخدم القيمة أيضًا كبادئة للنطاقات التي تقوم بإنشائها.
بالنسبة لتطبيق مستأجر واحد، يُصبح بإمكانك استخدام القيمة الافتراضية، الموجودة في النموذج
api://<APPLICATION_CLIENT_ID>
. يمكنك أيضا تحديد URI أكثر قابلية للقراءة مثلhttps://contoso.com/api
بناءً على أحد المجالات التي تم التحقق منها للمستأجر الخاص بك. بالنسبة لتطبيق متعدد المستأجرين، يجب توفير URI مخصص. لمعرفة المزيد حول التنسيقات المقبولة لعناوين URL لمعرف التطبيق، قم بمراجعةمرجع أفضل ممارسات تسجيلات التطبيق.يتم حفظ القيمة بشكل تلقائي.
حدد إضافة نطاق.
فيما يتعلق بإضافة نطاق، يكون معرف التطبيق URI هو القيمة التي قمت بتعيينها في خطوة سابقة.
حدد حفظ ومتابعة.
فيما يتعلقباسم النطاق، قم بإدخالuser_impersonation.
أدخل اسمعرض موافقة المسؤول ووصف موافقة المسؤول الذي تريد أن يراه المسؤولون في صفحة الموافقة. مثال على اسم عرض الموافقة هو Access application-name>.<
حدد إضافة نطاق.
- في Manage، حدد Certificates & secrets.
- في صفحة Certificates &s secrets ، حدد Client secrets.
- حدد سر عميل جديد.
- أدخل الوصف وحدد وقت انتهاء صلاحية البيانات السرية.
- حدد إضافة.
- انسخ القيمة السرية للعميل المعروضة على الصفحة لأن الموقع لن يعرضها لك مرة أخرى.
سجل الدخول إلى مدخل Azure والانتقال إلى تطبيقك.
حددالمصادقة في القائمة على اليسار. انقر فوق إضافة مزود الهوية.
قم بتحديد Microsoft في القائمة المنسدلة لموفر الهوية.
بالنسبة لنوع تسجيل التطبيق، يمكنك اختيار اختيار اختيار تسجيل تطبيق موجود في هذا الدليل الذي يجمع تلقائيا معلومات التطبيق الضرورية. إذا كان التسجيل الخاص بك من مستأجر آخر أو لم يكن لديك الإذن لعرض عنصر التسجيل، اختر توفير تفاصيل تسجيل تطبيق موجود. لهذا الخيار، تحتاج إلى ملء تفاصيل التكوين التالية:
تحذير
كلما أمكن، تجنب استخدام تدفق المنح الضمني. في معظم السيناريوهات، تتوفر بدائل أكثر أمانًا ويُنصح بها. تتطلب بعض تكوينات هذا التدفق درجة عالية جدا من الثقة في التطبيق، ويحمل مخاطر غير موجودة في التدفقات الأخرى. ينبغي ألّا تستخدم هذا التدفق إلا عندما لا يمكن استخدام تدفقات أخرى أكثر أمانًا. لمزيد من المعلومات، راجع المخاوف الأمنية مع تدفق المنح الضمني.
الحقل الوصف معرف التطبيق (العميل) استخدم معرف التطبيق (العميل) من أجل تسجيل التطبيق. سر العميل قم باستخدام سر العميل الذي أنشأته في تسجيل التطبيق. تستخدم أسرار العميل التدفق المختلط ويرجع التطبيق الرموز المميزة للوصول والتحديث. عند عدم تعيين سر العميل، يتم استخدام التدفق الضمني إلى ويتم إرجاع رمز مميز للمعرف فقط. يرسل الموفر الرموز المميزة ويتم تخزينها في مخزن الرمز المميز EasyAuth. عنوان URL للمُصدر قم باستخدام <authentication-endpoint>/<TENANT-ID>/v2.0
، واستبدال <نقطة> نهاية المصادقةبنقطة نهاية المصادقة لبيئة السحابة الخاصة بك(على سبيل المثال،https://login.microsoftonline.com"؛ بالنسبة إلى Azure العمومية)، استبدل <أيضا TENANT-ID>بمعرف الدليل (المستأجر) الذي تم إنشاء تسجيل التطبيق فيه. يتم استخدام هذه القيمة لإعادة توجيه المستخدمين إلى مستأجر Microsoft Entra الصحيح، وتنزيل بيانات التعريف المناسبة لتحديد مفاتيح توقيع الرمز المميز المناسبة وقيمة مطالبة مصدر الرمز المميز على سبيل المثال. بالنسبة للتطبيقات التي تستخدم Azure AD v1، قم بحذف/v2.0
عنوان URL.الجمهور الخاصة بالرمز المميز المسموح به يعتبر مُعرَّف التطبيق (العميل) الذي تم تكوينهدائماً ضمنياً ليكون جمهور مسموح به. إذا كانت هذه القيمة تشير إلى تطبيق سحابة أو خادم وتريد قبول الرموز المميزة للمصادقة من تطبيق حاوية العميل (يمكن استرداد الرمز المميز للمصادقة في X-MS-TOKEN-AAD-ID-TOKEN
العنوان)، قم بإضافةمعرف التطبيق (العميل) لتطبيق العميل هنا.يتم تخزين سر العميل كأسرار في تطبيق الحاوية الخاص بك.
إذا كان هذا هو موفر الهوية الأول الذي تم تكوينه للتطبيق، فستتم مطالبتك أيضا بقسم إعدادات مصادقة Container Apps. وإلا، يمكنك الانتقال إلى الخطوة التالية.
تحدد هذه الخيارات كيفية استجابة التطبيق الخاص بك للطلبات التي لم تتم المصادقة عليها، وتقوم التحديدات الافتراضية بإعادة توجيه كافة الطلبات لتسجيل الدخول باستخدام هذا الموفر الجديد. يمكنك تغيير تخصيص هذا السلوك في الوقت الحالي أو ضبط هذه الإعدادات في وقت لاحق من خلال شاشة المصادقة الرئيسية عن طريق اختيار تحرير بجوار إعدادات المصادقة. لمعرفة المزيد حول هذه الخيارات، قم مراجعةتدفق المصادقة.
حدد إضافة.
أنت الآن جاهز لاستخدام النظام الأساسي لهوية Microsoft للمصادقة في التطبيق الخاص بك. الموفر مدرج على شاشة المصادقة . من هناك، يمكنك تعديل أو حذف تكوين الموفر.
في القسم السابق، قمت بتسجيل تطبيق الحاوية الخاص بك لمصادقة المستخدمين. في هذا القسم، يمكنك تسجيل تطبيقات العميل أو البرنامج الخفي الأصلية. يمكنهم بعد ذلك طلب الوصول إلى واجهات برمجة التطبيقات التي يعرضها تطبيق الحاوية نيابة عن المستخدمين أو أنفسهم. لا يلزم إكمال الخطوات الواردة في هذا القسم إذا كنت تريد فقط مصادقة المستخدمين.
يمكنك تسجيل العملاء الأصليين لطلب الوصول إلى واجهات برمجة التطبيقات الخاصة بتطبيق الحاوية نيابة عن مستخدم مسجل الدخول.
في مدخل Microsoft Azure، حدد Microsoft Entra ID>Add>App registrations.
عندما تظهر صفحة تسجيل تطبيق، قم بإدخال اسم للتطبيق الخاص بك.
في Redirect URI، حدد Public client (mobile & desktop) واكتب عنوان URL
<app-url>/.auth/login/aad/callback
. على سبيل المثال،https://<hostname>.azurecontainerapps.io/.auth/login/aad/callback
ملاحظة
فيما يتعلق بتطبيق Microsoft Store، استخدم حزمة SID كعنوان URI بدلا من ذلك.
حدد إنشاء.
بعد إنشاء تسجيل التطبيق، قم بنسخ قيمة معرف التطبيق (العميل).
حدد أذونات واجهة برمجة التطبيقات> وأضف إذن >واجهات برمجة التطبيقات الخاصة بي.
حدد تسجيل التطبيق الذي أنشأته مسبقًا لتطبيق الحاوية الخاص بك. إذا لم تشاهد تسجيل التطبيق، فتأكد من إضافة نطاق user_impersonation في إنشاء تسجيل تطبيق في معرف Microsoft Entra لتطبيق الحاوية.
ضمن الأذونات التفويضية، حدد user_impersonation، ثم حدد إضافة أذونات.
في هذا القسم، قمت بتكوين تطبيق عميل أصلي يمكنه طلب الوصول إلى تطبيق الحاوية نيابة عن مستخدم.
يمكن للتطبيق الخاص بك الحصول على رمز مميز للاتصال بواجهة برمجة تطبيقات الويب المستضافة في تطبيق الحاوية نيابةً عن نفسه (وليس نيابةً عن المستخدم). هذا السيناريو مفيد للتطبيقات الخفية غير التفاعلية التي تؤدي مهام بدون مستخدم مسجّل الدخول. يستخدم هذا التطبيق منح بيانات اعتماد العميل OAuth 2.0.
- في مدخل Microsoft Azure، حدد Microsoft Entra ID>Add>App registrations.
- عندما تظهر صفحة تسجيل تطبيق، قم بإدخال اسم للتطبيق الخاص بك.
- فيما يتعلق بالتطبيق الخفي، لا تحتاج إلى عنوان URI لإعادة التوجيه حتى تتمكن من الاحتفاظ بذلك فارغا.
- حدد إنشاء.
- بعد إنشاء تسجيل التطبيق، قم بنسخ قيمة معرف التطبيق (العميل).
- حدد Certificates and secrets>New client secret>Add. قم بنسخ قيمة سر العميل الموضحة في الصفحة. لا يظهر مرة أخرى.
يمكنك الآن طلب الرمز المميز للوصول باستخدام معرف العميل وسر العميل عن طريق تعيين المعلمة resource
إلى معرف التطبيق URI للتطبيق المستهدف. يمكن بعد ذلك تقديم رمز الوصول المميز الناتج إلى التطبيق الهدف باستخدام عنوان التخويل OAuth 2.0 القياسي، وتتحقق مصادقة / تخويل تطبيقات الحاوية من صحة الرمز المميز وتستخدمه كالمعتاد للإشارة إلى أن المتصل (تطبيق في هذه الحالة، وليس مستخدما) تتم مصادقته.
تسمح هذه العملية لأي تطبيق عميل في مستأجر Microsoft Entra بطلب رمز مميز للوصول والمصادقة على التطبيق الهدف. إذا كنت ترغب أيضا في فرض التخويل للسماح بتطبيقات عميل معينة فقط، يجب أن تقوم بضبط التكوين.
- قم بتحديد دور التطبيق في بيان تسجيل التطبيق الذي يمثل تطبيق الحاوية الذي تريد حمايته.
- في تسجيل التطبيق الذي يمثل العميل الذي يحتاج إلى تخويل، حدد أذونات واجهة برمجة التطبيقات إضافة>إذن واجهات>برمجة التطبيقات الخاصة بي.
- قم بتحديد تسجيل التطبيق الذي أنشأته في وقت سابق. إذا لم تتمكن من رؤية تسجيل التطبيق، فتأكد من إضافة دور تطبيق.
- ضمن أذونات التطبيق، قم بتحديد دور التطبيق الذي أنشأته سابقا، ثم حدد إضافة أذونات.
- تأكد من تحديد منح موافقة المسؤول من أجل تخويل تطبيق العميل لطلب الإذن.
- على غرار السيناريو السابق (قبل إضافة أي أدوار)، يمكنك الآن طلب رمز وصول لنفس الهدف
resource
، ويتضمنroles
الرمز المميز للوصول مطالبة تحتوي على أدوار التطبيق المعتمدة لتطبيق العميل. - ضمن رمز Container Apps الهدف، التحقق من صحة الأدوار المتوقعة موجودة الآن في الرمز المميز. لا تنفذ طبقة مصادقة Container Apps خطوات التحقق من الصحة. لمزيد من المعلومات، قم بمراجعةالرموز المميزة للوصول.
في هذا القسم، قمت بتكوين تطبيق عميل خفي يمكنه الوصول إلى تطبيق الحاوية باستخدام هويته الخاصة.
استخدم الإرشادات التالية للحصول على تفاصيل بشأن العمل مع المستخدمين المخولين.