إعداد Azure Active Directory لمصادقة العميل
تحذير
في هذا الوقت، AAD (دليل Azure النشط) مصادقة العميل وخدمة رمز الهوية المدارة غير متوافقين بشكل متبادل على Linux.
بالنسبة للمجموعات التي تعمل على Azure، يوصى باستخدام Azure Active Directory (Azure AD) لتأمين الوصول إلى نقاط نهاية الإدارة. توضح هذه المقالة كيفية إعداد Azure AD لمصادقة العملاء لنظام مجموعة Service Fabric.
على Linux، يجب إكمال الخطوات التالية قبل إنشاء الكتلة. على Windows، لديك أيضًا خيار تكوين مصادقة Azure AD لمجموعة موجودة.
في هذه المقالة، سيتم استخدام المصطلح "تطبيق" للإشارة إلى تطبيقات Azure Active Directory، وليس تطبيقات Service Fabric؛ سيتم التمييز عند الضرورة. يتيح Azure AD للمؤسسات (المعروفة باسم المستأجرين) إدارة وصول المستخدم إلى التطبيقات.
تقدم مجموعة Service Fabric العديد من نقاط الدخول إلى وظائفها الإدارية، بما في ذلكService Fabric Explorerالمستند إلى الويب وVisual Studio. ونتيجة لذلك، ستنشئ اثنين من تطبيقات الإعلان Azure AD؛ للتحكم في الوصول إلى الكتلة: تطبيق ويب واحد، وتطبيق أصلي واحد. بعد إنشاء التطبيقات، ستعيّن المستخدمين للقراءة فقط وأدوار المسؤول.
ملاحظة
من المعروف أنه لا يمكن عرض التطبيقات والعقد على مجموعات تمكين Linux AAD (دليل Azure النشط) في Azure Portal.
المتطلبات الأساسية
في هذه المقالة، نفترض أنك قد أنشأت مستأجرًا بالفعل. إذا لم تكن قد فعلت ذلك، فابدأ بقراءة كيفية الحصول على مستأجر Azure Active Directory.
لتبسيط بعض الخطوات المتضمنة في تكوين Azure AD باستخدام مجموعة نسيج الخدمة، قمنا بإنشاء مجموعة من البرامج النصية لـ Windows PowerShell.
- استنساخ المستودع إلى جهاز الكمبيوتر الخاص بك.
- تأكد من تثبيت كافة المتطلبات الأساسية للبرامج النصية.
أنشئ تطبيقات Azure AD وعيّن المستخدمين للأدوار
ستستخدم هذه البرامج النصية لإنشاء اثنين من تطبيقات الإعلان Azure AD؛ للتحكم في الوصول إلى الكتلة: تطبيق ويب واحد، وتطبيق أصلي واحد. بعد إنشاء تطبيقات لتمثيل نظام مجموعتك، ستنشئ مستخدمين للأدوار التي تدعمها Service Fabric: للقراءة فقط والمسؤول.
قم بتشغيلSetupApplications.ps1، وقدم معرف المستأجر ID، واسم المجموعة، وعنوان URL لرد تطبيق الويب كمعلمات. حدد أيضًا أسماء المستخدمين وكلمات المرور للمستخدمين. على سبيل المثال:
$Configobj = .\SetupApplications.ps1 -TenantId '0e3d2646-78b3-4711-b8be-74a381d9890c' -ClusterName 'mysftestcluster' -WebApplicationReplyUrl 'https://mysftestcluster.eastus.cloudapp.azure.com:19080/Explorer/index.html' -AddResourceAccess
.\SetupUser.ps1 -ConfigObj $Configobj -UserName 'TestUser' -Password 'P@ssword!123'
.\SetupUser.ps1 -ConfigObj $Configobj -UserName 'TestAdmin' -Password 'P@ssword!123' -IsAdmin
ملاحظة
بالنسبة للسحب الوطنية (على سبيل المثال Azure Government، Azure China، Azure Germany) عليك أيضًا تحديد المعلمة -Location.
يمكنك العثور على TenantId الخاص بك عن طريق تنفيذ أمر PowerShell Get-AzureSubscription. يؤدي تنفيذ هذا الأمر إلى عرض معرف المستأجر لكل اشتراك.
يتم استخدامClusterName لبادئة تطبيقات المسار النشط Azure AD التي تم إنشاؤها بواسطة البرنامج النصي. ولا تحتاج إلى مطابقة اسم المجموعة الفعلي تمامًا. الغرض منه فقط هو تسهيل تعيين القطع الأثرية Azure AD إلى مجموعة Service Fabric التي يتم استخدامها معها.
WebApplicationReplyUrlهي نقطة النهاية الافتراضية التي يعيدها المسار النشط Azure AD إلى المستخدمين بعد الانتهاء من تسجيل الدخول. عيّن نقطة النهاية هذه كنقطة نهاية Service Fabric Explorer للمجموعة الخاصة بك. إذا كنت تقوم بإنشاء تطبيقات Azure AD لتمثيل مجموعة موجودة، فتأكد من تطابق عنوان URL هذا مع نقطة نهاية مجموعة أجهزة الكمبيوتر الحالية. إذا كنت تقوم بإنشاء تطبيقات لمجموعة جديدة، فقم بتخطيط نقطة النهاية التي ستحتوي عليها مجموعتك وتأكد من عدم استخدام نقطة النهاية لمجموعة موجودة. بشكل افتراضي، تكون نقطة نهاية Service Fabric Explorer هي:
https://<cluster_domain>:19080/Explorer
يُطلب منك تسجيل الدخول إلى حساب له امتيازات إدارية لمستأجر المسار النشط Azure AD. بعد تسجيل الدخول، ينشئ البرنامج النصي الويب والتطبيقات الأصلية لتمثيل مجموعة Service Fabric الخاصة بك. إن نظرت في تطبيقات المستأجر في مدخل Azure، يجب أن تشاهد إدخالين جديدين:
- ClusterName_Cluster
- ClusterName_Client
يطبع البرنامج النصي JSON المطلوب بواسطة قالب Azure Resource Manager عند إنشاء كتلة ممكنة من AAD (دليل Azure النشط)، لذلك من الجيد إبقاء نافذة PowerShell مفتوحة.
"azureActiveDirectory": {
"tenantId":"<guid>",
"clusterApplication":"<guid>",
"clientApplication":"<guid>"
},
تعليمات استكشاف الأخطاء وإصلاحها في إعداد Azure Active Directory
قد يكون إعداد Azure AD واستخدامه أمرًا صعبًا، لذا إليك بعض المؤشرات حول ما يمكنك القيام به لتصحيح المشكلة.
خدمة مستكشف النسيج يطالبك بتحديد شهادة
مشكلة
بعد تسجيل الدخول بنجاح إلى Azure AD في Service Fabric Explorer، يعود المستعرض إلى الصفحة الرئيسية ولكن تطالبك رسالة بتحديد شهادة.

السبب
لم يتم تعيين دور للمستخدم في تطبيق نظام المجموعة Azure AD. وبالتالي، تفشل مصادقة Azure AD في نظام مجموعة Service Fabric. يعود Service Fabric Explorer إلى مصادقة الشهادة.
حل
اتبع الإرشادات الخاصة بإعداد Azure AD، وقم بتعيين أدوار المستخدمين. نوصي أيضا بتشغيل "تعيين المستخدم المطلوب للوصول إلى التطبيق"، كما هو الحال بالنسبة إلى SetupApplications.ps1.
فشل الاتصال بـPowerShell بسبب حدوث خطأ: "بيانات الاعتماد المحددة غير صالحة"
مشكلة
عند استخدام PowerShell للاتصال بنظام المجموعة باستخدام وضع الأمان "AzureActiveDirectory"، بعد تسجيل الدخول بنجاح إلى Azure AD، يفشل الاتصال بسبب خطأ: "بيانات الاعتماد المحددة غير صالحة".
حل
هذا الحل هو نفسه الحل السابق.
إرجاع "Service Fabric Explorer " فشل عند تسجيل الدخول: "AADSTS50011"
مشكلة
عند محاولة تسجيل الدخول إلى Azure AD في Service Fabric Explorer، ترجع الصفحة فشلًا: "AADSTS50011: عنوان <URL> لعنوان الرد لا يتطابق مع عناوين الرد التي تم تكوينها للتطبيق: <guid>."

السبب
يحاول تطبيق الكتلة (الويب) الذي يمثل Service Fabric Explorer المصادقة مقابل Azure AD، وكجزء من الطلب يوفر عنوان URL لإرجاع إعادة التوجيه. ولكن عنوان URL غير مدرج في قائمة عناوين URL لتطبيق Azure AD.
حل
في صفحة تسجيل تطبيق Azure AD لمجموعتك، حدد المصادقة، وضمن القسم إعادة توجيه عناوين URI، أضف عنوان URL Service Fabric Explorer إلى القائمة. حفظ التغييرات.

يؤدي الاتصال بالمجموعة باستخدام مصادقة Azure AD عبر PowerShell إلى حدوث خطأ عند تسجيل الدخول: "AADSTS50011"
مشكلة
عند محاولة الاتصال بمجموعة Service Fabric باستخدام Azure AD عبر PowerShell، ترجع صفحة تسجيل الدخول فشلا: "AADSTS50011: عنوان URL للرد المحدد في الطلب لا يتطابق مع عناوين URL للرد التي تم تكوينها للتطبيق: <guid>."
السبب
على غرار المشكلة السابقة، يحاول PowerShell المصادقة مقابل Azure AD، والذي يوفر عنوان URL لإعادة التوجيه غير مدرج في قائمة عناوين URL للرد على تطبيق Azure AD.
حل
استخدم نفس العملية كما في العدد السابق، ولكن يجب تعيين عنوان URL إلى urn:ietf:wg:oauth:2.0:oob، إعادة توجيه خاصة لمصادقة سطر الأوامر.
الاتصال المجموعة باستخدام مصادقة Azure AD عبر PowerShell
لتوصيل نظام المجموعة "نسيج الخدمة"، استخدم مثال الأمر PowerShell التالي:
Connect-ServiceFabricCluster -ConnectionEndpoint <endpoint> -KeepAliveIntervalInSec 10 -AzureActiveDirectory -ServerCertThumbprint <thumbprint>
لمعرفة المزيد، راجع Connect-ServiceFabricCluster cmdlet.
هل يمكنني إعادة استخدام مستأجر Azure AD نفسه في مجموعات متعددة؟
نعم. ولكن تذكر إضافة عنوان URL الخاص بـService Fabric Explorer إلى تطبيق الكتلة (الويب). وإلا، فلن يعمل Service Fabric Explorer.
لماذا ما زلت بحاجة إلى شهادة خادم في أثناء تمكين Azure AD؟
يقوم FabricClient وFabricGateway بإجراء مصادقة متبادلة. في أثناء مصادقة Azure AD، يوفر تكامل Azure AD هوية عميل للخادم، ويتم استخدام شهادة الخادم بواسطة العميل للتحقق من هوية الخادم. لمزيد من المعلومات حول شهادات نسيج الخدمة، راجع شهادات X.509 ونسيج الخدمة.
الخطوات التالية
بعد إعداد تطبيقات Azure Active Directory وتعيين الأدوار للمستخدمين، قم بتكوين مجموعة ونشرها.