Jenkins:如何阻止AD域内无权限用户登录?
解决Jenkins仅允许授权AD用户登录的问题
方案1:配置Active Directory用户过滤规则
- 进入Jenkins 全局安全配置,找到Active Directory认证模块
- 在「用户搜索过滤器」中添加LDAP过滤表达式,仅匹配有权限的用户或其所在组:
- 若通过AD组限制:
(&(objectCategory=person)(objectClass=user)(memberOf:1.2.840.113556.1.4.1941:=CN=Jenkins授权用户组,OU=Groups,DC=你的域名,DC=com)) - 若指定单个用户:
(|(sAMAccountName=user01)(sAMAccountName=user02))
- 若通过AD组限制:
- 保存配置后,只有符合过滤规则的域用户才能完成登录认证
方案2:结合AD组与Matrix授权策略实现精准控制
- 在AD域内创建专属安全组(如
Jenkins-Authorized),将所有需要访问Jenkins的用户添加至该组 - 回到Jenkins全局安全配置的Matrix授权策略中,给该AD组分配对应权限(至少需「整体读取」权限保证登录后可访问)
- 在Active Directory插件配置中启用「允许从LDAP组继承权限」,确保仅该组内用户可通过认证
方案3:缩小AD用户搜索范围
- 在Active Directory配置的「用户搜索基准」中,指定仅包含授权用户的OU路径(如
OU=JenkinsUsers,DC=你的域名,DC=com) - 此方式可减少AD用户搜索范围,避免无关域用户触发认证流程
注意:上述配置需替换为你的实际AD域结构信息(组名、OU路径、域名),配置完成后需测试非授权用户是否无法登录Jenkins。
内容的提问来源于stack exchange,提问作者JamesAndis
相关产品推荐
相关产品推荐

