jenkins 实现自动化构建(四)

本文介绍Jenkins中的权限管理设置,包括如何配置全局安全性和项目级别的权限。从创建匿名用户到授权给新用户的过程,以及如何通过安全矩阵和项目矩阵授权策略来细化不同用户的访问权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此篇主要说下jenkins的权限管理

jenkins刚开始是没有用户的,之所以能使用jenkins的功能,是因为jenkins启动后会创建了一个匿名用户(Anonymous),你登录jenkins的时候使用的是Anonymous用户

Anonymous用户不需要登录就能进行所有操作。当创建新用户(管理员或者普通用户)的时候,Anonymous自动失效,不再具有之前的修改和更新功能,但保留查看功能。

1 “系统管理”—–“Configure Global Security”

这里写图片描述

保存之后就可以看到右上角出现“登陆|注册”
此时 立即注册一个用户admin
这里写图片描述
此时右上角出现“admin|z注销”

2 授权
第一种: 安全权限授权给admin 用户
“系统管理”——“Configure Global Security”——-取消“允许用户注册”前面的勾
此时右上角出现“登陆”已无“注册”选项了
使用admin 登陆, 点击 “系统管理”——“Configure Global Security”——-“安全矩阵”

这里写图片描述

此时admin 账户已经拥有所有的权限

第二种: 项目权限授权给admin 用户

“系统管理”——“Configure Global Security”——-取消“允许用户注册”前面的勾
此时右上角出现“登陆”已无“注册”选项了
使用admin 登陆, 点击 “系统管理”——“Configure Global Security”——-“项目矩阵授权策略”
这里写图片描述

大多数会使用”项目矩阵授权策略” , 项目矩阵授权策略支持在Job(项目)的配置页面再次配置授权策略。

3 添加用户,并授予read权限

“系统管理”——“管理用户”—–“新建用户”
这里写图片描述
这里写图片描述

对新建用户授予访问特定项目的权限
“系统管理”—— “Configure Global Security”—“项目矩阵授权策略”–
这里写图片描述

4 在config.xml查看权限

开启安全矩阵后在jenkins的工作目录 /opt/jenkins 下有个config.xml 文件

这里写图片描述
这里写图片描述

5 对admin授权失败
在添加了admin用户之后,没有在安全矩阵中对admin进行赋予权限就退出了jenkins,
将出现无访问权限的问题,解决方法就是修改config.xml 文件

 <useSecurity>true</useSecurity>

改为:

 <useSecurity>false</useSecurity>

6 “配置”页面对特定项目授权
刚刚使用新增的普通用户(zhangsan , wangwu 用户只授予Overall 的read权限)登陆之后,可以拥有的权限
这里写图片描述

无法对某个项目完成构成,现在需要对项目授权:
使用admin账户登陆, 点击“项目名称mymavenProject”—-“配置”

这里写图片描述

然后使用普通用户(zhangsan )登陆 , 可以看到普通用户(zhangsan)可以只看到授予权限的项目。
这里写图片描述

各种权限如下(在配置页面将鼠标放到该权限上即可查看帮助):
这里写图片描述

最大的权限是Overall的Administer,拥有该权限可以干任何事情。

最基本的权限是Overall的Read,用户必须赋予阅读的权限,不然什么都看不到。

如果有个用户被赋予了Overall的Read,并没有被赋予Job的Read权限,那么该用户就无法访问job。原因:没有权限。

找到.jenkins/config.xml文件:
替换为:
1、<authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>
这个权限对应“任何用户可以做任何事(没有任何限制)”

2、<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy"/>
这个权限对应“登录用户可以做任何事”

3、<authorizationStrategy class="hudson.security.GlobalMatrixAuthorizationStrategy">
    <permission>hudson.model.Hudson.Administer:test</permission>
    <permission>hudson.scm.SCM.Tag:test</permission>
  </authorizationStrategy>
这个权限对应 test用户可以是管理员、打标签权限。
其中:Overall是全局权限,slave是集群权限,job,run,view,scm是业务权限。
其中overall中的read要勾选,否则用户登陆后什么也看不到。
overall:
  Administer:系统管理员权限
  read:浏览框架

job:
  read:查看job
  build:执行构建
  cancel:取消构建

run:
  Delete:删除某次构建
  Update:编辑某次构建信息

SCM:
  Tag:为某次构建在svm上打标签。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值