admin管理员组

文章数量:1567818

网上介绍Role-based Authorization Strategy这个插件的文章已经很多,这里讲几点特殊的地方。

1,Global roles、Item roles、Node roles的区别

既然是Role-based的权限控制,自然Jenkins定义了多种角色,从角色的角度进行权限控制。其中,

Global roles:全局角色,比如admin, job creator, anonymous等,从全局角度设置全部、凭据、代理、任务、运行、视图、SCM、Lockable Resources 的权限。

Item roles:创建项目角色,允许在项目角度赋予Job和Run权限。

Node roles:创建代理角色,允许设置节点相关的权限。

Global roles中的配置作用于Jenkins中的所有item,并且会覆盖在Items Roles中的配置。如果把Global Roles下的Job-Read权限给某个角色,那么这个角色允许读取所有的jobs,不论你在Project Roles是如何设置的。

2,几个注意的地方

1)所有的非admin角色,必须赋予一个Global roles中的Global-Read权限。

2)具有创建job item的权限:必须将Global roles中的Job-Create权限赋予该角色。

仅在Item roles中选择Create item权限是不起作用的。因为创建Item是一个global的功能,创建好item之后,根据正则表达式再确定属于哪一个角色管理。

否则会报错: lacks permission to run on ‘Jenkins’

报错信息

 

 

3)如果在全局安全配置中选择了Run as User who Triggered Build,则必须将Global roles中的agent-build权限赋予角色。

Access Control for Builds

 

 目前还没有用到node roles,以后遇到再补充。

本文标签: RoleJenkinsCICDStrategyAuthorization