本文将详细介绍云平台的用户权限体系,帮助读者深入了解不同用户角色与其权限之间的关系。以下是本文的结构图:

Created with Raphaël 2.2.0
资源
规则
操作
角色
主体
角色绑定

名词解释

主体

主体是指在平台注册的企业用户个人用户

角色

  • 超级管理员:拥有对全局操作日志、风险日志审计,系统配置等权限,如Logo替换,主题设置等功能。
  • 管理员: 管理物理机资源。
  • 组织:对代码的支配权限。

目前有三种角色身份:超级管理员管理员组织。超级管理员与管理员组织拥有相同的权限,除了控制平台相关的审计、Logo修改、主题定制等系统级操作外,并没有额外的管理员和组织权限。

超级管理员

超级管理员
日志审计
系统配置
订单管理
资金调账
更多...

超级管理员是拥有全局日志审计、风险评估、系统配置、订单管理、资金调账等权限。

例如:
小明是超级管理员,他可以查询其它所有拥有管理员组织权限的用户做了哪些操作,并且设置平台主题皮、LOGO,注册许可证等功能。

管理员

管理员
集群资源
资源池
存储资源
网络资源
更多...

管理员拥有对物理资源权限,如Kubernetes集群、物理主机、网络和存储等。一般提供给运维人员,管理员将管理的物理资源分配给开发人员使用。

组织

组织
代码源
镜像
仓库
流水线
软件中心
更多...

组织角色拥有代码镜像仓库流水线软件中心等权限,拥有组织的用户拥有开发代码的绝对权限

例如:xxx
小明是拥有A组织的权限,则他可以在平台使用CICD进行操作,最终将代码转换成镜像,上传镜像仓库。

为什么设置这3种角色?

为了把代码权限和运维人员分开,因为运维人员能控制生产环境,如果运维人员获取到代码权限,那将很危险。

而拥有代码权限的开发人员,则没有生产环境的权限,这样就可以保证,系统安全。

运维人员只需要对物理资源进行管理,将物理资源提供给开发者使用。

开发人员,不需要关心物理资源的情况,根据自己声明,将镜像运行起来。

开发人员为保障代码不泄露,对代码镜像进行单独管理。

运维人员无法获取到开发人员的代码,开发人员也无法将自己的代码(镜像)随意的运行在特定的环境当中。

如:开发人员不得将镜像部署到生产,而由运维人员的授权情况下,才能将镜像部署到开发环境。

角色绑定

用户
超级管理员
管理员
组织1
组织2
组织N..

将角色绑定到用户,通过细粒度分配角色提高安全性。例如,用户是运维人员则可赋予超级管理员管理员权限;用户为开发人员,则可赋予多个组织权限。

小明
超级管理员
管理员
组织1
组织2
组织N..

例如,小明同时拥有多个角色身份,超级管理员、管理员,以及组织1、组织2、组织N的权限。因此,小明可以管理与这些角色相关联的所有资源。

规则

规则
资源
操作

规则是将资源操作绑定,通过操作权限的细分,根据不同的资源设置不同的操作权限。例如小明和小芳是不同组的用户,小明可以分配A组织代码维护者权限,分配B组织代码开发者权限,小明可以分配A组织代码开发者权限权限,分配B组织代码维护者

资源

  • 集群(Kubernetes集群):用于容器化应用程序的高可用、自动化管理的集群环境。
  • 资源池(权限隔离):允许在同一集群内将资源隔离分配给不同的用户或工作负载。
  • 网络:支持容器间通信和外部访问的网络解决方案,确保服务之间的连接和通信。
  • 存储(Kubernetes存储):提供持久化存储解决方案,用于容器化应用程序的数据存储需求。
  • 代码(开发代码):开发人员编写和维护的应用程序源代码。
  • 镜像(容器镜像):包含应用程序运行所需环境的可移植软件打包格式。
  • 软件中心(文件):用于管理和分发应用程序和工具的中心化平台。
  • 更多:其它资源

资源指整个环境中的物理资源,包括集群、资源池、网络、存储,以及组织虚拟资源,如的代码、镜像仓库和软件中心等内容。

操作

平台提供了三种默认的操作权限拥有者(Owner)维护者(Master)开发者(Developer)如下表格是针对规则的划分

操作\权限 查看 增加 修改 上传 下载 删除
拥有者(Owner) Y Y Y Y Y Y
维护者(Master) Y Y Y Y Y N
开发者(Developer) Y N N N N N

拥有者和维护者的最大区别在于,拥有者拥有全部权限,而维护者除了删除权限外拥有所有权限。开发者只有查看权限,例如,用户需要查看发布到生产环境的项目信息但不可操作,因此分配开发者权限给他。

  • 示例1:

下图将展示小明做为一个是开发人员的权限展示:

拉取
资源-A项目代码
推送
创建
资源-A项目镜像
构建
上传
小明
角色绑定
支付组织

根据上图展示,小明作为一个开发人员,拥有支付组织角色,并且在支付组织角色中具有如下权限:对代码资源可以拉取和推送。对镜像资源可以创建、构建和上传。

  • 示例2:

在进行操作权限的精细化分配时,应遵循明确权限和最小权限原则。例如,在一个开支付发项目组中,组员小明和他的组长将被分配不同的权限。小明作为开发者,获得支付组织中的管理权限,而他的组长则获得 支付组织中的拥有权限,而其它只需查看的人员可分配开发者权限

如何分配权限?

作者:admin  创建时间:2024-07-16 13:09
最后编辑:魏巍  更新时间:2025-04-29 18:46