Jenkins 接入 LDAP 并进行权限控制

时间:2024-03-20 11:18:56

1. 准备 LDAP 数据

a. LDAP 中创建 ou (organizational unit)

这里创建名为 jenkins 的 ou,如图:
Jenkins 接入 LDAP 并进行权限控制

b. 在 ou ( jenkins ) 下创建 group

  1. 创建 jenkins-admins 用于具有 jenkins 管理权限的人;
  2. 创建 jenkins-users 用于具有 jenkins 使用权限的人;

如图:
Jenkins 接入 LDAP 并进行权限控制

c. 将用户添加到对应 group 下

这里将用于 test-user 添加到 jenkins-users 下,如图:
Jenkins 接入 LDAP 并进行权限控制
jenkins-admins 组下的用户这里就不做演示了,请自行添加。

2. 配置 Jenkins

a. 连接 LDAP 数据库

全局安全配置中 --> 安全域,选择 LDAP,填写信息,如图:
Jenkins 接入 LDAP 并进行权限控制
图中“固定格式”,并非一定一直,要结合你的实际情况来看,如 dc 肯定是不一致的。

配置完毕后,记住一定点击 Test LDAP setting 按钮测试用户是否可以正常被检索到。

b. 配置 jenkins 权限

还是在“全局安全配置”中,选择“显示矩阵授权策略”,如图:Jenkins 接入 LDAP 并进行权限控制
选择该项之后,默认是没有 jenkins-adminsjenkins-users 两项的,要点击 Add user or group... 按钮添加,配置好权限后保存。

3. 完结

下面使用 LDAP 中配置的用户登录 Jenkins 即可,如果你的 LDAP 或者权限配置错了,导致无法登录,记得在 Jenkins 的配置文件中(~/.jenkins/config.xml)里将 useSecurity 设置为 false, 并删除 authorizationStrategy 项,重启后即可匿名编辑 Jenkins 了。匿名并不安全,所以应当立即正确编辑权限并保存。