多租户管理的核心是分配好人员 (组织) 和资源之间的权限关系。对于容器平台来说,主要关注的资源有计算资源、存储资源和网络资源,这也是 KubeSphere 多租户管理的核心。

KubeSphere 多租户体系中,将资源划分为以下三个层级:

  • 集群
  • 企业空间
  • 项目和 DevOps 工程

针对不同层级的资源都可以灵活地定制角色用以划分用户的权限范围,实现不同用户之间的资源隔离。

资源层级

权限管理模型

常见的权限管理模型有 ACL、DAC、MAC、RBAC、ABAC 这几类。在 KubeSphere 中我们借助 RBAC 权限管理模型来做用户的权限控制,用户并不直接和资源进行关联,而是经由角色定义来进行权限控制。

资源层级划分

集群

集群指的是当前的 Kubernetes 集群,为租户提供计算、存储和网络资源。集群下可以创建企业空间。

企业空间

在集群下可以创建企业空间,用以对不同的项目进行分组管理。企业空间下可以创建项目和 DevOps 工程。

项目和工程

项目、DevOps 工程是目前版本权限管理的最小层级,消耗集群的资源来部署应用、构建应用。

多层级权限控制

集群权限控制

通过集群角色来定义用户对集群资源的控制权限,例如:节点、监控、账户等。

企业空间权限控制

企业空间角色则定义用户在企业空间下对项目和工程的控制权限以及企业空间成员的管理权限等。

项目和工程权限控制

项目和工程的创建者,可以通过邀请成员的方式将自己的项目共享给其他用户,赋予不同的成员不同的角色,在权限上加以区分。

IAM 架构

多租户管理概述 - 图2

详细说明

在熟悉并了解了资源层级划分、权限管理方式之后,对于平台中各个层级的管理员和普通用户而言,理解每个层级的具体成员和角色的含义,如何更好地管理平台中成员和角色,就是实际使用中的关键环节了,请继续参阅 角色权限概览