标签:插件 based roles 角色 Strategy job 权限 view
除了搭建jenkins时默认安装的插件之外,有时候扩展功能,还需要安装一些其他的插件,下面为大家简单介绍一下Role-based Authorization Strategy插件。
背景:
当我们需要对jenkins做访问权限控制的时候,而且公司项目比较多,角色比较多的时候,就需要对每个人可操作的权限做控制,避免配置被别人误删或者修改。而且权限的控制最好细化到每一个员工,不要每个项目/部门用公共账号,到时候出了问题都不知道谁整出来的。 而且有些特殊的情况,也是需要授权给每个项目的人员自己维护一些配置的。
插件安装:
插件管理->可选插件->搜索Role-based Authorization Strategy ,勾选后点击直接安装即可
安装完成后页面显示如下:
配置:
插件安装完成之后,是需要在全局安全配置中将授权策略切换为Role-Based Strategy,才可以通过创建角色的方式去控制权限
更改授权策略后,在jenkins的配置选项中会多出来一个选项:
Manage and Assign Roles
实操:
下面小编演示一下怎么控制不同用户/角色的操作权限。
1、首先,在jenkins上创建出多个view(视图),可以以项目名称或部门名称命名,后续对应部门下的所有配置都可以在一个视图下显示。
现在新增2个job名称分别为 project_a_api 和 project_abc 的 job,检查一下view中的显示效果:(会按照对应view中配置的正则表达式进行过滤)
2、在用户管理中新增几个用户用来测试权限分配
3、主页->Manage Jenkins->Manage and Assign Roles
先看一下角色管理:
Global roles下不能给除管理员以外的其他角色授权read权限,否则用户能看到所有job,只是无法操作而已,这样就没办控制对应项目组的用户只能看自己项目的job,而且会出现一个用户展示很多job,体验不友好!
Global roles :除了admin角色外,其他角色都需要自己重新创建,这里可以创建开发,测试,qa等角色,然后分别给对应的角色授权 job的增删改等操作的权限。这里针对开发的话,暂时只分配job构建和取消构建的权限。这个是全局的角色权限,还可以针对不同的job再单独授权更细的权限 ,全局role的权限建议不要给太大
Item roles :为针对不同的job创建的角色
角色的权限为 Global roles + Item roles 的并集
Node roles:针对节点相关的权限控制 ,这个一般用的少,小编暂时没去仔细研究。
接下来分配角色
user001 登录后的效果如下:只能看project_a 项目相关的view和job,并且job是没有删除权限
user002 登录后的效果如下:只能看project_b 项目相关的view和job,并且job是有删除权限的。
本次插件的分享就到这了,谢谢您的观看。
标签:插件,based,roles,角色,Strategy,job,权限,view 来源: https://blog.51cto.com/u_7739395/2736316
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。