!版权声明:本博客内容均均为原创,每篇博文作为知识积累,写博不易,转载请注明出处。

目录[-]

系统环境:

Jenkins 版本:2.213

一、简介

Jenkins 一般应用于项目构建与持续集成中,会提供给各个项目组使用,所以权限控制一般都是我们需要考虑的问题。在 Jnekins 中需要控制不同的项目组拥有不同的权限,每个项目组的用户只能看见自己组的项目,其中 Jenkins 提供了很多权限控制插件,比较推荐的就是 Role Authorization 插件 可以使用角色与矩阵式方式灵活控制权限。

Jenkins Role Authorization 插件 可以通过通配符方式给用户分配角色,即特定的用户只能看到特定前缀的 View 和 Job,所以一般来说创建的 Jenkins View 与 Job 命名都要带上跟项目相关的前缀。

例如,要在 Jenkins 中创建 alibaba-xxx 与 weixin-xxx 两个项目组,并且 Jenkins 中存在两个用户 xiao-ming 与 xiao-li,其中 xiao-ming 只能看到 alibaba-xxx 的 View 与 Job,xiao-li 只能看见 weixin-xxx 的 View 和 Job。

二、测试环境

为了后续方便测试权限,所以提前创建测试环境,创建 xiao-ming(小明)、xiao-li(小里) 两个用户:

在 Jenkins 中创建两个视图 weixin-xxx、alibaba-xxx 并且在两个视图中创建相应的任务:

视图 weixin-xxx: weixin-job-1、weixin-job-2

视图 alibaba-xxxx: alibaba-job-1、alibaba-job-2

三、安装 Role-based 插件

Role-based-Authorization 是 Jenkins 权限管理插件,我们需要提前安装此插件,进入 系统管理->插件管理->可选插件 搜索 Role-based,然后进行安装操作:

四、全局安全配置

接下来,我们需要将 Jenkins 的安全模式改成设置基于 Role Based Strategy 模式,这样会开启上面安装的插件。

进入 系统管理->全局安全配置 中将 访问控制 里 授权策略 配置为 Role-Based Strategy:

五、创建角色

下面将进入角色管理模块,这里角色分为 全局角色 与 组角色,全局角色权限包含整个 Jenkins API 权限,能操作系统、视图、插件等等配置。而组角色则只能操作跟 Job 相关的控制权限,是通过通配符方式与相关 Job 进行关联,用户拥有组角色就能操作通配符匹配的 Job。

下面将创建一个拥有全局可读权限的全局角色来保证全部用户拥有全部可读权限,然后再创建组角色,利用通配符方式匹配对应项目前缀,这样用户拥有“全局可读”+“匹配项目读写”权限。

1、进入角色管理

进入 系统管理->Manage and Assign Roles 可以看到 角色管理 与 角色分配:

点击 Manage Roles 进入 角色管理:

2、增加全局角色

增加一个跟项目组角色 group_project ,并且设置该角色 全局可读 权限:

3、增加组角色

在 Item roles 一栏添加组角色 group_weixin、group_alibaba 两个角色,并且设置:

角色 group_weixin 只能看见以 weixin- 开头的视图与项目。

角色 group_alibaba 只能看见以 alibaba- 开头的视图与项目。

设置完成后再设置两个角色都勾选全部权限,确保两个角色拥有该组的全部权限。

注意:Pattern 里面输入通配符,一般是项目前缀,经常以 “xxxx.*” 命名,“xxxx” 为前缀,“.*”为匹配任意名称。

配置完成后,点击保存,然后进行下一步 角色分配。

六、分配角色

点击 Assign Roles 进入 角色分配:

在 Global roles 中添加 xiao-ming、xiao-li 两个用户,然后再给予其 group_project 角色,让两个用户拥有全局可读权限:

然后在 Item roles 中也添加 xiao-ming、xiao-li 两个用户,然后分:

分配给 xiao-ming 角色给 group_alibaba 用户。

分配给 xiao-li 角色给 group_weixin 用户。

七、进行测试

分别用 xiao-ming 与 xiao-li 两个账号登录 Jenkins:

1、xiao-ming 进行登录测试

可以看到小明只能看到 weixin 组的项目:

2、xiao-li 进行登录测试

可以看到小明只能看到 alibaba 组的项目:

由这两个用户登录测试可知,确实能够通过这种基于角色与通配符方式控制 Jenkins 中的项目权限。

—END—

jenkins组权限_Jenkins 中基于角色的权限管理相关推荐

  1. Jenkins 中基于角色的权限管理

    Jenkins 中基于角色的权限管理 原文地址: Jenkins 中基于角色的权限管理 | 超级小豆丁 (mydlq.club) 系统环境: Jenkins 版本:2.213 一.简介 Jenkins ...

  2. 实战:k8s中基于角色的权限访问控制-RBAC(成功测试-博客输出)-20211005

    目录 文章目录 目录 写在前面 基础知识介绍 实验环境 实验软件 老师原课件内容 1..用K8S CA签发客户端证书 2. 生成kubeconfig授权文件 3. 创建RBAC权限策略 4.指定kub ...

  3. AspNetForums中基于角色的权限控制

    AspNetForums中基于角色的权限控制 http://blog.joycode.com/dotey/archive/2005/02/24/44791.aspx asp.net页面如何控制页面依据 ...

  4. 支持基于角色的权限访问控制,优化UI界面,JumpServer堡垒机v2.20.0发布

    2022年3月18日,JumpServer开源堡垒机正式发布v2.20.0版本.在这一版本中,JumpServer新增支持基于角色的权限访问控制(Role-Based Access Control,即 ...

  5. RBAC(基于角色的权限访问控制)

    第一节.RBAC简介 英文全称(Role-Based Access Control) 中文全称:基于角色的权限访问控制 rbac: 一种数据库设计思想,根据设计数据库设计方案,完成项目的权限控制. 经 ...

  6. 从零开始——基于角色的权限管理01(补充)

    此博文较为详细的介绍从零开始--基于角色的权限管理01文中的两个部分的流程(解释代码). 1) index.jsp中提交跳转action action的login,获取jsp页面传过来的用户名密码和验 ...

  7. 基于角色的权限设计(一)

    在任何系统中,权限设计是最基础的东西,本文给出一个基于角色的权限设计的循序渐进的设计方案. 在权限系统中,功能(权限)是最小的单位,比如起草新闻.编辑新闻.审核新闻.删除新闻等,而角色是一类功能的集合 ...

  8. RBAC、控制权限设计、权限表设计 基于角色权限控制和基于资源权限控制的区别优劣

    RBAC.控制权限设计.权限表设计 基于角色权限控制和基于资源权限控制的区别优劣 一.介绍 二.基于角色的权限设计 三.基于资源的权限设计 四.主体.资源.权限关系图 主体.资源.权限相关的数据模型 ...

  9. Spring Security基于角色的权限管理

    1.Spring Security 1.1核心领域概念 认证(Authentication):认证是建立主体(principal)的过程. 主体通常是指在应用程序中执行操作的用户.设备或其他系统 授权 ...

最新文章

  1. 福建工程学院计算机科学类投档线,2019年福建工程学院美术类本科专业投档分数线...
  2. vb6 判断打印机是否有效_讲述3D打印机怎么用 初学者必看
  3. XP计算机调整对比度,Win7系统调节显示器屏幕对比度的两种方法【图文】
  4. 了解SQL Server数据管理生命周期
  5. 控制理论与控制工程_控制理论与控制工程专业介绍_研究方向_就业前景分析
  6. 数据结构上机实践第八周项目6- 猴子选大王(数组版)
  7. MPAndroidChart 2.15使用记录
  8. 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_22-页面查询服务端开发-Dao-基础方法测试...
  9. ⟅UNIX网络编程⟆⦔目录
  10. 微信小程序官方示例文档免费下载文档
  11. inter至强服务器处理器型号,至强cpu性能排行2021
  12. android连接wifi不能上网,手机已经连接wifi但无法上网的详细解决方法
  13. 体育科技文献通报杂志体育科技文献通报杂志社体育科技文献通报编辑部2022年第6期目录
  14. 闪电贷攻击的深层原因:价格预言机操纵攻击
  15. python web.py服务器与客户端
  16. 不使用循环,求二进制中1的个数
  17. Python数学问题5:输入三个整数并由小到大进行输出
  18. 主定理的证明及应用举例
  19. ../Drivers/CMSIS/Include/arm_math.h(314): error: #35: #error directive: “Define according the used
  20. 笔记本强制删除文件的资料找到办法

热门文章

  1. attribute property --- jquery attr() prop()
  2. Activity中finish()和onDestroy()的区别
  3. 找回VisualStudio异常设置中丢失的“用户未处理的(User-unhandled)”列
  4. getElementByID() getElementsByName() getElementsByTagName()的区别 .
  5. [php基础]PHP环境变量$_SERVER和系统常量详细说明
  6. 排序算法之 Heap Sort
  7. J2EE开发工作中遇到的异常问题及解决方法总结
  8. 【方案分享】2022数据湖建设方案:“七步走”解决企业面临的数字化转型痛点.pdf(附下载链接)...
  9. 再品Resnet残差网络
  10. 剑指offer 面试题61. 扑克牌中的顺子