Gitlab LDAP 身份验证设置
-
21-12-2019 - |
题
当前环境:
- 亚特实验室服务器: 森托斯 6.5
- 活动目录: Windows Server 2008 R2
任何人都可以检查 Gitlab 7.1.1 中 Ldap 身份验证的这些虚构设置吗?
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_密码 必须设置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 在Github
如果 gitlab_rails['ldap_allow_username_or_email_login'] = true
, ,登录用户可以是邮箱格式,也可以是域用户。
解决方案
这 ldap_bind_dn
必须是 DN 用户 具有对 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
的密码。