jenkins原理篇——成员权限管理

大家好,我是蓝胖子,前面几节我讲述了jenkins的语法以及我是如何使用jenkins对测试和正式环境进行发布的。但正式环境使用jenkins还有一点很重要,那就是权限管理。正式环境的权限往往不能对所有人开放,以及要做到每次发布都是谁在操作 都有迹可循,这样才能方便以后排查问题。所以,今天我们就来看看jenkins的权限管理应该如何来做。

安装Role-based Authorization Strategy 插件

我们采用RBAC 基于角色的方式进行授权,需要在jenkins上安装插件,在Jenkins的Manage Jenkins→Plugins→Available Plugins 中安装

之后在Jenkins的Manage Jenkins→Security 中开启基于角色的权限策略。

然后在jenkins的配置栏里就能看到多出来的角色权限配置了。

配置角色

紧接着,我们可以配置相关的角色并且为角色分配对应模块的权限。角色分为3种类型,Global roles,Item roles(项目角色),Agent roles(和节点操作权限相关的角色),其中Global roles拥有最高的权限,如果为它分配job的读写权限,那么用户如果绑定了这个角色,将会允许读取所有的job,不管用户是不是拥有的项目角色的权限。

温馨提示: job 和item在jenkins中的概念,都可以看成是jenkins的创建的编译部署项目。

如下图所示,拥有一个admin角色,拥有jenkins的所有权限,我们还创建了一个dev角色,拥有对jenkins界面的读权限(可能说法不太准确,但事实是如果普通角色的用户没有overall的读权限,那么他进去jenkins后将什么也不不能看,并且提示其权限不足)

接着,我们再分配两个针对具体构建项目的角色,develop和prodev,如下图所示,分别是针对测试环境和正式环境的项目创建的角色,其中,pattern能够用正则表达式匹配具体构建的项目名。对job的权限勾选了build,cancel,read,所以这两个角色都能够对他们看到的具体项目拥有构建,取消构建和读权限。

分配角色

接着,我们再把配置好的角色分配给具体的用户,如下图所示,用户同时拥有dev,develop和prodev3个角色。

之后,用该用户登录jenkins可以看到正确的项目构建页面,同时拥有生产环境和测试环境的构建权限。效果如下,

这里我是对用户同时分配了对正式环境和测试环境有构建权限的角色给一个用户,真实开发中,可以对少部分人开启这个权利,毕竟知道正式环境配置的人越少,系统越安全。

相关推荐
wangruofeng13 小时前
Docker 到底解决了什么问题?从虚拟机到容器化的技术演进
devops
猴哥聊项目管理17 小时前
研发管理软件推荐清单:如何搭建一套高效的DevOps研发效能平台?
信息可视化·研发效能·项目管理·敏捷开发·devops·研发工具选型·研发工具
RemainderTime19 小时前
打破容器孤岛:如何基于 Docker Network 构建内网安全隔离的 CI/CD 部署闭环
运维·网络·nginx·docker·jenkins
智能运维指南2 天前
嘉为蓝鲸DevOps平台:AI赋能研运一体化,重塑企业智能研运新生态
人工智能·devops
Java&Develop2 天前
Jenkins时区设置
jenkins
Patrick_Wilson3 天前
写给前端的 K8s 入门:用一张图和一个例子搞懂 5 个核心概念
云原生·kubernetes·devops
程序员老邢3 天前
《技术底稿 41》从三机混跑到四机隔离:微服务集群环境拆分实战复盘
微服务·云原生·架构·devops·服务器运维·技术底稿·环境隔离
heimeiyingwang3 天前
【架构实战】DevOps工程化:从需求到上线的完整闭环
运维·架构·devops
天才测试猿3 天前
Jenkins+Docker自动化测试全攻略
自动化测试·软件测试·python·测试工具·docker·jenkins·测试用例
heimeiyingwang4 天前
【架构实战】GitOps实践:让运维更优雅
架构·gitlab·jenkins