用户权限管理
Jenkins本身对于权限这块的管理粒度是比较粗糙的,在这里可以借助插件来完成对权限的管理,比如:Role-based Authorization Strategy;
- 安装Role-based Authorization Strategy插件;
- jenkins -> Manage Jenkins -> Configure Global Security;
- 授权策略切换为 “Role-Based Strategy”,保存;
- jenkins -> Manage Jenkins -> Manage And Assign Roles;
- Manage Roles(管理角色);
Global roles (全局角色):管理员等高级用户可以创建基于全局的角色;
Item roles(项目角色):针对某个或者某些项目的角色;
Node roles(节点角色):节点相关的权限;
- 我们添加以下三个角色:
6.1. baseRole :该角色为全局角色。这个角色需要绑定Overall下面的Read权限,是为了给所有用户绑定最基本的Jenkins访问权限。注意:如果不给后续用户绑定这个角色,会报错误:用户名 ismissing the Overall/Read permission;
6.2. demo :该角色为项目角色。使用正则表达式绑定"demo.",意思是只能操作demo开头的项目;
6.3. test :该角色也为项目角色。绑定" test.",意思是只能操作 test开头的项目;
- 创建用户: jenkins -> Manage Jenkins -> Manage Users -> 新建用户;
7.1. 新建用户test1和test2;
- 给用户分配角色:jenkins -> Manage Jenkins -> Manage And Assign Roles ;
8.1. Assign Roles(分配角色);
- 分别为test1和tes2绑定角色;
9.1 test1 用户分别绑定baseRole和demo角色;
9.2. test2 用户分别绑定baseRole和test角色;
测试
以admin管理员账户创建项目demo01和test01;
正确的测试结果为:
- test1用户登录,只能看到demo01项目;
- test2 用户登录,只能看到test01项目;
关于测试结果在这里就不做赘述了,大家可以自行切换用户进行测试。