一、准备LDAP数据
在对接之前,需要确保您的LDAP服务器上有必要的数据结构。以下是一些基本步骤:
- 在LDAP中创建一个组织单位(ou):创建一个名为“jenkins”的ou,用于存放与Jenkins相关的用户和组。
- 在ou下创建组:创建两个组,一个用于具有Jenkins管理权限的用户(jenkins-admins),另一个用于具有Jenkins使用权限的用户(jenkins-users)。
- 将用户添加到组中:将需要进行Jenkins认证的用户分别添加到对应的组中。例如,将test-user添加到jenkins-users组下。
二、配置Jenkins
完成LDAP数据的准备后,接下来需要在Jenkins中进行相应的配置。以下是配置步骤: - 连接LDAP数据库:在Jenkins的全局安全配置中,选择“安全域”并选择“LDAP”。填写LDAP服务器的相关信息,如主机名、端口、管理员DN和密码等。在“搜索基础DN”字段中输入刚才创建的ou的DN。根据实际情况选择适当的“用户搜索模式”和“用户匹配模式”。
- 配置用户同步:在“用户同步”部分,选择“从LDAP自动同步用户”选项。设置适当的同步间隔,并选择适当的组以同步到Jenkins中。确保将“jenkins-admins”组添加到具有Jenkins管理权限的用户同步中,将“jenkins-users”组添加到具有Jenkins使用权限的用户同步中。
- 测试LDAP设置:在配置完成后,不要直接保存,先点击“Test LDAP settings”按钮,确认LDAP设置是否正确。如果测试成功,则可以继续保存配置。
三、证书配置(仅当使用ldaps接入时)
如果通过ldaps协议接入LDAP服务器,则需要配置Java运行环境的证书。这是因为ldaps使用SSL/TLS加密连接来保证数据传输的安全性。以下是证书配置步骤: - 下载证书:使用openssl命令从LDAP服务器获取证书。在终端中运行以下命令:
openssl s_client -connect :636 > host.crt
该命令将连接到LDAP服务器并获取证书,将其保存为host.crt文件。请将替换为实际的LDAP服务器地址。 - 导入证书:使用Java的keytool工具将证书导入到Java信任库中。运行以下命令:
keytool -import -trustcacerts -alias -file host1.crt -keystore /usr/java/jdk-/lib/security/cacerts
该命令将证书导入到Java信任库中,其中是LDAP服务器的地址,是您的Java版本。请注意,不同版本的Java可能会有不同的证书导入位置。在导入证书时,需要输入证书密码,默认为“changeit”。 - 测试LDAPS设置:完成证书导入后,再次点击“Test LDAP settings”按钮,确认通过ldaps协议连接是否正常工作。如果测试成功,则可以继续保存配置。
完成以上步骤后,您的Jenkins应该已经成功对接了LDAP服务器,并且可以通过LDAP进行用户认证和权限管理了。请注意,具体配置可能因您的环境和需求而有所不同,请根据实际情况进行调整。