一、权限管理概述
jenkins的权限管理,我目前使用的是Role-based Authorization Strateg。这个很简单,权限是jenkins已经定死了的,就那些。该插件可以让我们新建角色,可以将权限赋予给角色,
角色可以再赋予给用户。
然后突然想知道Matrix-based security(安全矩阵)和Project-based Matrix Authorization Strategy(项目矩阵授权策略)怎么玩的,以下是一些实践。
二、Matrix Authorization Strategy
1.插件介绍与配置
从官网的参考资料:https://jenkins.io/doc/book/managing/security/#authorization可以知道,第一章里我说的这两个选项其实不是jenkins自带的,是插件扩展来的。
这个插件就是 Matrix Authorization Strategy Plugin。
这个插件的使用很简单,基本就是用户与权限的对应关系。另外,在下图处配置的,算是全局安全配置。
项目中是可以覆盖这部分配置的,也可以直接继承。在job的配置页面,见下图:
详细的配置细节可参考:
http://www.tothenew.com/blog/jenkins-implementing-project-based-matrix-authorization-strategy/
3.注意点
有心的朋友发现了,上面的权限只是和用户对应,没有用户组的概念。你在上面的“添加用户/组”里面输入的字符串,都会被当成用户名,而不是组名。
那要怎么创建自己的组呢?答案是:不行,jenkins不支持。
那那个组是干嘛的呢,说是要配合LDAP和Active Directory。我大概了解了下Active Directory,需要配置Domain Controller。(针对windows的话)
也就是我们的windows计算机需要加入域,这样呢,域里面的机器就可以用他们的用户名和密码直接来登录jenkins了。(表述不当的话,可以自行查找下)
如果是配置LDAP的话,也需要单独的LDAP服务器地址。
所以呢,我的理解是,LDAP和Active Directory都需要使用外部服务器(LDAP服务器或域服务器)内的已有的用户数据。用已有的用户名密码来登录。
4.结论
如果只是想简单地用基于角色来给jenkins配置用户权限的话,直接还是使用Role-based Authorization Strateg吧。
以上。