用户组授权是 KubeSphere 3.1 中新功能之一,用于批量用户授权与权限管理。管理员可以创建用户组,并授予用户组企业角色或项目角色,然后将用户加入用户组,用户即可获取相应的权限。
注:本文中出现的 部门 概念等同于用户组,以下场景中均使用部门代替。
准备工作
至少已创建一个企业空间,例如 demo-workspace
。您还需要准备一个帐户(如 ws-admin
),该帐户在企业空间层级拥有 workspace-admin
角色。在企业空间下创建您所需要的项目或DevOps工程。本示例中在demo-workspace
下创建了 demo-proj1
、demo-proj2
等项目以及 demo-devops
DevOps工程用于演示。
TODO: 安装最新 KubeSphere 预览版
组织架构管理
- 以
ws-admin
身份登录 KubeSphere 控制台,转到企业空间设置下的企业组织。
- 在企业组织中,点击维护组织结构。

- 在新窗口中,如果您尚未创建任何组织,则右侧会显示添加新的部门页面。如果您已经有部门存在,则先在右侧选择你所要新加部门的上级部门,然后再右侧点击添加新的子部门按钮。

- 在添加新的部门页面中,首先填写部门名称,选择企业角色,然后添加 项目角色和DevOps 工程角色。对于多集群项目需先选择项目角色所在的集群。

- 设置好相关角色后,点击保存按钮。用户组即可创建成功
注: 部门可以创建为树状层级结构,但是部门之间独立授权,无权限继承成关系。
案例
假设我们有运维部和开发部等两个部门负责 DevOps 工作,运维部 负责生产项目 demo-proj1
以及 CI/CD 等管理工作,开发部 可以以只读身份查看生产项目 demo-proj1
及 demo-devops
工程的运行状态,并且所有人都可以修改开发环境 demo-proj2
。
我们按以上要求,按下表依次添加两个部门并设置角色:
添加/删除成员
创建部门并授权后,将用户加入部门中,使用户具备部门的权限,实现用户的授权。给已授权的部门中添加或者移除用户,快速实现用户的权限变更。
- 在企业组织左侧组织架构树中单击选择您要管理的部门名称,右侧会显示已分配和未分配两个标签。
- 如需添加用户,点击未分配标签后,依次选择您要新增的用户。选择好后,点击右上角确定按钮后将用户添加到部门。

- 删除用户时,首先点击已分配标签,点击你要移除的用户,在弹出的确认框中输入您要移除的用户后点击确定。

总结
在 KubeSphere 中,我们通过组织架构管理实现了用户组授权功能。通过用户组授权,提供了一个更灵活的授权模型,解决了基于用户角色授权操作步骤复杂难以管理的问题。
用户组授权功能还在不断的完善中,更多功能会在后面版本中继续开发,同时希望您能提供更多宝贵的意见。我们会在下一版本中优先引入用户呼声较高的功能。
后续计划
- 支持用户组的第三方登录集成,使用集成登陆后自动绑定授权用户组,如ldap等。
- 用户证书集成,当前版本中用户证书中不包含用户组,因此无法使用证书访问通过用户组授权的资源。
- 更多。。。