我最近安装了Jenkins和Ldap插件。我可以在Jenkins中设置用户身份验证,但现在我也想设置组。但是,我组织的Ldap有点棘手,而且从组的角度来看我无法正确设置它。这是我公司的LDAP树结构:
我正在使用Java 1.8,Jenkins LDAP插件1.20,Jenkins 2.176.2
答案 0 :(得分:1)
尝试此配置:
root DN : dc=domain,dc=com # root base dn
User search base : ou=People # relative to the root search base
Group search base : ou=Groups # relative to the root search base
User search filter : uid={0}
Group search filter : (& (cn={0}) (| (objectclass=groupOfNames) (objectclass=groupOfUniqueNames) (objectclass=posixGroup)))
Group membership : (| (member={0}) (uniqueMember={0}) (memberUid={1}))
上面的Group search filter是默认值,如果不确定哪个objectClass定义了组,请按原样使用它,否则删除OR条件以缩小搜索范围,例如。 :(& (cn={0})(objectclass=groupOfNames))
。用于管理组的最常见的对象类别是groupOfNames
,它提供了member
属性来处理成员资格。
上面的Group membership也被设置为默认值(在“搜索包含用户的组”模式下)。现在,例如,如果您的组具有objectClass“ groupOfNames”,则只需要过滤器member={0}
。另一个objectClass可能依赖于另一个成员资格属性(例如“ groupOfUniqueNames”的“ uniqueMember”)。也就是说,如果您的后端提供了memberOf
属性,则您可能希望切换到另一种模式“为组列表分析用户属性” 并设置Group membership attribute : memberOf
(请参见{ {3}})。