Jenkins用户管理

一. 插件介绍

名称
Role-based Authorization Strategy
插件介绍
Role Strategy Plugin插件可以对构建的项目进行授权管理,让不同的用户管理不同的项目,将不同环境的权限进行区分。该插件可以很灵活的根据需求来进行划分权限,包括正则匹配等。

下面以一个简单的需求来演示如何设置用户权限。
✅系统管理员guoew拥有所有项目的管理权限
✅测试工程师 foo 拥有A_test目录下所有项目的只读权限,并且可以构建
✅测试工程师 bar 拥有B_test目录下所有项目的只读权限,并且可以构建

二. 安装插件

打开Manage Jenkins(系统管理),单击Manage Plugins(管理插件),找到可选插件,输入插件名称,然后点击直接安装即可。

三. 配置安全策略

在Manage Jenkins(系统管理) --> Configure Global Security(全局安全配置) --> Authorization(授权) 选择 Role-Based Strategy后保存,如下图

保存后系统管理页面会新增一项 Manage and Assign Roles。

四. 配置Manage and Assign Roles策略

点击Manage and Assign Roles, 在 Manage and Assign Roles 有三个菜单,如下图所示.
• Manage Roles
• Assign Roles
• Role Strategy Macros

4.1 配置 manage Roles

该类配置的权限实际上是一个组别或者一类人的权限,在原有的权限分类种分一个大类,将零散的权限进行归类,分别为

  1. Global roles(全局角色权限)
  2. Item(Project) roles(项目角色权限)
  3. Slave roles (节点角色权限)

4.1.1 配置Global roles

添加reader角色,设置全局读

4.1.2 配置Item roles

添加A项目测试角色,使用正则匹配A_test目录下所有项目,并赋予相关的构建权限,如下图。B项目测试角色同A

4.2 配置Assign Roles

在Manage Roles将权限分类后,在这里我们将会给需求里所提到的用户分配对应的权限

4.2.1 配置 Global roles

为guoew分配admin全局角色的权限,为foo,bar分配reader全局角色权限,如下图所示

4.2.2 配置Item roles

为用户foo分配A项目测试角色权限,为用户bar分配B项目测试角色权限,如图所示。

这里为什么会有reader这个角色的存在呢?
这是因为,需要为普通用户分配全局的Overall面板的读权限,否则这些普通用户登录到jenkins则会提示:用户没有Overall/read权限。

五. 配置完成

这下就都已经配置好了,使用foo用户登录jenkins,页面如下。

posted @ 2020-07-23 19:48  guoew  阅读(371)  评论(0编辑  收藏  举报