如何配置Jenkins LDAP(AD)认证 仅允许指定用户组成员访问
Jenkins LDAP(AD)仅允许指定组成员登录的过滤规则配置方案
正确配置方式
1. 配置位置
直接在用户搜索过滤器栏填写过滤规则即可,无需修改组相关的原有配置(你此前无过滤时可正常识别组成员,说明组配置本身是正确的)
2. 过滤规则写法
直接填入以下内容:
(&(objectCategory=person)(objectClass=user)(memberOf=CN=jenkinsgroup,OU=App1,OU=Applications,OU=CompanyGroup,OU=Company,DC=my,DC=domain,DC=com))
如果你的jenkinsgroup包含嵌套组(即组内还有子组,子组的用户也需要允许登录),请使用AD的递归匹配规则:
(&(objectCategory=person)(objectClass=user)(memberOf:1.2.840.113556.1.4.1941:=CN=jenkinsgroup,OU=App1,OU=Applications,OU=CompanyGroup,OU=Company,DC=my,DC=domain,DC=com))
原配置失败原因说明
你此前配置不生效是因为混淆了属性的所属对象:
member是组对象的属性,存储组内所有成员的DNmemberOf是用户对象的属性,存储用户所属所有组的DN
用户搜索阶段是查询用户对象,因此需要用用户的memberOf属性匹配目标组的完整DN,而不是用member属性。
验证失败排查项
如果配置后仍报错,按以下顺序检查:
- 确认填写的组完整DN完全正确,OU顺序、大小写、域名拼写均无错误
- 确认你配置的LDAP Manager DN账号有权限读取域用户的
memberOf属性 - 确认
jenkinsgroup是AD安全组,而非通讯组(通讯组不会同步到用户的memberOf属性中)
内容的提问来源于stack exchange,提问作者KKC
相关产品推荐
相关产品推荐

