إعدادات مصادقة Gitlab Ldap
-
21-12-2019 - |
سؤال
البيئة الحالية:
- خادم جيتلاب: سنتوس 6.5
- الدليل النشط: ويندوز سيرفر 2008 R2
هل يمكن لأي شخص التحقق من هذه الإعدادات الوهمية لمصادقة Ldap في Gitlab 7.1.1؟
gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_host'] = 'myserver.dom.com.net'
gitlab_rails['ldap_port'] = 389
gitlab_rails['ldap_uid'] = 'sAMAccountName'
gitlab_rails['ldap_method'] = 'plain' # 'ssl' or 'plain'
gitlab_rails['ldap_bind_dn'] = 'OU=Users,DC=dom,DC=com,DC=net'
gitlab_rails['ldap_password'] = '????'
gitlab_rails['ldap_allow_username_or_email_login'] = true
gitlab_rails['ldap_base'] = 'DC=dom,DC=com,DC=net'
أيّ ldap_bind_dn هل يجب ضبطه حتى يعمل Gitlab (ما يعادل حساب المستخدم)؟
أيّ ldap_password هل يجب ضبطه حتى يعمل Gitlab؟
لقد تابعت الاقتراحات من:@metaDiego و @heinglandreas.وكلاهما كانا في الطريق الصحيح.لذلك قمت بتعديل إعداداتي في السطور:
حل
gitlab_rails['ldap_bind_dn'] = 'CN=the_allowed_user_for_access_ldap,OU=Users,DC=dom,DC=com,DC=net'
gitlab_rails['ldap_password'] = 'the_password_of_allowed_user'
ال ldap_bind_dn قد يختلف وفقًا لبنية AD والمستوى الحالي حيث يوجد المستخدم المسموح به.
لا تسمح شركتي AD باستعلامات Ldap مجهولة المصدر.لذلك كانت إضافة تلك المعلمات إلزامية.
ابحث عن مساعدة في مسؤولي المجال للحصول على تلك المعلمات.
مقالة مفيدة من gitlabhq في جيثب
لو gitlab_rails['ldap_allow_username_or_email_login'] = true
, ، يمكن أن يكون مستخدم تسجيل الدخول باستخدام تنسيق البريد الإلكتروني أو مستخدم المجال فقط.
المحلول
ال ldap_bind_dn
يجب أن يكون الاسم المميز لـ a مستخدم الذي لديه حق الوصول للقراءة إلى LDAP.بقدر ما أستطيع أن أرى أنك تشير إلى بنية الدليل باستخدام OU=Users,DC=dom,DC=com,DC=net
.سيتعين عليك استخدام كلمة مرور المستخدمين كـ ```
لذا ldap_bind_dn
يجب أن تقرأ شيئا من هذا القبيل uid=userid,OU=Users,DC=com,DC=com,DC=net
و ldap_password
يجب أن يكون بعد ذلك userid
كلمة المرور.
على بعض خوادم LDAP ldap_bind_dn
يمكن تركها فارغة كما تسمح بذلك ربط مجهول.في هذه الحالة ldap_password
يجب أن تترك فارغة أيضا.
هل هذا منطقي؟خلاف ذلك لا تتردد في التعليق!
نصائح أخرى
لديّ GitLab LDAP conf، وملف password
يجب أن يتطابق الحقل مع bind_dn
المستخدم الذي اخترته.
gitlab_rails['ldap_base'] = 'ou=somehting,dc=foo,dc=bar'
gitlab_rails['ldap_bind_dn'] = 'uid=SOMEONE,ou=somehting,dc=foo,dc=bar'
gitlab_rails['ldap_password'] = 'SOMEONE_PASSWORD'
ldap_base
هو المكان الذي تبحث فيه عن المستخدمينldap_bind_dn
هو "المستخدم الموجود على خادم LDAP الخارجي مسموح له بالبحث في دليل LDAP داخل قاعدة البحث المحددة."ldap_password
هي كلمة المرور لbind_dn
مستخدم.لذلك في حالتك يجب أن يتطابق مع المستخدمOU=Users
كلمة المرور.