تكوين Azure AD B2C لحماية هوية العميل
01/05/2025
تهدف هذه المقالة الفنية والتعليمية إلى توجيه محللي الأمان ومسؤولي تكنولوجيا المعلومات ومهندسي الأنظمة في تكوين واستخدام Azure AD B2C (الشركة إلى المستهلك) لحماية هويات العملاء وإدارتها. في عالم رقمي حيث تعتبر تجربة العملاء أمرًا بالغ الأهمية، يعد تقديم عملية تسجيل وتسجيل آمنة وبديهية وقابلة للتخصيص أمرًا بالغ الأهمية. Azure AD B2C هو أحد حلول إدارة هوية العميل والوصول (CIAM) الذي يسمح لعملائك بالتسجيل وتسجيل الدخول إلى تطبيقاتك وواجهات برمجة التطبيقات باستخدام هوياتهم الاجتماعية (مثل Google وFacebook) أو الحسابات المحلية [1].
مقدمة
هوية العميل هي أساس التجربة الرقمية الحديثة. تحتاج تطبيقات الويب والهاتف المحمول إلى نظام قوي لإدارة التسجيل وتسجيل الدخول والملفات الشخصية لملايين العملاء، مما يضمن الأمان وقابلية التوسع والامتثال للوائح الخصوصية. يعد تطوير وصيانة نظام CIAM الداخلي أمرًا معقدًا ومكلفًا وعرضة للأخطاء الأمنية. تعمل حلول مثل Azure AD B2C على التخلص من هذا التعقيد من خلال توفير النظام الأساسي كخدمة (PaaS) الذي يتعامل مع جميع جوانب إدارة هوية العميل [2].
يعمل Azure AD B2C على توسيع إمكانيات Azure Active Directory لتلبية الاحتياجات المحددة للتطبيقات التي تواجه المستهلك. فهو يسمح للمؤسسات بتخصيص تجربة هوية العميل بالكامل، بدءًا من صفحات تسجيل الدخول والتسجيل وحتى السمات التي يتم جمعها. بالإضافة إلى ذلك، فهو يتكامل مع ميزات الأمان المتقدمة مثل المصادقة متعددة العوامل (MFA)، والوصول المشروط، وحماية الهوية لحماية حسابات العملاء من التهديدات الشائعة مثل هجمات القوة الغاشمة وبيانات الاعتماد المخترقة [3].
سيغطي هذا الدليل العملي المتطلبات الأساسية، ومفاهيم B2C، وكيفية إنشاء وتكوين مستأجر B2C، وتسجيل التطبيقات، وتكوين تدفقات المستخدم القابلة للتخصيص (التسجيل، وتسجيل الدخول، وتحرير الملف الشخصي، وإعادة تعيين كلمة المرور)، وكيفية التكامل مع التطبيقات وكيفية اختبار المصادقة والتحقق من صحتها. سيتم توفير تعليمات خطوة بخطوة وأمثلة عملية وشروحات موجزة حتى يتمكن القارئ من تنفيذ هذه الميزات واختبارها والتحقق من صحتها. بالإضافة إلى ذلك، ستتم مناقشة نصائح الأمان وفحوصات الامتثال وأفضل الممارسات لضمان حماية هويات عملائك وإدارتها بكفاءة واستقلالية ومهنية وموثوقية.
ما سبب أهمية Azure AD B2C لحماية هويات العملاء؟
- تجربة محسّنة للعملاء: توفر خيارات تسجيل الدخول عبر وسائل التواصل الاجتماعي وتخصيصًا كاملاً لواجهة المستخدم، مما يؤدي إلى تجربة مستخدم سلسة ومتسقة.
- الأمان القوي: يدمج ميزات الأمان على مستوى المؤسسة مثل MFA والوصول المشروط وحماية الهوية لحماية حسابات العملاء من الهجمات.
- قابلية التوسع والموثوقية: تم تصميمها للتعامل مع ملايين المستخدمين ومليارات عمليات المصادقة، مما يضمن توفرًا وأداءً عاليًا.
- الامتثال: يساعد على تلبية لوائح خصوصية البيانات مثل القانون العام لحماية البيانات (GDPR) وقانون LGPD من خلال التحكم في تخزين بيانات العميل ومعالجتها.
- تقليل التكلفة: يلغي الحاجة إلى إنشاء بنية أساسية معقدة للهوية الداخلية وصيانتها.
- المرونة: يدعم نطاقًا واسعًا من بروتوكولات المصادقة (OpenID Connect، وOAuth 2.0، وSAML) ويمكن دمجه مع أي تطبيق تقريبًا.
المتطلبات الأساسية
لتكوين Azure AD B2C، ستحتاج إلى العناصر التالية:
- اشتراك Azure النشط: اشتراك Azure لإنشاء الموارد وإدارتها.
- الوصول الإداري: حساب له دور "المسؤول العام" أو "مسؤول المستخدم" في اشتراك Azure.
- مستأجر Azure AD B2C: مستأجر Azure AD B2C جديد، وهو دليل منفصل عن مستأجر Azure AD الخاص بشركتك.
خطوة بخطوة: تكوين Azure AD B2C
لنقم بإنشاء مستأجر B2C، وتسجيل تطبيق وتكوين تدفق المستخدم.
1. إنشاء مستأجر Azure AD B2C
مستأجر B2C هو دليل منفصل يقوم بتخزين هويات عملائك.
- افتح المتصفح الخاص بك وانتقل إلى بوابة Azure:
https://portal.azure.com. - قم بتسجيل الدخول باستخدام حساب لديه الأذوناتضروري.
- في حقل البحث العلوي، اكتب "Azure Active Directory B2C" وحدده من النتائج.
-
انقر فوق "+ إنشاء مستأجر جديد لـ Azure AD B2C".
-
إنشاء مستأجر B2C:
- نوع المستأجر:
مستأجر Azure AD B2C. - اسم المؤسسة: أدخل اسمًا لمؤسستك (على سبيل المثال:
MyCompanyB2C). - اسم المجال الأولي: اختر اسم مجال فريدًا (على سبيل المثال:
mycompanyab2c.onmicrosoft.com). - البلد/المنطقة: حدد بلدك/منطقتك.
- الاشتراك: حدد اشتراك Azure الخاص بك.
- مجموعة الموارد: أنشئ مجموعة موارد جديدة (على سبيل المثال:
rg-b2c) أو حدد مجموعة موجودة.
- نوع المستأجر:
-
انقر على "مراجعة + إنشاء"، ثم إنشاء.
- شرح: قد يستغرق إنشاء مستأجر B2C بضع دقائق. بمجرد الإنشاء، ستحتاج إلى التبديل إلى دليل B2C الجديد هذا لإدارته.
2. تسجيل تطبيق في Azure AD B2C
يجب تسجيل كل تطبيق يستخدم Azure AD B2C للمصادقة.
- في مدخل Azure، تأكد من أنك في مستأجر Azure AD B2C (استخدم محدد الدليل في الزاوية اليمنى العليا).
- في جزء التنقل الأيسر، حدد تسجيلات التطبيقات ضمن
إدارة. -
انقر فوق "+ تسجيل جديد".
-
تسجيل الطلب:
- الاسم: أعط اسمًا لتطبيقك (على سبيل المثال:
WebApp-MinhaEmpresa). - أنواع الحسابات المدعومة: حدد
الحسابات في أي دليل تنظيمي أو دليل موفر الهوية (لمصادقة المستخدمين من خلال تدفقات المستخدم). - إعادة توجيه URI (اختياري): حدد
الويبوأدخل عنوان URL حيث سيتم إرسال رمز المصادقة المميز بعد تسجيل الدخول (على سبيل المثال،https://localhost:5001/signin-oidcللتطوير المحلي أو عنوان URL للإنتاج لتطبيقك). - الأذونات: حدد
منح موافقة المشرف لأذونات openid وoffline_access.
- الاسم: أعط اسمًا لتطبيقك (على سبيل المثال:
-
انقر تسجيل.
-
بعد التسجيل، لاحظ معرف التطبيق (العميل) و معرف الدليل (المستأجر). سوف تحتاج إليها لتكوين التطبيق الخاص بك.
3. إنشاء تدفقات المستخدم
تدفقات المستخدم عبارة عن تجارب هوية محددة مسبقًا وقابلة للتخصيص للتسجيل وتسجيل الدخول وتحرير الملف الشخصي وإعادة تعيين كلمة المرور.
- في جزء التنقل الأيمن لمستأجر Azure AD B2C، حدد تدفقات المستخدم ضمن
السياسات. -
انقر فوق "+تدفق المستخدم الجديد".
-
إنشاء تدفق للمستخدم:
- نوع تدفق المستخدم: حدد
التسجيل وتسجيل الدخول. - الإصدار:
موصى به. - الاسم: أدخل اسمًا (على سبيل المثال:
B2C_1_signup_signin). - موفرو الهوية: حدد
البريد الإلكتروني للحساب المحلي(وغيرهم مثلGoogleوFacebookإذا كنت تريد دمج مقدمي الخدمات الاجتماعية). - سمات المستخدم ومطالبات الرمز المميز: حدد السمات التي تريد جمعها أثناء التسجيل (على سبيل المثال،
عنوان البريد الإلكتروني، والاسم المعطى، واسم العائلة) والمطالبات التي سيتم تضمينها في الرمز المميز. - المصادقة متعددة العوامل (MFA):
معطل(على سبيل المثال، ولكن يمكن تمكينها لمزيد من الأمان). - الوصول المشروط:
معطل(في هذا المثال).
- نوع تدفق المستخدم: حدد
-
انقر إنشاء.
-
كرر العملية لإنشاء تدفقات مستخدم أخرى، مثل
إعادة تعيين كلمة المرور(على سبيل المثال،B2C_1_password_reset) وتحرير الملف الشخصي(على سبيل المثال،B2C_1_profile_edit).- الشرح: تعد تدفقات المستخدم بمثابة العمود الفقري لتجربة هوية العميل. وهي تحدد تسلسل الشاشات والتفاعلات التي سيحصل عليها المستخدم أثناء عملية المصادقة. يمكنك تخصيص مظهر وسلوك هذه التدفقات.
4. تخصيص واجهة المستخدم (UI) لتدفقات المستخدم
يمكنك تخصيص مظهر صفحات تسجيل الدخول والتسجيل لتتناسب مع العلامة التجارية لتطبيقك.
- في جزء التنقل الأيمن لمستأجر Azure AD B2C، حدد تدفقات المستخدم.
- انقر على تدفق المستخدم الذي قمت بإنشائه (على سبيل المثال:
B2C_1_signup_signin). - في جزء التنقل الأيسر، حدد تخطيطات الصفحة.
-
يمكنك تخصيص تخطيط كل صفحة (على سبيل المثال:
صفحة تسجيل الدخول الموحدة،صفحة تسجيل الحساب المحلي) باستخدام CSS أو HTML مخصص لمطابقة علامتك التجارية.- الشرح: للحصول على التخصيص المتقدم، يمكنك استضافة ملفات HTML/CSS/JavaScript الخاصة بك على مخزن Azure blob والإشارة إليهالهم هنا.
5. دمج Azure AD B2C مع التطبيق
يتضمن التكامل تكوين التطبيق الخاص بك لاستخدام Azure AD B2C للمصادقة. تختلف العملية اعتمادًا على النظام الأساسي وإطار التطبيق الخاص بك. سوف نستخدم مثالاً مفاهيميًا لتطبيق ويب.
- تكوين التطبيق لاستخدام OpenID Connect: سيحتاج تطبيقك إلى استخدام عميل OpenID Connect للتواصل مع Azure AD B2C.
-
معلمات التكوين: ستحتاج إلى المعلمات التالية من مستأجر B2C الخاص بك والتطبيق المسجل:
- معرف العميل (معرف التطبيق): معرف التطبيق المسجل الخاص بك (على سبيل المثال:
xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). - معرف مستأجر B2C (معرف المستأجر): اسم مستأجر B2C الخاص بك (على سبيل المثال:
mycompanyab2c.onmicrosoft.com). - اسم تدفق المستخدم (اسم السياسة): اسم تدفق المستخدم الذي تريد استخدامه لتسجيل الدخول (على سبيل المثال:
B2C_1_signup_signin). - إعادة توجيه URI: عنوان URL الذي قمت بتكوينه في تسجيل التطبيق (على سبيل المثال:
https://localhost:5001/signin-oidc). -
نقطة نهاية بيانات تعريف OpenID Connect: توفر نقطة النهاية هذه معلومات تكوين B2C. يكون التنسيق عادةً
https://<tenant_name_b2c>.b2clogin.com/<tenant_name_b2c>.onmicrosoft.com/<userflow_name>/v2.0/.well-known/openid-configuration. -
مثال على التكوين (الرمز الكاذب لتطبيق ويب ASP.NET Core):
csharp // Startup.cs أو Program.cs Services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme) .AddMicrosoftIdentityWebApp(options => { Configuration.Bind("AzureAdB2C"، options); options.Instance = "https://minhaempresab2c.b2clogin.com"; options.Domain = "mycompanyab2c.onmicrosoft.com"; options.ClientId = "<CLIENT_ID_DA_APLICACAO>"; options.SignUpSignInPolicyId = "B2C_1_signup_signin"; options.CallbackPath = "/signin-oidc"; options.SignedOutCallbackPath = "/signout-oidc"; options.ClientSecret = "<CUSTOMER_SEGREDO_SE_USADO>"; // فقط لتطبيقات الويب التي ليست SPA }); -
الشرح: تعمل مكتبة
Microsoft.Identity.Webعلى تبسيط تكامل Azure AD B2C مع تطبيقات .NET. بالنسبة للأنظمة الأساسية الأخرى، هناك حزم SDK ومكتبات مكافئة.
- معرف العميل (معرف التطبيق): معرف التطبيق المسجل الخاص بك (على سبيل المثال:
التحقق والاختبار
من الضروري اختبار عملية المصادقة وتجربة المستخدم.
1. اختبار تدفق المستخدم للتسجيل وتسجيل الدخول
- السيناريو: قم بالوصول إلى تطبيق الويب الخاص بك الذي تم تكوينه لاستخدام Azure AD B2C. حاول تسجيل مستخدم جديد ثم قم بتسجيل الدخول باستخدام الحساب الذي تم إنشاؤه حديثًا.
- الإجراء المتوقع: يجب إعادة توجيهك إلى صفحة التسجيل/تسجيل الدخول في Azure AD B2C، لتتمكن من إنشاء حساب، وتسجيل الدخول، وإعادة توجيهك مرة أخرى إلى تطبيقك بنجاح.
- التحقق:
- في بوابة Azure، في مستأجر B2C، انتقل إلى المستخدمون ضمن
إدارة. يجب أن يظهر المستخدم الجديد في القائمة. - تحقق من سجلات تدقيق Azure AD B2C لتأكيد أحداث التسجيل وتسجيل الدخول.
- في بوابة Azure، في مستأجر B2C، انتقل إلى المستخدمون ضمن
2. اختبار إعادة تعيين كلمة المرور
- السيناريو: حاول إعادة تعيين كلمة مرور المستخدم باستخدام تدفق المستخدم لإعادة تعيين كلمة المرور.
- الإجراء المتوقع: يجب أن يكون المستخدم قادرًا على إعادة تعيين كلمة المرور الخاصة به وتسجيل الدخول باستخدام كلمة المرور الجديدة.
- التحقق:
- تحقق من سجلات تدقيق Azure AD B2C لتأكيد حدث إعادة تعيين كلمة المرور.
3. التحقق من سجلات التدقيق في Azure AD B2C
- في مدخل Azure، في مستأجر B2C، انتقل إلى Azure Active Directory > المراقبة > سجلات التدقيق.
- قم بتصفية السجلات حسب
الفئة=الدليل الأساسيوالنشاط=تسجيل الدخولأوالتسجيل. - التحقق من تفاصيل الحدث للتأكد من نجاح عمليات المصادقة.
نصائح أمنية وأفضل الممارسات
- تمكين MFA: قم دائمًا بتمكين المصادقة متعددة العوامل (MFA) لتدفقات مستخدم تسجيل الدخول، خاصة للحسابات التي تتمتع بالامتيازات أو الوصول إلى البيانات الحساسة. يعد MFA أحد أكثر الدفاعات فعالية ضد هجمات اختراق بيانات الاعتماد.
- استخدام الوصول المشروط: قم بدمج Azure AD B2C مع الوصول المشروط لفرض سياسات الأمان القائمة على المخاطر، مثل طلب MFA لتسجيلات الدخول من مواقع غير معروفة أو أجهزة غير متوافقة [3].
- حماية الهوية:استخدم ميزات حماية الهوية في Azure AD B2C للكشف عن مخاطر الهوية ومعالجتها، مثل بيانات الاعتماد المسربة أو عمليات تسجيل الدخول الشاذة.
- تخصيص واجهة المستخدم الآمنة: عند تخصيص صفحات تسجيل الدخول/التسجيل، تأكد من أن HTML/CSS/JavaScript المخصص لا يقدم ثغرات أمنية (مثل XSS). استخدم مساحة تخزين ثنائية كبيرة آمنة مع CORS التي تم تكوينها بشكل صحيح.
- تقييد سمات المستخدم: اجمع فقط سمات المستخدم الضرورية للغاية لتطبيقك وعملك. وهذا يقلل من مخاطر التعرض للبيانات ويساعد في الامتثال.
- مراقبة السجل: مراقبة سجلات تدقيق Azure AD B2C وسجلات تسجيل الدخول باستمرار لاكتشاف الأنشطة المشبوهة أو محاولات الهجمات.
- تدوير سر العميل: إذا كان التطبيق الخاص بك يستخدم سر العميل، فتأكد من تدويره بانتظام وتخزينه بشكل آمن (على سبيل المثال Azure Key Vault).
- التكامل مع موفري الخدمات الاجتماعية: عند دمج موفري الهوية الاجتماعية مثل Google أو Facebook، قم بتكوينهم بشكل صحيح واتبع إرشادات الأمان الخاصة بكل موفر.
استكشاف الأخطاء وإصلاحها الشائعة
- حدث خطأ عند إنشاء مستأجر B2C:
- تأكد من أن لديك الأذونات اللازمة في اشتراك Azure الخاص بك.
- تأكد من أن اسم النطاق الأولي فريد وغير مستخدم.
- خطأ في إعادة التوجيه بعد تسجيل الدخول/التسجيل:
- تحقق من أن
Redirect URIالذي تم تكوينه في تسجيل التطبيق في Azure AD B2C يتطابق تمامًا مع عنوان URL المرتجع لتطبيقك. - تأكد من صحة البروتوكول (HTTP/HTTPS) والمنفذ.
- تحقق من أن
- تدفق المستخدم لا يعمل أو يعرض خطأ:
- تحقق من إنشاء تدفق المستخدم بشكل صحيح ومن تحديد موفري الهوية وسمات المستخدم.
- اختبر تدفق المستخدم مباشرة من مدخل Azure (في صفحة تدفق المستخدم، انقر فوق "تشغيل تدفق المستخدم") لعزل المشكلة.
- التحقق من سجلات التدقيق بحثًا عن رسائل الخطأ.
- لم يتم تطبيق تخصيص واجهة المستخدم:
- تأكد من أن عناوين URL لملفات CSS/HTML المخصصة صحيحة ويمكن الوصول إليها بشكل عام (في حالة استضافتها على وحدة تخزين كبيرة الحجم).
- تأكد من تكوين CORS بشكل صحيح على وحدة تخزين blob الخاصة بك للسماح بالوصول من المجال
b2clogin.com. - امسح ذاكرة التخزين المؤقت للمتصفح الخاص بك لضمان تحميل أحدث التغييرات.
- مشكلات تكامل التطبيق:
- تأكد من تكوين "معرف العميل" و"معرف المستأجر B2C" و"اسم تدفق المستخدم" بشكل صحيح في التطبيق الخاص بك.
- تأكد من تحديث مكتبات المصادقة في التطبيق الخاص بك.
- التحقق من سجلات التطبيق الخاص بك بحثًا عن رسائل خطأ في المصادقة.
الخلاصة
يعد Azure AD B2C حلاً قويًا ومرنًا لإدارة هويات عملائك وحمايتها، مما يوفر تجربة مستخدم محسنة وأمانًا قويًا. من خلال تفويض تعقيد إدارة الهوية إلى Microsoft، يمكن للمؤسسات التركيز على أعمالها الأساسية، مما يضمن أن بيانات عملائها آمنة ومتوافقة. يعد التنفيذ الدقيق لتدفقات المستخدم والتكامل مع أفضل ممارسات الأمان والمراقبة المستمرة أمرًا بالغ الأهمية لتحقيق أقصى قدر من فوائد Azure AD B2C. باستخدام هذا الدليل العملي، سيكون متخصصو الأمان ومسؤولو تكنولوجيا المعلومات مجهزين جيدًا لتكوين Azure AD B2C والتحقق من صحته وإدارته، وحماية هويات عملائهم وتعزيز الوضع الأمني العام لتطبيقاتهم.
المراجع:
[1] مايكروسوفت تعلم. وثائق Azure Active Directory B2C. متوفر على: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/ [2] مايكروسوفت تعلم. أفضل الممارسات لـ Azure AD B2C. متوفر على: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/best-practices [3] مايكروسوفت تعلم. حماية الهوية والوصول المشروط في Azure AD B2C. متوفر على: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/conditional-access-identity-protection-overview [4] مايكروسوفت تعلم. تسجيل تطبيق ويب في Azure Active Directory B2C. متوفر على: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/tutorial-register-applications [5] مايكروسوفت تعلم. إنشاء تدفقات المستخدم والسياسات المخصصة - Azure Active Directory B2C. متوفر على: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/tutorial-create-user-flows [6] مايكروسوفت تعلم. تكوين المصادقة في نموذج تطبيق ويب باستخدام Azure AD B2C. متوفر على: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/configure-authentication-sample-web-app [7] مايكروسوفت تعلم. التحقيق في المخاطر باستخدام حماية الهوية في Azure AD B2C. متوفر على: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/identity-protection-investigate-risk