欢迎来访,本站中的文章均为日常工作的记录和总结,写出的每个服务配置都是自己手动配置测试过,有不足之处欢迎指出,谢谢!

Jenkins 用户权限控制

DevOps Mr.c 1021℃ 0评论

  上线Jenkins做自动构建后,随着项目越来越多,Jenkins中配置的项目越来越多,需要根据不同项目组用户来控制项目的权限,实现A用户只能查看自己的项目,而且不能编辑构建项目,只有构建权限和查看权限,同理B用户也不能看到A用户的构建项目。
  要实现这个需求只需要开启Jenkins自带的“项目矩阵”功能即可,下面记录下实际操作流程:
一:开启项目矩阵策略
在【系统管理】-【全局安全配置】(Configure Global Security)-【授权策略】中选中 项目矩阵授权策略

  注意!勾选启动项目矩阵策略后请马上把你当前的管理用户加上,如上图,我配置的管理用户是admin所以直接把admin添加进去,再勾选Administer权限,否则没加自己进去就点击应用或者确认,立马就把自己隔离在外了,就会变成这个样子:

  当然了,如果真把自己拦截在外了,也是可以改回去的,修改Jenkins目录(一般是运行Jenkins的系统用户自己家目录下.jenkins文件)下config.xml

vim /home/jenkins/.jenkins/config.xml 
<?xml version='1.0' encoding='UTF-8'?>
<hudson>
  <disabledAdministrativeMonitors>
    <string>hudson.diagnosis.ReverseProxySetupMonitor</string>
  </disabledAdministrativeMonitors>
  <version>2.89.2</version>
  <numExecutors>2</numExecutors>
  <mode>NORMAL</mode>
  <useSecurity>true</useSecurity>
  <authorizationStrategy class="……">
    <permission>hudson.model.Hudson.Administer:admin</permission>
  </authorizationStrategy>

把authorizationStrategy 这部分删除。
  不过测试部署 Jenkins ver. 2.89.2 版本开启项目矩阵策略后系统会自动把当前账户添加并设置为Administer权限。
  有的朋友可能在安全配置里面没有安全矩阵和项目安全矩阵选项,具体是哪个扩展程序还没查清楚,不过只要安装了Git plugin 这个插件就会出现了,应该是里面某个依赖的插件,有知道的朋友可以留言。
二:设置用户权限
  先开启【允许用户注册】然后才能添加Jenkins用户,开启注册后再次访问Jenkins主页就会出现用户注册的链接,但是由于开启了项目矩阵,所以新用户注册后是没有登录权限的,需要我们进行添加。
这里我注册了用户devA和devB ,并且只加了Overall权限中的Read 权限,这个时候两个用户就可以登录Jenkins了,但是没有任何权限。

三:设置项目权限
  既然是项目安全矩阵,显然是和项目关联的,各个项目中也要设置用户的权限,以项目Test_user_A 为例,在General 中开启【启用项目安全】,添加用户devA ,在Job中选择Read权限和Build 权限。

  同理设置Test_user_B ,添加用户devB ,权限同样设置Read权限和Build 权限。
  使用devA登录Jenkins 只能看到对应的项目Test_user_A 并没有用户devB 下的项目。

  并且点击项目也只有【立即构建】和查看构建记录的权限。

转载请注明:菜鸟运维 » Jenkins 用户权限控制

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址