上篇文章已经设置好用户相关权限,但里面的各个权限大家是否知道具体含义呢?今天本篇文章主要针对“Jenkins设置用户权限-项目矩阵授权策略”进行讲解,希望感兴趣的小伙伴可以坚持看下去同时欢迎提出宝贵的意见让我们一起进步!
前提条件
(1)输入账号和密码,登录Jenkins主页且进入“全局安全设置”页面
(2)已配置“项目矩阵授权策略”,主要是“控制用户执行某些操作的权限”
01:授权策略概述
(1)任何用户可以做任何事(没有任何限制):不执行任何授权,任何人都能完全控制jenkins,包括匿名用户
(2)安全矩阵:常用的一种授权策略,通过表格控制每个用户的操作权限
(3)登录用户可以做任何事:用户在登录成功后,具备jenkins最高权限,匿名用户则只有查看权限
(4)遗留模式:适用于Jenkins1.164以前的版本,只有admin有最高权限,其他用户则只有查看权限
(5)项目矩阵授权策略:扩展于"安全矩阵",允许把下面的ACL(访问控制列表)矩阵附加到每个项目定义中(在Job配置页面)
(6)注意:
- 安全矩阵和项目矩阵授权策略的配置是一模一样的
- 唯一的区别是项目矩阵授权策略支持在Job的配置页面再次配置授权策略
02:项目矩阵授权策略各种权限讲解
项目矩阵授权策略.png项目矩阵授权策略.png
(1)最基本的权限是Overall的Read,用户必须赋予阅读的权限,不然什么都看不到。
(2)凭证(Credentials)
:一般配置加密的认证信息的使用权限,一般配置给管理员账号
- 直译为“证书”,也可以理解为“
钥匙
”。即:对这些钥匙所进行的统一管理- 以
SVN
(版本控制器)为例来进行说明:当我们在访问SVN时,需要提供相应的账号与密码进行登录。假如把要访问的URL地址理解为锁,所提供的账号与密码就对应于开这把锁的钥匙。- 所以说“Credentials”中所记录的就是各种各样的钥匙,钥匙对应的锁是有多种可能的,可能是
SVN
,也可能是Git
等。(3)
代理(agents/slave)
:设置Jenkins节点相关权限的角色,一般配置给管理员账号
(4)任务(job)
:配置用户对job/project的查看,操作等权限,一般配置给普通用户
(5)运行(run)
:配置对job运行的权限,例如更新,rerun
(6)视图(view)
:配置job在主界面的显示权限
(7)SCM (source code management)
:一般配置给管理员账号
03:额外注意
(1)
Anonymous Users
:匿名用户;Authenticated Users
:注册用户
(2)如果用户被赋予了Overall的Read,并没有被赋予Job的Read权限,则该用户就无法访问Job
(3)Job的Read权限是用户查看视图的前提,如果没有Job的Read权限,在首页看到的是一片空白
(4)Overall是全局权限
(5)slave是集群权限
(6)job,run,view,scm是业务权限
(7)当一个用户同时拥有具有全局角色和项目角色时,优先级如何呢?
- 全局角色的配置会覆盖项目角色的配置
- 如果只希望基于项目维度进行权限控制,则除了admin角色,其他全局角色的job权限留空
网友评论