Jenkins的系统用户来源支持多种方式。当企业团队人数较少时,可以使用本地系统用户的方式进行维护。但在大规模用户场景下,本地系统用户的方式会存在许多问题,例如,维护不便、账号密码跨平台无法同步等。接下来,笔者将根据实践经验为读者展示Jenkins本地用户的管理方式,并通过Jenkins和LDAP认证系统集成来实现用户统一登录。
在初始化Jenkins的过程中创建了第一个管理员用户。导航到Jenkins全局安全配置,可以看到Jenkins使用默认的“Jenkins专有用户数据库”来进行用户管理。Jenkins全局安全配置如图2-1所示。
导航到管理用户页面可以看到当前系统中的所有用户,如图2-2所示。
本地用户列表如图2-3所示。
图2-1 Jenkins全局安全配置
图2-2 Jenkins管理用户菜单
图2-3 本地用户列表
单击左侧“新建用户”,填写用户名、密码、确认密码、全名,然后单击“新建用户”按钮完成用户新建,如图2-4所示。
图2-4 新建用户页面
LDAP(lightweight directory access protocol,轻量级目录访问协议)是一种成熟、灵活且支持良好的、基于标准的与目录服务器交互的机制。它通常用于身份验证和存储有关用户、组和应用程序的信息。
企业普遍采用LDAP系统管理组织中的所有用户。Jenkins可以通过插件与LDAP系统集成,实现用户登入。接下来笔者将演示集成的过程。
我们需要获取LDAP集成所需要的参数,如LDAP服务器地址、用户组织信息、具有查询权限的用户。LDAP系统组织页面如图2-5所示。
笔者的环境参数如下。
LDAP服务器:ldap://192.168.1.200:389。
管理员用户:cn=admin,dc=example,dc=com。
用户组织:ou=jenkins,dc=example,dc=com。
测试用户:cn=test1,ou=Jenkins,dc=example,dc=com。
为了实现Jenkins与LDAP系统集成,需要导航到“插件管理”页面安装LDAP插件。“插件管理”页面如图2-6所示。
图2-5 LDAP系统组织页面
图2-6 “插件管理”页面
插件安装完成后,导航到“全局安全配置”页面开启LDAP认证。“全局安全配置”页面如图2-7所示。
图2-7 “全局安全配置”页面
填写LDAP服务器Server、root DN、User search base、User search filter、Group search base等信息。设置LDAP服务器和组织信息如图2-8所示。
图2-8 设置LDAP服务器和组织信息
填写Manager DN的管理员账户“cn=admin,dc=example,dc=com”和对应的密码。设置LDAP管理员账户如图2-9所示。
图2-9 设置LDAP管理员账户
配置好LDAP参数后需要重启Jenkins Server方可生效,登录时使用的是LDAP用户test1 (cn=test1,ou=Jenkins,dc=example,dc=com)。登录成功后,可以在用户列表中看到当前的用户。Jenkins系统用户列表如图2-10所示。
图2-10 Jenkins系统用户列表