基于LDAP&&Role-based Authorization Strategy实现Jenkins团队权限管理
在实际工作中,存在多个团队都需要Jenkins来实现持续交付,但是又希望不同团队之间进行隔离,每个项目有自己的view, 只能看到自己项目的jenkins job.
但是,jenkins默认的权限管理体系不支持用户组或角色的配置,这里利用Role-based Authorization Strategy实现上述目的
权限角色配置
直接跳过插件安装,介绍如何基于“项目”配置.
1. 启用 Role-based Authorization Strategy
进入系统管理 > Configure Global Security ,配置如下,此时该策略已启用
注意:策略启用之后,不禁止修改!策略之间是独立的,一旦选择另外一中策略,当前策略将丢失,包括已生效的配置。

2. 创建 Glabal roles 和 Project roles
进入系统管理 > Manage and Assign Roles

ManageRoles
- Global roles是对全局的角色控制
- Project roles只针对项目进行控制,所以需要为每个项目单独添加指定的role (区别于全局,只能有项目相关权限,没有jenkins管理权限配置)
配置job pattern需要注意:prod.代表匹配以prod开头的内容
例如:如果以dev开头就写成 dev. 一定要加上"."; .*test表示以test结尾的内容项目

注意:必须先进行Global roles的配置后方可对Project roles进行配置,可以解为先配置整体性权限,再按项目分权限,遵守从大到小权限控制的原则!

3. Roles 配置规则和流程
这里强制规定项目role配置规则和流程
3.1 为项目/团队添加 project role
以“demo”项目为例,添加manager和user两种role
- role:demo-manager - pattern: "^demo-[a-zA-Z]*"
- role:demo-user - pattern: "^demo-[a-zA-Z]*"
- 在实际使用中,可以为"项目/团队"创建两种role, 甚至一个都可以
- pattern是通过“正则表达”匹配为项目创建的jenkins job, 所有命名需要规范,简单,一个表达式可以匹配多个项目拥有的job.这里参考"demo"项目
3.2 为项目/团队成员分配 role
通过以下配置,开发团队成员就只能看到自己的"demo"项目

添加用户-LDAP
jenkins 默认可以手动添加用户,由于简单不做解释;这里重点说下企业内部使用LDAP来实现用户的统一管理,也就是说无须再次创建用户

需要使用LDAP插件,然后在Configure Global Security 页面进行配置,输入公司内部LDAP服务信息。

注意:
jenkins 默认使用“Jenkins' own user database”,即自己本身的数据库,一旦切换,当前配置数据可能丢失,所以切忌随意修改该配置 !
在配置LDAP前,一定要记得开启匿名用户的 admin 权限,否则一旦配错,自己就无法登录了!

基于LDAP&&Role-based Authorization Strategy实现Jenkins团队权限管理的更多相关文章
- Forms Authentication and Role based Authorization: A Quicker, Simpler, and Correct Approach
https://www.codeproject.com/Articles/36836/Forms-Authentication-and-Role-based-Authorization Problem ...
- Jenkins系列-权限管理
在实际工作中,存在多个团队都需要Jenkins来实现持续交付,但是又希望不同团队之间进行隔离,每个项目有自己的view, 只能看到自己项目的jenkins job. 但是,jenkins默认的权限管理 ...
- [原]Jenkins(十三)---jenkins用户权限管理
* 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/5337874.html 两种策略的比较
- Jenkins用户权限管理-Role-based Authorization Strategy插件
02-Jenkins用户权限管理-Role-based Authorization Strategy插件 在jenkins的使用过程中,需要给用户分配只管理特定项目的权限来保证项目相关人员只能管理对应 ...
- Jenkins用户权限管理
一.插件安装 插件:Role-based Authorization Strategy版本:2.3.2 二.全局安全配置 进入Jenkins后点击系统管理进入全局安全配置 当插件安装好的时候,授权策略 ...
- 九. jenkins用户权限管理
由于jenkins默认的权限管理体系不支持用户组和角色的配置,所以需要使用第三方插件来支持角色的配置: Role-based Authorization Strategy 1.先安装插件,如下: 2. ...
- Jenkins配置权限管理
借鉴博客:https://www.cnblogs.com/Eivll0m/p/6734076.html 懒得写了,照上面是配置成功了,弄了权限角色与用户的配置
- Jenkins权限管理之Matrix Authorization Strategy
一.权限管理概述 jenkins的权限管理,我目前使用的是Role-based Authorization Strateg.这个很简单,权限是jenkins已经定死了的,就那些.该插件可以让我们新建角 ...
- Jenkins配置基于角色的项目权限管理--转
本文将介绍如何配置jenkins,使其可以支持基于角色的项目权限管理. 由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三发插件来支持角色的配置,本文将使用Role Str ...
随机推荐
- anaconda 配置虚拟环境
工作时有时候会遇到不同版本的问题,比如深度学习tensorflow 1.14版本 和 2.0版本,或者cpu版本和gpu版本,那么这个时候建立虚拟环境就很方便了 anaconda命令行下 1) act ...
- 华大MCU单片机之HC32F003/HC32F005 hc32f005_ddl_Rev1.9.0 Lite精简版库使用心得
之前几个项目开发都是用的华大HC32F003_DDL_Rev1.0.2的库函数,今年刚开始入手华大,刚开始不是很了解这个芯片,看到库能用就上手了.这个版本的库编译效率很低,16K的芯片一下就写爆了.后 ...
- 网络层-network layer(下):网络互连、子网掩码计算方法、Ipv4报头解析
第五章 网络层-Network Layer(下) 上一章讲了网络层的任务.提供的两种服务.五个重要的路由算法.以及网络层的拥塞控制和服务质量问题.这一部分主要讲一讲网络互连问题和Internet的网络 ...
- Python迭代器&生成器&装饰器
1. 迭代器 1.1 可迭代对象(Iterator) 迭代器协议:某对象必须提供一个__next__()方法,执行方法要么返回迭代中的下一项,要么引起一个Stopiteration异常,以终止迭代(只 ...
- html文本域textarea高度自增、自动换行
文本域自动换行.高度自增,采用以下方式: html: <textarea rows="1" class="answerTextArea" maxlengt ...
- 工作笔记——CPLD与MCU通过SPI通信
一.需求描述 MCU需要接收来自CPLD的升级固件数据 CPLD对MCU只进行发送数据,不接收MCU的数据 CPLD无法告知数据传输的开始和结束,需要MCU自行判断(CPLD只是数据透传,不做数据判断 ...
- Idea+Git+GitHub图文教程,一篇教程帮你搞定
导语 该文章主要记录如何在GitHub上创建远程仓库.如何创建本地仓库并把代码提交到GitHub.如何创建分支以及分支合并到主干的操作. 一.在GitHub上创建远程仓库 (前提:已经注册过githu ...
- 解决No Python interpreter for the object
1. File --> Settings 2. Project:[项目名] --> Project Interpreter --> 点击齿轮 3. 点击齿轮出现Add,点击Add 4 ...
- EXCEL2010分成多个窗口的,解决单个窗口显示多个文档的弊病
本操作需要修改注册表,请在修改之前导出要修改的项目以备份. 1.定位到[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open],导出保存.展开Open,将ddeexe ...
- 7.自定义ViewGroup-下滑抽屉
1.效果 2.思路 分析效果: 1.布局分为两部分,后面部分,前面部分,默认状态后面被挡住: 2.后面不可以滑动,前面可以滑动: 3.如果前面的布局本身是可以滑动的,那么当前面布局滑动到第一个时,后面 ...