تسجيل الدخول الموحد وإدارة الهوية باستخدام Shibboleth

التفاعل الأساسي

تدفق SSO بين IDP و SP

يوضح الرسم البياني التالي التفاعل بين المستخدم ، الموجود في مستعرض الويب الخاص به ، و IdP ، الموجود في المؤسسة المنزلية ، و SP ، الموجود في مؤسسة الموارد.

  • يكتشف SP المستخدم الذي يحاول الوصول إلى المحتوى المقيد داخل المورد.
  • يقوم SP بإنشاء طلب مصادقة ، ثم يرسل الطلب والمستخدم إلى IdP الخاص بالمستخدم.
  • يقوم IdP بمصادقة المستخدم ، ثم يرسل استجابة المصادقة ، ويعود المستخدم إلى SP.
  • يتحقق SP من استجابة IdP ويرسل الطلب إلى المورد الذي يعرض المحتوى المطلوب أصلاً.

خطوات التكوين:

اعتمادات الموافقة المسبقة عن علم - لوحة التبديل

ملحوظة-

  • تستند خطوات التكوين الموضحة أدناه إلى shibboleth 2.0.
  • يتم شرح خطوات التكوين من منظور IDP (موفر الهوية) مع الأخذ في الاعتبار أنك تقوم بتكوين تطبيق SP (مزود الخدمة) في مثيل shibboleth الخاص بك.

الخطوة 1. تسجيل الدخول إلى خادم shibboleth الخاص بك كما sudo وتنزيل نسخة من بيانات التعريف الخاصة بك IDP.

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

https://shibboleth.idpname.org/idp/profile/Metadata/SAML

الخطوة 2. ستحتاج إلى نسخة من بيانات تعريف البائع. عندما تحصل عليه:

ا. قم بتحميله على خادم shibboleth الخاص بك.

ب. انسخه في /opt/shibboleth-idp/metadata/VENDOR-metadata.xml

ج. تأكد من أذونات الملف لمطابقة الآخرين في هذا الدليل

د. دوّن معرف الكيان الخاص بهم من أول سطرين في ملف البيانات الأولية. على سبيل المثال،

قيمة السمة - عنوان URL ، https://www.spname.com/saml2/service-provider/xxxx - هي معرف الكيان في المقتطف أدناه.

<دكتوراه في الطب: EntityDescriptor
XMLNS: MD = "جرة: واحة: أسماء: ح: SAML: 2.0: الفوقية"
entityID = "https://www.spname.com/saml2/service-provider/xxxx">

الخطوة 3. ستحتاج إلى قائمة السمات التي يتوقعها البائع. هوية الموظف ، اسم المستخدم ، الاسم الكامل ، إلخ.

الخطوة 4. على خادم shibboleth الخاص بك ، تحرير /opt/shibboleth-idp/conf/relying-party.xml

أ) ابحث في الملف عن خطوط متشابهة وأضف أسطر للتكامل الجديد. يجب أن تكون سمة المعرف مساوية لمعرف الكيان.

<روبية: RelyingParty
معرف = "https://www.xyz.com/saml2/service-provider/spgucgtqldxvmhxxxxxx"
مزود = "https://shibboleth.idpname.org/idp/shibboleth"
defaultSigningCredentialRef = "IdPCredential">

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

<الفوقية: MetadataProvider
معرف = "vendorMetadata"
XSI: نوع = "FilesystemMetadataProvider"
XMLNS = "جرة: صولجان: لغو: 2.0: الفوقية"
metadataFile = "/ opt / shibboleth-idp / metadata / vendor-metadata.xml" />

الخطوة 5. تحرير /opt/shibboleth-idp/conf/attribute-filter.xml لإضافة تكامل جديد (قائمة السمات للمورد الجديد).

ا. البحث عن خطوط مماثلة وإضافة رمز للتكامل الجديد. المعرف تعسفي تختاره ولكن يجب أن تكون PolicyRequirementRulevalue مساوية لمعرف الكيان.

ب. فقط أرسل ما يحتاجه (مزود الخدمة) لكي يعمل التكامل.

ج. يمكن العثور على السمات المتاحة في أي مكان آخر في هذا الملف وكذلك في /opt/shibboleth-idp/conf/attribute-resolver.xml

د. قم بتشغيل الأمر xmlwf attribute-filter.xml للتحقق من وجود أخطاء في بناء الجملة

الخطوة 6. إعادة تشغيل Shibboleth / Tomcat لتصبح التغييرات نافذة المفعول. إذا كان PROD ، فستحتاج إلى القيام بذلك خلال ساعات العمل: إعادة تشغيل sudo service tomcat6 (إذا قمت بتسجيل الدخول كـ sudo ، فاستخدم إعادة تشغيل الخدمة tomcat6).

مساعدة ، لا يمكنني العثور على السمة التي يريدونها (مزود الخدمة)

الخطوة 1. تحقق مما إذا كانت هناك سمة واحدة تسمى شيئًا مختلفًا (اسم العائلة مقابل اللقب) واستخدمها.

الخطوة 2. البريد الإلكتروني و eduPersonPrincipalName يمكن أن يكونا متطابقين في جانب IDP لكن لهما تعريفات SAML مختلفة. واحد يمكن أن يكون قابلا للاستخدام حيث الآخر ليس كذلك.

الخطوة 3. إذا لم يعمل شيء ، فسيتعين عليك إضافة واحدة جديدة من LDAP. ستحتاج إلى الانتقال إلى Google ، ولكن تحقق من بعض السمات الموجودة في /opt/shibboleth-idp/conf/attribute-resolver.xml لإعطائك فكرة عما تبحث عنه.

تمكين تسجيل التصحيح

  • قم بتشغيل تسجيل الدخول /opt/shibboleth-idp/conf/logging.xml. هذا ملف ، يتتبعه Shibboleth ، لإجراء تغييرات حتى لا تضطر إلى إعادة تشغيله لتصبح التغييرات نافذة المفعول.
يُشير تعريف المُسجِّلين إلى الحزم / الفئات التي تم تسجيلها ، وعلى أي مستوى ، وإلى أي مُلحق.
المستويات: OFF ، خطأ ، تحذير ، INFO ، DEBUG ، TRACE ، ALL
 →

 

 

 ->
  • ابحث في دليل التسجيل عن الرسائل ذات الصلة ، و / opt / shibboleth-idp / logs
  • إذا لم تبدأ Tomcat ، فتحقق من دليل التسجيل ، / var / log / tomcat6

لا تتردد في ترك تعليق واسمحوا لي أن أعرف إذا كنت تتمتع بقراءة هذا المقال.

شكرا للقراءة ، يرجى مشاركتها إذا وجدت أنها مفيدة. السعادة :)