当前位置: 首页 > news >正文

Jenkins-权限控制

  默认Jenkins不包含任何的安全检查,任何人可以修改Jenkins设置,Jjob和启动build等。显然在公司中需要多个部门一起协调工作时,没有任何安全检查会有问题。所以,我们需要在系统管理-Configure Global Security页面进行“访问控制”设置。

  在这里我们将安全域设置中,允许用户注册的勾选去掉

 

Jenkins的权限配置文件存放在JENKINS_HOME目录下,找到config.xml。打开config.xml,找到<useSecurity>和<authorizationStrategy>节点。

<useSecurity>:代表是否使用用户权限;<authorizationStrategy>:代表用户权限是怎么划分;

(1)Security Realm,决定用户名和密码,并指定用户属于哪个组;

(2)Authorization Strategy,决定用户对哪些资源有访问权限;

 

1. 授权策略

1.1 任何用户可以

<useSecurity>true</useSecurity>
  <authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>
  <securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
    <disableSignup>true</disableSignup>
    <enableCaptcha>false</enableCaptcha>
  </securityRealm>
View Code

 

1.2 登录用户可以做任何事情

1.2.1 界面配置如下

1.2.2 config.xml配置如下

 <useSecurity>true</useSecurity>
  <authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy"/>
  <securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
    <disableSignup>false</disableSignup>
    <enableCaptcha>false</enableCaptcha>
  </securityRealm>
View Code

 

1.3 安全矩阵

1.3.1 界面配置如下

1.3.2 config.xml配置如下

 <useSecurity>true</useSecurity>
  <authorizationStrategy class="hudson.security.GlobalMatrixAuthorizationStrategy">
    <permission>hudson.model.Hudson.Administer:jenkins</permission>
    <permission>hudson.model.Hudson.Read:anonymous</permission>
    <permission>hudson.model.Hudson.Read:dev</permission>
    <permission>hudson.model.Item.Build:dev</permission>
    <permission>hudson.model.Item.Read:anonymous</permission>
    <permission>hudson.model.Item.Read:dev</permission>
  </authorizationStrategy>
  <securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
    <disableSignup>false</disableSignup>
    <enableCaptcha>false</enableCaptcha>
  </securityRealm>
View Code

 设置好权限之后,点击注册,注册相应的账号,如上图的dev,jenkins。

 

1.4项目矩阵策略

1.4.1 界面配置如下:

 

 各种权限如下(在配置页面将鼠标放到该权限上即可查看帮助):

其中有一些比较特别的权限:

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

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

Job的Discover权限是一个奇葩的权限,帮助说Discover比Read的级别更低。如果匿名用户(没有访问job的权限)直接访问一个Job的Url将重定向到登陆页面。(经测试,这个权限应该是被废弃了。)

Credentials的ManageDomains这个权限没有看懂干嘛的,有懂的大家一起交流哈!

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

1.4.2 config.xm配置如下

<useSecurity>true</useSecurity>
  <authorizationStrategy class="hudson.security.ProjectMatrixAuthorizationStrategy">
    <permission>hudson.model.Hudson.Administer:admin</permission>
    <permission>hudson.model.Hudson.Read:anonymous</permission>
    <permission>hudson.model.Item.Build:dev</permission>
    <permission>hudson.model.Item.Read:anonymous</permission>
    <permission>hudson.model.Item.Read:dev</permission>
  </authorizationStrategy>
  <securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
    <disableSignup>false</disableSignup>
    <enableCaptcha>false</enableCaptcha>
  </securityRealm>
View Code

1.4.3 每个用户后都有1-2个图标,第一个是反选功能(删除当前已选中的权利,选中其他所有权限),第二个是删除功能(删除该用户)

1.4.4 在Job中配置项目安全如下:

 

 

2. 过程问题

2.1怎么辨别使用是哪种权限控制模式

 

转载于:https://www.cnblogs.com/fengwenqian/p/7813950.html

相关文章:

  • 阿里 Linux服务器外网无法连接MySQL解决方法
  • C语言博客作业--嵌套循环
  • java获取当前上一周、上一月、上一年的时间
  • mysql-proxy实现读写分离
  • Linux基本命令—权限管理、文件搜索、帮助、压缩解压、网络通信
  • 中英文金额大写转换器
  • 计算机基础作业
  • 应急响应小总结
  • 课后作业-阅读任务-阅读提问-3
  • HttpClient实现POST参数提交
  • 代码式书写404页面
  • idHttp 中GET POST应用
  • 超级小的web手势库AlloyFinger
  • java中的字符串二
  • [转]Ubuntu安装rabbitMq
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • iOS小技巧之UIImagePickerController实现头像选择
  • javascript面向对象之创建对象
  • JSDuck 与 AngularJS 融合技巧
  • js对象的深浅拷贝
  • js如何打印object对象
  • leetcode98. Validate Binary Search Tree
  • leetcode讲解--894. All Possible Full Binary Trees
  • linux安装openssl、swoole等扩展的具体步骤
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • Protobuf3语言指南
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • vue-cli3搭建项目
  • Vue实战(四)登录/注册页的实现
  • 京东美团研发面经
  • 力扣(LeetCode)965
  • 目录与文件属性:编写ls
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 学习JavaScript数据结构与算法 — 树
  • 翻译 | The Principles of OOD 面向对象设计原则
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • ( 10 )MySQL中的外键
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (2.2w字)前端单元测试之Jest详解篇
  • (2022 CVPR) Unbiased Teacher v2
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (TOJ2804)Even? Odd?
  • (力扣题库)跳跃游戏II(c++)
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (三)模仿学习-Action数据的模仿
  • (十三)Flask之特殊装饰器详解
  • (十一)手动添加用户和文件的特殊权限
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (转)ORM
  • *Django中的Ajax 纯js的书写样式1