本文将详细介绍云平台的用户权限体系,帮助读者深入了解不同用户角色与其权限之间的关系。以下是本文的结构图:
名词解释
主体
主体是指在平台注册的企业用户
或个人用户
。
角色
- 超级管理员:拥有对全局操作日志、风险日志审计,系统配置等权限,如Logo替换,主题设置等功能。
- 管理员: 管理物理机资源。
- 组织:对代码的支配权限。
目前有三种角色身份:超级管理员
、管理员
和组织
。超级管理员与管理员
、组织
拥有相同的权限,除了控制平台相关的审计、Logo修改、主题定制等系统级操作外,并没有额外的管理员和组织权限。
超级管理员
超级管理员是拥有全局日志审计、风险评估、系统配置、订单管理、资金调账等权限。
例如:
小明是超级管理员,他可以查询其它所有拥有管理员
和组织
权限的用户做了哪些操作,并且设置平台主题皮、LOGO,注册许可证等功能。
管理员
管理员拥有对物理资源
权限,如Kubernetes集群、物理主机、网络和存储等。一般提供给运维人员,管理员将管理的物理资源
分配给开发人员使用。
组织
组织
角色拥有代码
、镜像
、仓库
、流水线
和软件中心
等权限,拥有组织
的用户拥有开发代码的绝对权限,
例如:xxx
小明是拥有A组织
的权限,则他可以在平台使用CICD进行操作,最终将代码转换成镜像,上传镜像仓库。
为什么设置这3种角色?
为了把代码权限和运维人员分开,因为运维人员能控制生产环境,如果运维人员获取到代码权限,那将很危险。
而拥有代码权限的开发人员,则没有生产环境的权限,这样就可以保证,系统安全。
运维人员只需要对物理资源进行管理,将物理资源提供给开发者使用。
开发人员,不需要关心物理资源的情况,根据自己声明,将镜像运行起来。
开发人员为保障代码不泄露,对代码镜像进行单独管理。
运维人员无法获取到开发人员的代码,开发人员也无法将自己的代码(镜像)随意的运行在特定的环境当中。
如:开发人员不得将镜像部署到生产,而由运维人员的授权情况下,才能将镜像部署到开发环境。
角色绑定
将角色绑定到用户,通过细粒度分配角色提高安全性。例如,用户是运维人员
则可赋予超级管理员
和管理员
权限;用户为开发人员
,则可赋予多个组织
权限。
例如,小明同时拥有多个角色身份,超级管理员、管理员,以及组织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:
下图将展示小明做为一个是开发人员的权限展示:
根据上图展示,小明作为一个开发人员,拥有支付组织角色
,并且在支付组织角色
中具有如下权限:对代码资源可以拉取和推送。对镜像资源可以创建、构建和上传。
- 示例2:
在进行操作权限的精细化分配时,应遵循明确权限和最小权限原则。例如,在一个开支付发项目组
中,组员小明和他的组长将被分配不同的权限。小明作为开发者,获得支付组织
中的管理权限
,而他的组长则获得 支付组织
中的拥有权限
,而其它只需查看的人员可分配开发者权限
。
如何分配权限?
最后编辑:魏巍 更新时间:2025-04-29 18:46