在实际的应用场景中,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 | DevOps 工程的所有者,可以进行项目的所有操作。 |
maintainer | DevOps 工程的主要维护者,可以进行项目内的凭证配置、流水线配置等操作。 |
developer | DevOps 工程的开发者,可以进行流水线的触发和查看。 |
reporter | DevOps 工程的观察者,可以查看流水线的运行情况。 |