在实际的应用场景中,KubeSphere 的资源层级分为 集群、企业空间、项目/ DevOps 工程 等三个层级,多层级的划分也是实现多租户和资源隔离的基础。在 账号管理 中为用户创建了账号后,先由集群或企业空间的管理员通过 邀请 的方式邀请新成员加入该企业空间,然后才可以被同一企业空间下的项目或 DevOps 工程的管理员,邀请加入到项目和 DevOps 工程中,邀请时管理员可以对新成员赋予对应的角色,而不同的角色拥有不同的操作权限,平台内置了几个常用的角色供使用。同时,平台支持管理员自定义角色和权限列表,以下分别说明不同层级下的权限管理和预置角色。

角色权限管理

角色分为集群、企业空间、项目/ DevOps 工程共三个层级,将用户和不同层级的资源关联起来。

角色权限管理关系

预置角色权限

在集群和集群空间下之所以如此划分多个内置角色,旨在针对不同角色的权限进行细粒度的管理,让拥有不同角色的成员更准确地查看和管理在集群或企业空间下的资源。只有对不同角色的权限进行细分后,多租户模式下对不同资源的管控和隔离才会更加安全。下图汇总了在集群和企业空间下不同角色分别具有哪些权限。

预置角色权限概览

角色权限

集群角色

集群下包括用户管理、企业空间管理、各类集群层面的资源管理。集群层面的权限,主要针对节点、集群监控、存储类型、企业空间等集群层面的资源控制。

预置的集群角色:

预置角色 描述
cluster-admin 集群管理员,可以管理集群中所有的资源。
workspaces-manager 集群中企业空间管理员,可以管理集群中所有的企业空间及其下面的项目和工程资源。
cluster-regular 集群中的普通用户,在被邀请加入企业空间之前没有任何资源操作权限。

企业空间角色

独立的租户、项目和 Devops 工程都在企业空间下,企业空间下也有成员,可以从集群的用户池中添加。当企业空间被创建之后,创建者默认绑定为该空间下的 admin 角色。企业空间的管理员,可以在企业空间中创建项目、DevOps 工程资源,从集群的用户池中邀请用户加入到企业空间下。

预置的企业空间角色:

预置角色 描述
workspace-admin 企业空间管理员,可以管理企业空间下所有的资源。
workspace-regular 企业空间普通成员,可以在企业空间下创建工程和项目。
workspace-viewer 企业空间的观察者,可以查看企业空间下所有的资源信息。

项目角色

集群计算资源的虚拟划分,项目有资源配额限制。当项目、DevOps 工程被创建之后,创建者默认绑定至该项目或 DevOps 工程下的 admin 角色。由项目的管理员,向项目内邀请成员,可以从企业空间下的用户池中搜索并添加用户。

预置的项目角色:

预置角色 描述
admin 项目管理员,可以管理项目下所有的资源。
operator 项目维护者,可以管理项目下除用户和角色之外的资源。
viewer 项目观察者,可以查看项目下所有的资源。

预置角色权限概览

资源/权限/角色 admin operator viewer
项目管理 查看 / 编辑 / 删除 查看 查看
成员管理 查看 / 创建 / 编辑 / 删除 / /
角色管理 查看 / 创建 / 编辑 / 删除 / /
部署 查看 / 创建 / 编辑 / 删除 / 横向伸缩 查看 / 创建 / 编辑 / 删除 / 横向伸缩 查看
有状态副本集 查看 / 创建 / 编辑 / 删除 / 横向伸缩 查看 / 创建 / 编辑 / 删除 / 横向伸缩 查看
守护进程集 查看 / 创建 / 编辑 / 删除 查看 / 创建 / 编辑 / 删除 查看
容器组管理 远程连接 远程连接 远程连接
服务管理 查看 / 创建 / 编辑 / 删除 查看 / 创建 / 编辑 / 删除 查看
外网访问管理 查看 / 创建 / 编辑 / 删除 查看 / 创建 / 编辑 / 删除 查看
应用路由管理 查看 / 创建 / 编辑 / 删除 查看 / 创建 / 编辑 / 删除 查看
存储卷 查看 / 创建 / 编辑 / 删除 查看 / 创建 / 编辑 / 删除 查看
应用管理 查看 / 部署 / 删除 查看 / 部署 / 删除 查看
任务管理 查看 / 创建 / 编辑 / 删除 查看 / 创建 / 编辑 / 删除 查看
定时任务管理 查看 / 创建 / 编辑 / 删除 查看 / 创建 / 编辑 / 删除 查看
密钥管理 查看 / 创建 / 编辑 / 删除 查看 / 创建 / 编辑 / 删除 查看
配置管理 查看 / 创建 / 编辑 / 删除 查看 / 创建 / 编辑 / 删除 查看

DevOps 工程角色

方便细粒度的对 DevOps 工程进行管控。由 DevOps 工程的管理员从企业空间下的用户池中搜索并添加用户。

预置的 DevOps 工程角色:

预置角色 描述
owner 项目的所有者,可以进行项目的所有操作。
maintainer 项目的主要维护者,可以进行项目内的凭证配置、pipeline 配置等操作。
developer 项目的开发者,可以进行 pipeline 的触发以及查看。
reporter 项目的观察者,可以查看 pipeline 的运行情况。