使用LDAP配置Jenkins

时间:2015-01-18 13:06:21

标签: jenkins ldap

LDAP对我来说是新手,我尝试将它与Jenkins一起使用。我正在使用slapd

我创建了一个简单的树,其中包含用户admin + 1个用户adenoyelle(通过dpkg reconfigure)。我不明白Jenkins将如何找到LDAP用户。

以下是ldapsearch的结果:

root@myserver:~# ldapsearch -x -b 'dc=mycompany,dc=com'
# extended LDIF
#
# LDAPv3
# base <dc=mycompany,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# mycompany.com
dn: dc=mycompany,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: mycompany.com
dc: mycompany

# admin, mycompany.com
dn: cn=admin,dc=mycompany,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator

# adenoyelle, mycompany.com
dn: cn=adenoyelle,dc=mycompany,dc=com
cn: adenoyelle
objectClass: simpleSecurityObject
objectClass: organizationalRole
objectClass: top

# search result
search: 2
result: 0 Success

# numResponses: 4
# numEntries: 3

问题1):这个结构看起来不错吗?

我尝试使用这些选项配置Jenkins:

LDAP server: ldap://mycompany.com:389
root DN : dc=mycompany,dc=com
DN manager : cn=admin,dc=mycompany,dc=com
manager password : ******

当我尝试与adenoyelle/*****联系时,收到消息:

  

jenkins登录信息无效。请再试一次

问题2)我错过了一段配置吗?

3 个答案:

答案 0 :(得分:2)

现在我不确定jenkins如何查看用户,但我非常确定它是基于像 uid 这样的属性。就我所见,这样的属性在LDAP中不可用。

您可能想要添加一个objectclass ox inetorgperson或posixaccount,因为这些需要一个uid属性。或者,您可以在使用cn而不是uid的jenkins的ldap-config中设置用户过滤器。我明天要把它搞清楚,以便为你提供更多信息。

但是不要介意我问你为什么要设置一个自己的LDAP dieectory只是为了登录jenkins?是不是有点开销?或者您是否考虑使用该目录?

答案 1 :(得分:1)

詹金斯并没有很好地解释所需要的东西,他们的默认设置也不起作用。

一般情况下,选择LDAP后,您需要单击“高级”并将具有正确可分辨名称的ManagerDN和managerPassword更新为对您要访问的域控制器具有权限的用户。

同时将userSearch更改为(sAMAccountName = {0})

答案 2 :(得分:0)

您似乎只配置了管理员登录LDAP。每个用户还必须映射到LDAP结构。

尝试添加:

User search base: dc=mycompany,dc=com
User search filter: cn={0}