SAML ASSERTION مع اسم المستخدم / كلمة المرور - ماذا تبدو الرسائل حقا؟

StackOverflow https://stackoverflow.com/questions/1132111

سؤال

أحتاج إلى إنشاء بعض تأكيدات SAML 2.0، وأواجه مشكلة في العثور على ما يجب أن يشبه XML. يبدو أن معظم الوثائق حول استخدام أدوات معينة، وليس حول الرسائل. لقد حصلت على المخططات، مع عدد كبير من الاحتمالات، لكن لا يمكنني العثور على مثال على ما تبدو الرسائل ذات الصلة بالفعل في الممارسة العملية.

تقول قاعدة العمل: من أجل إنشاء هوية مشتركة، يروي المستخدم النظام اسم المستخدم وكلمة المرور الخاصة بهم على النظام B. SYSTEM A تحتاج إلى توصيل هذه المعلومات (جنبا إلى جنب مع بعض التركيبة السكانية) إلى النظام B. System B التحقق من صحة المعلومات والمرور رجوع معرف فريد يمكن استخدامه للإشارة إلى هذا المستخدم.

هل يمكن لشخص ما أن يعطيني مثالا على ما يبدو أن تأكيدات SAML 2.0 ترغب في حمل هذه المعلومات؟

FWIW، أنا أستخدم C #، وتحتاج إلى اجتياز XML حولها بطرق تمنع باستخدام أداة 3RD.

هل كانت مفيدة؟

المحلول

لست متأكدا من حالة استخدامك تماما ما يفعله SAML 2.0.

ما تصفه كقواعد عملك يشبه فعلا حالة استخدام لتوفير الهوية، وليس إدارة الوصول.

حالات استخدام SAML 2.0 القياسية التركيز على طرف واحد يؤكد الهوية (مزود الهوية) والطرف الآخر (أو الأطراف) التي تعتمد على تلك التأكيدات (مزود الخدمة). تحمل التأكيدات ما يسمى معرف الاسم، والذي تم الاتفاق عليه في وقت مبكر بين مزود الهوية ومزود الخدمة.

يمكن أن تكون معرفات الاسم هذه أي شيء إلى حد كبير، لكنها تقع على نطاق واسع في فئتين: عابرة ومستمرة. يعد معرف الاسم العابر مفيدا فقط في سياق الدورة الحالية (ويقول بشكل أساسي فقط، "أعرف من هو هذا الشخص") وتميل إلى استخدامه لحماية هوية المدير أثناء السماح بالوصول المميز من نوع ما. يمكن أن يكون معرف مستمر إما غير شفاف (بطريقة مماثلة لكيفية استخدام OpenID للوصول إلى ذلك) حيث يمكن لحزب التأكيد مرارا وتكرارا التحقق مرارا وتكرارا عن هوية المبدأ دون الكشف عن هويتها مع الحفاظ على معرف مشترك ديناميكي ولكن مستقر بين التأكيد والاعتماد على الأطراف أو الاعتماد عليه أو أكثر جوهرية، مثل UPN Active Directory UPN (والتي يمكن الاتفاق عليها مسبقا في وقت مبكر).

عندما يتعلق الأمر بكلمات المرور، كما ذكر في سؤالك، لا يرى مزود الخدمة (الطرف) أبدا كلمة مرور المستخدمين. يدرج مزود الخدمة المستخدم إلى مزود الهوية مع طلب المصادقة. يرسل مزود الهوية المستخدم مرة أخرى إلى مزود الخدمة مع استجابة، والتي في حالة المصادقة الناجحة تحتوي على تأكيد حول هوية المستخدم في سياق العلاقة بين مزود الهوية ومزود الخدمة.

في سياق سؤالك، فإن الشيء الكبير هو أن SAML 2.0 لا يوفر وسيلة لإنشاء حساب مستخدم "التطبيق" المحلي أو الرابط الذي يمثل حساب المستخدم المحلي لهوية موحدة. هذه ببساطة ليست مشكلة SAML 2.0 يحاول حلها.

الآن، عد إلى قواعد عملك ...

يبدو لي مثل ما تحاول القيام به هو إما ربط حساب أو تسجيل - أود أن أسترحب به مثل هذا:

  • تطبيق زيارات المستخدم، والنقر على زر لاستخدام الهوية من مزود الهوية
  • ينتج التطبيق طلب مصادقة وتوجيه المستخدم إلى مزود الهوية، يحمل طلب المصادقة هذا
  • يطرح مزود الهوية إما في المستخدم أو إعادة استخدام جلسة هوية موجودة إذا كان لدى المستخدم واحدا. ينتج IDP رسالة استجابة تحتوي على تأكيد بشأن المستخدم. في حالتك، يجب أن يكون هذا التأكيد كحد أدنى معرف اسم مستمر. يوجه موفر الهوية المستخدم مرة أخرى إلى التطبيق، وتحمل رسالة الاستجابة.
  • التطبيق يعالج رسالة الاستجابة. إذا كان إدخال رسم الخرائط موجودا للمعرف المستمر مرت المستخدم معروسا من هذا التعيين وتسجيل الدخول إلى مستخدم التطبيق المحلي. إذا لم يكن هناك إدخال رسم خرائط، فيمكن أن يطلب من المستخدم تسجيل الدخول المحلي، وعلى تسجيل الدخول المحلي الناجح، يمكن إنتاج إدخال التعيين، أو يمكن إنشاء حساب مستخدم تلقائيا ويمكن طلب المستخدم إدخال معلومات إضافية (أسماء وعناوين البريد الإلكتروني ، وما إلى ذلك) ستكون حالة استخدام "الشركات" أنه لا يسمح بإنشاء حساب أو إنشاء حساب تلقائي ويجب أن يكون التعيين في وقت مبكر.

أما بالنسبة لمحتوى الرسائل ...

ال اللجنة الفنية لخدمات الأمن الواحة لديه تنزيل ملف مضغوط متوفر بتوثيق مكثف لأجزاء مخطط XML، بما في ذلك الأمثلة. كما أنه من المفيد قراءة البروتوكول وثائق الملف الشخصي، لأن هذه تصف تدفق الرسائل بين الأطراف المشاركة في محادثة الهوية.

هناك عدد كبير من العروض التقديمية تطفو حولها وجدت مفيدة للغاية. خاصة، SAML V2.0 أساسيات بقلم حواء مالر ساعدني في البدء في تحقيق مشاكل SAML V2.0 تحاول حلها. يشمل هذا العرض التقديمي أمثلة على هذه التأكيدات تبدو وكأنها. هناك عرض تقديمي محدث وروابط لموارد إضافية saml.xml.org..

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top