一、创建用户
# 在freeipa界面创建jenkinsldap用户,此用户是jenkins专门用来与ldap通信使用
FreeIPA安装参考:FreeIPA高可用部署
二、jenkins配置
"""
jenkins创建好后,我们选择直接接入ldap进行用户管理,不在使用jenkins直接创建用户。
注意一点,接入ldap后一定要先配置一个admin用户!!!
"""
系统配置 ---> 全局安全配置 ---> 安全域 ---> LDAP
参数配置:
Server: ipa1.dc.losinx.com:389 # 地址
root DN: dc=dc,dc=losinx,dc=com # 域信息
User search base: cn=users,cn=accounts
User search filter: uid={0}
Group search base: cn=groups,cn=accounts
Group search filter: (objectclass=ipausergroup)
Manager DN: uid=jenkinsldap,cn=users,cn=accounts,dc=dc,dc=losinx,dc=com
Manager Password: 12345678
"""
首先需要在ldap创建jenkinsldap用户
jenkinsldap: ldap用户
"""
- config.xml 配置文件内容
<authorizationStrategy class="hudson.security.GlobalMatrixAuthorizationStrategy">
<permission>hudson.model.Hudson.Administer:tchua</permission>
</authorizationStrategy>
<securityRealm class="hudson.security.LDAPSecurityRealm" plugin="ldap@1.24">
<disableMailAddressResolver>false</disableMailAddressResolver>
<configurations>
<jenkins.security.plugins.ldap.LDAPConfiguration>
<server>ipa1.dc.losinx.com:389</server>
<rootDN>dc=dc,dc=losinx,dc=com</rootDN>
<inhibitInferRootDN>false</inhibitInferRootDN>
<userSearchBase>cn=users,cn=accounts</userSearchBase>
<userSearch>uid={0}</userSearch>
<groupSearchBase>cn=groups,cn=accounts</groupSearchBase>
<groupSearchFilter>(objectclass=ipausergroup)</groupSearchFilter>
<groupMembershipStrategy class="jenkins.security.plugins.ldap.FromUserRecordLDAPGroupMembershipStrategy">
<attributeName>memberOf</attributeName>
</groupMembershipStrategy>
<managerDN>uid=jenkinsldap,cn=users,cn=accounts,dc=dc,dc=losinx,dc=com</managerDN>
<managerPasswordSecret>{AQAAABAAAAAQfAHX2RsbwUbySUyvP/xa9xDw2uby9ICFArQ+thzhzkQ=}</managerPasswordSecret>
<displayNameAttributeName>displayname</displayNameAttributeName>
<mailAddressAttributeName>mail</mailAddressAttributeName>
<ignoreIfUnavailable>false</ignoreIfUnavailable>
</jenkins.security.plugins.ldap.LDAPConfiguration>
</configurations>
<userIdStrategy class="jenkins.model.IdStrategy$CaseInsensitive"/>
<groupIdStrategy class="jenkins.model.IdStrategy$CaseInsensitive"/>
<disableRolePrefixing>true</disableRolePrefixing>
</securityRealm>
三 总结
这样保存配置后,后续用户直接使用ldap创建的用户即可。
# 注意:
默认ldap用户只有登录权限,只是提供了账号,用户具体的权限还是需要我们通过jenkins页面进行授权,
授权方式跟不接入ldap方式一样。
"""
其实这里我们仅仅是把创建用户的功能授权给了ldap,其它的还是需要在jenkins中配置,
另外,我们都知道jenkins是不支持组添加的,通过使用ldap的话,就可以了,在ldap中创建组,添加对应的人员之后,就可以在jenkins页面对组直接授权,这样整个组里面的人员都会有相同的权限。
"""