角色权限概览

在实际的应用场景中,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项目观察者,可以查看项目下所有的资源。

预置角色权限概览

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

DevOps 工程角色

为了方便细粒度的对 DevOps 工程进行管控,DevOps 工程的管理员可以从企业空间下的用户池中搜索并添加用户,为新邀请的用户授予内置的角色。

预置的 DevOps 工程角色:

预置角色描述
ownerDevOps 工程的所有者,可以进行项目的所有操作。
maintainerDevOps 工程的主要维护者,可以进行项目内的凭证配置、流水线配置等操作。
developerDevOps 工程的开发者,可以进行流水线的触发和查看。
reporterDevOps 工程的观察者,可以查看流水线的运行情况。