更新时间:2025-07-25 GMT+08:00

UCS权限概述

UCS权限管理是在统一身份认证服务(IAM)与Kubernetes的角色访问控制(RBAC)的能力基础上,打造的细粒度权限管理功能,支持基于IAM的细粒度权限控制和IAM Token认证,支持集群级别、容器舰队级别、集群命名空间级别、容器舰队命名空间级别的权限控制,帮助用户便捷灵活的对租户下的IAM用户、用户组设定不同的操作权限。

如果您需要对UCS相关资源进行精细的权限管理,例如限制不同部门的员工拥有部门内资源的细粒度权限,您可以使用UCS权限管理提供的增强能力进行多维度的权限管理。

本章节将介绍UCS权限管理机制及其涉及到的基本概念。如果当前账号已经能满足您的要求,您可以跳过本章节,不影响您使用UCS服务的其它功能。

权限管理能力对单集群和已经开通集群联邦能力的容器舰队生效,若需使用权限管理能力,请先为容器舰队开通集群联邦

图1 权限设计

UCS支持的权限管理能力

UCS的权限管理类型分为"UCS服务资源权限"和"集群中Kubernetes资源权限"两种,细分如下:

  • UCS服务资源权限:是基于IAM系统策略的授权。包括“集群权限管理”和“容器舰队权限管理”;
  • 集群中Kubernetes资源权限:是基于Kubernetes RBAC能力的授权。包括“集群命名空间权限”和“容器舰队命名空间权限”。

这四种权限管理能力,支持从“集群”、“容器舰队”、“集群命名空间”和“容器舰队命名空间”四种权限层面对用户组或用户进行细粒度授权。具体解释如下:

  • 集群权限:是基于IAM系统策略的授权,通过集群权限设置可以让某些用户组操作集群(如注册集群、注销集群、集群插件管理) ,并且让某些用户组仅能查看集群。
  • 容器舰队权限:是基于IAM系统策略的授权,通过容器舰队权限设置可以让某些用户组操作容器舰队(如创建/删除容器舰队、容器舰队添加集群、容器舰队删除集群) ,并且让某些用户组仅能查看容器舰队。

    UCS服务资源权限(集群权限、容器舰队权限)是基于IAM系统策略(ABAC)的授权,涉及UCS非Fleet API、KubernetesAPI,支持IAM细粒度策略、企业项目管理相关能力。容器舰队权限仅针对容器舰队相关的资源(如容器舰队、启用联邦)有效 ,集群权限仅针对集群相关的资源(如集群、节点)有效,必须确保同时设置了命名空间权限,才能有操作Fleet、Kubernetes资源(如工作负载、Service、路由等)的权限。 容器舰队权限与集群权限设置互相独立,互不干涉。

  • 集群命名空间权限:是基于Kubernetes RBAC(Role-Based Access Control,基于角色的访问控制)能力的授权,通过权限设置可以让不同用户或用户组拥有不同Kubernetes资源的权限(如工作负载、任务、服务等Kubernetes原生资源)。
  • 容器舰队命名空间权限:是基于Fleet RBAC(Role-Based Access Control,基于角色的访问控制)能力的授权,通过权限设置可以让不同的用户或者用户组拥有不同Fleet资源的权限(如工作负载、服务、MCI、分发策略等Fleet原生资源)。

    集群中Kubernetes资源权限(集群命名空间权限、容器舰队命名空间权限)涉及UCS Kubernetes API,基于Kubernetes RBAC能力进行增强,支持对接IAM用户、用户组进行授权和认证鉴权,但与IAM细粒度策略独立。

    UCS的权限可以从使用的阶段分为两个阶段来看:第一个阶段是创建和管理集群/容器舰队的权限,也就是拥有创建与删除集群、容器舰队、节点等资源的权限。第二个阶段是使用集群Kubernetes、容器舰队Fleet资源(如工作负载、Service等)的权限。

    图2 权限示例图

UCS服务资源权限(IAM授权)与集群中Kubernetes资源权限(Kubernetes RBAC授权)的关系

拥有不同服务资源权限(IAM授权)的用户,其拥有的集群中Kubernetes资源权限权限(Kubernetes RBAC授权)不同。表1给出了不同用户拥有的集群中Kubernetes资源权限详情。

表1 不同用户拥有的集群中Kubernetes资源权限

用户类型

UCS云服务资源权限

集群中Kubernetes资源权限详情

拥有Tenant Administrator权限的用户、拥有UCS FullAccess权限的用户

集群管理、容器舰队管理、插件管理、策略中心、配置管理、流量分发、容器智能分析、服务网格这些功能的操作权限。

全部命名空间权限

说明:

UCS FullAccess不直接具有CCE集群的RBAC权限,需要用户到权限管理页面进行CCE集群授权。

拥有UCS CommonOperations权限的用户

集群只读、容器舰队只读、流量分发能力、插件管理只读、策略中心只读、配置管理只读。

按RBAC授权

拥有UCS ReadOnlyAccess权限的IAM用户

UCS云服务资源的只读权限

按RBAC授权

拥有UCS CIAOperations权限的IAM用户

UCS中容器智能分析实例的操作权限

按RBAC授权

拥有Tenant Guest权限的IAM用户

UCS云服务资源的只读权限

按RBAC授权

权限管理流程

新建IAM用户的权限管理主要流程可参见权限管理流程。

图3 权限管理流程

基本概念说明

UCS权限管理包含如下基本概念,其关系如图4所示。

  • 用户:由管理员账号在统一身份认证服务(IAM)中创建的用户,是云服务的使用人员,具有独立的身份凭证(密码和访问密钥),根据账号授予的权限使用资源。
  • 用户组:用户组是用户的集合,IAM可以通过用户组功能实现用户的授权。您创建的IAM用户,加入特定用户组后,将具备对应用户组的权限。例如,管理员为用户组授予UCS FullAccess权限后,其中的用户将具备UCS服务的管理员权限。当某个用户加入多个用户组时,此用户同时拥有多个用户组的权限,即多个用户组权限的全集。
  • 命名空间:命名空间(Namespace)是对一组资源和对象的抽象整合。在同一个集群内可创建不同的命名空间,不同命名空间中的数据彼此隔离。使得它们既可以共享同一个集群的服务,也能够互不干扰。例如可以将开发环境、测试环境的业务分别放在不同的命名空间。
  • 权限类型:由UCS管理员定义的某个或某些用户对集群中Kubernetes资源的操作范围,UCS预置了几个常用权限,包括管理员权限、运维权限、开发权限、只读权限,同时也支持用户自定义权限。更多介绍请参见添加资源权限(控制台)
  • 容器舰队:容器舰队是多个集群的集合,管理员可以使用容器舰队来实现关联集群的分类。容器舰队还可以实现多集群的统一管理,包括权限管理、安全策略、配置管理以及多集群编排等统一管理的能力。
图4 权限关系示意图