Jenkins系列-权限管理
2021/11/28 23:40:21
本文主要是介绍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 权限,否则一旦配错,自己就无法登录了!
这篇关于Jenkins系列-权限管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23linux 系统宝塔查看网站访问的命令是什么?-icode9专业技术文章分享
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南