最终效果
先说下结果,看下是不是大家预期的,如果不是,立马关闭本博客,就不浪费大家时间了。
本篇讲述了如何从ldap控制账号登录jenkins,并控制每一个人对于项目之间的权限控制(我这里项目是以视图划分)
需求
A是运维人员 B是小米项目的开发人员 C是华为项目的开发人员
那A可以做到把这两个项目之间的人员,不能有权限控制对方权限,并设置成不能看到互相的项目
实现
服务版本
系统 | centos7.9 |
---|
jenkins | 2.235 | openldap | 1.5.0 |
首先jenkins是已经集成了LDAP,并可以通过LDAP中的人员信息登录到jenkins服务,举个例子,A是LDAP中的人员数据,使用这个人的用户名称和密码可以登录jenkins服务。
这个需求用到了一个jenkins上的插件 Role-based Authorization Strategy 选择【系统管理】—【全局安全配置】 授权策略选择【Role-Based Strategy】 这时【系统管理】界面会新增了一个功能【Manage and Assign Roles】 先配置下角色权限 下图是配置了三个角色,admin是默认的,developer 和test 是新增的角色,其中注意【任务】栏的read 权限不能打开,打开后属于这个角色的用户都将看到所有项目。最下面是配置了3个针对于项目的权限规则,格式是test.* ,代表关联所有是test 开头的任务(包含自由风格的任务、流水线、多分支流水线等任务类型) 然后,给用户分配下角色 比如刘雪倩这个用户分配了test 开头的任务和dev 开头的任务权限 那我们登录下刘雪倩用户看下效果 前提是我创建了3个视图,分别是prod、test、dev
登录刘雪倩用户看到,确实只能找到自己的项目视图,看不到prod的项目视图 并且给了这个用户的create 权限,可以做构建,不能做删除。
完成
|