UCS服务资源权限(IAM授权)
UCS集群权限/容器舰队权限是基于IAM系统策略和自定义策略的授权,可以通过用户组功能实现IAM用户的授权。

- 集群权限/容器舰队权限仅针对与集群/容器舰队相关功能的资源(如集群管理、舰队管理、插件管理、策略中心、配置管理、流量分发、容器智能分析等)有效,您必须确保同时配置了Kubernetes资源权限,才能有操作Kubernetes资源(如集群内工作负载、Service等资源对象)的权限。
- 使用UCS控制台查看集群/容器舰队时,显示情况依赖于Kubernetes资源权限的设置情况,如果没有设置Kubernetes资源权限,则无法查看集群/容器舰队下的资源。
前提条件
配置说明
UCS控制台“权限管理 > 添加权限”页面中创建用户/用户组和具体权限设置均是跳转到IAM控制台进行具体操作,设置完后在集群/容器舰队权限页面能看到用户/用户组所拥有的权限。本章节描述操作直接以IAM中操作为主,不重复介绍在UCS控制台如何跳转。
示例流程

- 创建用户组并授权。
在IAM控制台创建用户组,并授予UCS权限,例如UCS ReadOnlyAccess。
UCS部署时不区分物理区域,为全局级服务。授权时,选择授权范围方案为“所有资源”。
- 创建用户并加入用户组。
在IAM控制台创建用户,并将其加入1中创建的用户组。
- 用户登录并验证权限。
新创建的用户登录控制台,验证权限(假设当前权限仅包含UCS ReadOnlyAccess):
- 在“服务列表”中选择华为云UCS,进入UCS总览页,单击左侧导航栏“基础设施 > 容器舰队”,如果创建舰队和注册集群时提示无访问权限,表示“UCS ReadOnlyAccess”已生效。
- 在“服务列表”中选择除华为云UCS以外的其他服务(如弹性云服务器 ECS),若提示权限不足,表示“UCS ReadOnlyAccess”已生效。
系统角色
角色是IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。
IAM中预置的UCS系统角色为UCS Administrator,给用户组授予该系统角色权限时,必须同时勾选该角色依赖的其他策略才会生效,例如Tenant Guest、Server Administrator、ELB Administrator、OBS Administrator、SFS Administrator、SWR Admin、APM FullAccess。了解更多角色依赖关系,请参考:系统权限。
系统策略
IAM中预置的UCS系统策略包含UCS FullAccess、UCS CommonOperations、UCS CIAOperations和UCS ReadOnlyAccess几种类型。
- UCS FullAccess:系统策略,UCS服务管理员权限,拥有该权限的用户拥有服务的所有权限(包含制定权限策略、安全策略等)。
UCS FullAccess 不直接具有CCE集群的RBAC权限,需要用户到权限管理页面进行CCE集群授权。
- UCS CommonOperations:系统策略,UCS服务基本操作权限,拥有该权限的用户可以执行创建工作负载、流量分发等操作。
- UCS CIAOperations:系统策略,UCS服务容器智能分析管理员权限。
- UCS ReadOnlyAccess:系统策略,UCS服务只读权限(除容器智能分析只读权限)。
您可以通过查看策略内容来了解系统策略所支持的授权项,授权项的格式为“服务名:资源类型:操作”,支持通配符号*,通配符号*表示所有。
例如,UCS FullAccess的策略内容如下所示。可以看出,该策略包含了UCS、CCE(云容器引擎)、SWR(容器镜像服务)的所有权限,AOM(应用运维管理)、SMN(消息通知服务)、DNS(云解析服务)等服务的部分资源的操作权限。
{ "Version": "1.1", "Statement": [ { "Action": [ "ucs:*:*", "cce:*:*", "swr:*:*", "aom:*:get", "aom:*:list", "smn:*:list", "dns:*:get*", "dns:*:list*", "dns:*:get", "dns:*:list", "dns:recordset:create", "dns:recordset:delete", "dns:recordset:update", "dns:tag:get", "lts:*:get", "lts:*:list", "apm:*:get", "apm:*:list", "vpcep:epservices:*", "vpcep:connections:*", "vpcep:endpoints:*", "elb:*:get", "elb:*:list", "vpc:*:get", "vpc:*:list", "ief:*:get", "ief:*:list", "cgs:images:operate", "cgs:*:get", "cgs:*:list" ], "Effect": "Allow" } ] }
操作(Action) |
Action详情 |
说明 |
---|---|---|
ucs:*:* |
ucs:ciaInstances:create |
创建容器智能分析实例 |
ucs:ciaDetectEngines:update |
更新巡检配置 |
|
ucs:permissionsRules:create |
创建权限策略 |
|
ucs:commodityServiceRegions:create |
增加支持的区域 |
|
ucs:clustergroups:delete |
删除集群组 |
|
ucs:clustergroups:create |
创建集群组 |
|
ucs:addonTemplates:create |
创建插件模板 |
|
ucs:traffic:create |
创建域名解析记录集 |
|
ucs:serviceInstances:delete |
删除服务实例 |
|
ucs:ciaAlertRules:create |
创建告警规则 |
|
ucs:clustergroups:update |
更新集群组描述信息、更新集群组关联集群信息或更新集群组关联策略信息 |
|
ucs:servicePlugins:operate |
操作系统插件 |
|
ucs:addonTemplates:offline |
下线插件模板 |
|
ucs:ciaMonitorDashboards:update |
更新容器智能分析dashboard |
|
ucs:ciaMonitorDashboards:delete |
删除容器智能分析dashboard |
|
ucs:serviceSubscriptions:operate |
操作服务订阅,包括增删改 |
|
ucs:servicePackages:operate |
操作服务包 |
|
ucs:ciaMonitorDashboards:create |
创建容器智能分析dashboard |
|
ucs:clusters:create |
创建集群 |
|
ucs:ciaInstanceEndpoints:delete |
断开容器智能分析实例网络接入点 |
|
ucs:permissionsTemplates:update |
更新权限模板 |
|
ucs:commodityServiceBuckets:operate |
操作商品服务OBS桶记录 |
|
ucs:permissionsTemplates:create |
创建权限模板 |
|
ucs:addons:create |
创建插件实例 |
|
ucs:ciaAlerts:update |
清除已触发的告警事件 |
|
ucs:ciaInstances:update |
更新容器智能分析实例 |
|
ucs:clusters:update |
更新集群位置信息或激活集群 |
|
ucs:addonTemplatesVersion:offline |
根据具体版本下线插件模板 |
|
ucs:serviceRegistry:delete |
删除绑定仓库记录 |
|
ucs:ciaMonitorClusters:update |
更新被监控集群配置 |
|
ucs:serviceRegistry:check |
判断是否为管理员用户 |
|
ucs:commodityServices:operate |
操作商品服务 |
|
ucs:addons:delete |
删除插件实例 |
|
ucs:ciaEvents:update |
更新事件 |
|
ucs:ciaAlertRules:update |
更新告警规则 |
|
ucs:serviceOperators:operate |
操作服务Operator |
|
ucs:serviceRegistry:create |
创建绑定仓库记录 |
|
ucs:ciaAlertRules:delete |
删除告警规则 |
|
ucs:ciaInstances:delete |
删除容器智能分析实例 |
|
ucs:serviceInstances:update |
更新服务实例 |
|
ucs:permissionsRules:update |
更新权限策略 |
|
ucs:serviceInstances:create |
创建服务实例 |
|
ucs:permissionsTemplates:delete |
删除权限模板 |
|
ucs:addons:update |
更新插件实例 |
|
ucs:ciaInstanceEndpoints:create |
创建容器智能分析实例网络接入点 |
|
ucs:addonTemplates:delete |
删除插件模板 |
|
ucs:clusters:delete |
删除集群 |
|
ucs:permissionsRules:delete |
删除权限策略 |
|
ucs:workloads:operate |
创建、删除、获取工作负载 |
|
cce:*:* |
- |
CCE(云容器引擎)服务的所有权限。 |
swr:*:* |
- |
SWR(容器镜像服务)服务的所有权限。 |
aom:*:get |
- |
AOM(应用运维管理)服务所有资源详情的查看权限。 |
aom:*:list |
- |
AOM(应用运维管理)服务所有资源列表的查看权限。 |
smn:*:list |
- |
SMN(消息通知服务)服务所有资源列表的查看权限。 |
dns:*:get* |
- |
DNS(云解析服务)服务所有资源详情的查看权限。 |
dns:*:list* |
- |
DNS(云解析服务)服务所有资源列表的查看权限。 |
dns:recordset:create |
- |
DNS(云解析服务)服务创建Record Set权限。 |
dns:recordset:delete |
- |
DNS(云解析服务)服务删除Record Set权限。 |
dns:recordset:update |
- |
DNS(云解析服务)服务更新Record Set权限。 |
dns:tag:get |
- |
DNS(云解析服务)服务查询资源标签权限。 |
lts:*:get |
- |
LTS(云日志服务)服务所有资源详情的查看权限。 |
lts:*:list |
- |
LTS(云日志服务)服务所有资源列表的查看权限。 |
apm:*:get |
- |
APM(应用性能管理)服务所有资源详情的查看权限。 |
apm:*:list |
- |
APM(应用性能管理)服务所有资源列表的查看权限。 |
vpcep:epservices:* |
- |
VPCEP(VPC终端节点)服务所有终端节点服务的操作权限。 |
vpcep:connections:* |
- |
VPCEP(VPC终端节点)服务所有终端节点的连接的操作权限。 |
vpcep:endpoints:* |
- |
VPCEP(VPC终端节点)服务所有终端节点的操作权限。 |
elb:*:get |
- |
ELB(弹性负载均衡)服务所有资源详情的查看权限。 |
elb:*:list |
- |
ELB(弹性负载均衡)服务所有资源列表的查看权限。 |
vpc:*:get |
- |
VPC(虚拟私有云)服务所有资源详情的查看权限。 |
vpc:*:list |
- |
VPC(虚拟私有云)服务所有资源列表的查看权限。 |
ief:*:get |
- |
IEF(智能边缘平台)服务所有资源详情的查看权限。 |
ief:*:list |
- |
IEF(智能边缘平台)服务所有资源列表的查看权限。 |
cgs:images:operate |
- |
CGS(容器安全服务)服务执行镜像同步和扫描权限。 |
cgs:*:get |
- |
CGS(容器安全服务)服务所有资源详情的查看权限。 |
cgs:*:list |
- |
CGS(容器安全服务)服务所有资源列表的查看权限。 |
evs:types:get |
- |
EVS(云硬盘)服务查询云硬盘类型权限。 |
操作(Action) |
操作(Action) |
说明 |
---|---|---|
ucs:*:get |
ucs:clusters:get |
查询集群详情、查询集群接入信息或查询集群证书信息 |
ucs:clustergroups:get |
查询集群组详情 |
|
ucs:workloads:get |
查询工作负载详情 |
|
ucs:permissionsRules:get |
查询权限策略详情 |
|
ucs:permissionsTemplates:get |
查询权限模板详情 |
|
ucs:addonTemplates:get |
查询插件模板详情 |
|
ucs:addons:get |
查询插件实例信息 |
|
ucs:serviceSubscriptions:get |
查询服务订阅详情 |
|
ucs:serviceInstances:get |
查询服务实例详情 |
|
ucs:servicePlugins:get |
查询系统插件详情 |
|
ucs:serviceOperators:get |
查询单个服务Operator |
|
ucs:servicePackages:get |
查询服务包及服务包版本详情 |
|
ucs:serviceRegistry:get |
查询绑定的仓库 |
|
ucs:commodityServices:get |
查询商品服务详情 |
|
ucs:commodityServiceRegions:get |
查询支持区域的详情 |
|
ucs:*:list |
ucs:clusters:list |
查询集群列表 |
ucs:clustergroups:list |
查询集群组列表 |
|
ucs:workloads:list |
查询工作负载列表 |
|
ucs:permissionsRules:list |
查询权限策略列表 |
|
ucs:permissionsTemplates:list |
查询权限模板列表 |
|
ucs:traffic:list |
查询域名解析记录集列表 |
|
ucs:serviceSubscriptions:list |
查询服务订阅列表 |
|
ucs:serviceInstances:list |
查询服务实例列表 |
|
ucs:servicePlugins:list |
查询系统插件列表 |
|
ucs:serviceOperators:list |
查询服务Operator列表 |
|
ucs:servicePackages:list |
查询服务包列表 |
|
ucs:serviceRegistry:list |
查询绑定的仓库列表 |
|
ucs:commodityServices:list |
查询商品服务列表 |
|
ucs:commodityServiceRegions:list |
查询支持区域列表 |
|
ucs:commodityServiceBuckets:list |
查询商品服务OBS桶列表 |
|
dns:*:get |
- |
DNS(云解析服务)服务所有资源详情的查看权限。 |
dns:*:list |
- |
DNS(云解析服务)服务所有资源列表的查看权限。 |
cce:*:get |
- |
CCE(云容器引擎)服务所有资源详情的查看权限。 |
cce:*:list |
- |
CCE(云容器引擎)服务所有资源列表的查看权限。 |
ief:*:get |
- |
IEF(智能边缘平台)服务所有资源详情的查看权限。 |
ief:*:list |
- |
IEF(智能边缘平台)服务所有资源列表的查看权限。 |
aom:*:get |
- |
AOM(应用运维管理)服务所有资源详情的查看权限。 |
aom:*:list |
- |
AOM(应用运维管理)服务所有资源列表的查看权限。 |
elb:*:get |
- |
ELB(弹性负载均衡)所有资源详情的查看权限。 |
elb:*:list |
- |
ELB(弹性负载均衡)所有资源列表的查看权限。 |
vpc:*:get |
- |
VPC(虚拟私有云)所有资源详情的查看权限。 创建的集群需要运行在虚拟私有云中,创建命名空间时,需要创建或关联VPC,创建在命名空间的容器都运行在VPC之内 |
vpc:*:list |
- |
VPC(虚拟私有云)所有资源列表的查看权限。 |
swr:*:get |
- |
SWR(容器镜像服务)所有资源详情的查看权限。 |
swr:*:list |
- |
SWR(容器镜像服务)所有资源列表的查看权限。 |
cgs:*:get |
- |
CGS(容器安全服务)服务所有资源详情的查看权限。 |
cgs:*:list |
- |
CGS(容器安全服务)服务所有资源列表的查看权限。 |
UCS功能所需的最小权限
华为云各服务之间存在业务交互关系,UCS也依赖其他云服务实现一些功能(如镜像仓库、域名解析),因此,上述四种系统策略经常和其他云服务的角色或策略结合使用,以达到精细化授权的目的。管理员在为IAM用户授权时,应该遵循权限最小化的安全实践原则,表3列举了UCS各功能管理员、操作、只读权限所需要的最小权限。

- 如您的华为云账号为首次登录UCS控制台,需要为其授权,同意授权后,UCS将在统一身份认证服务为您创建名为ucs_admin_trust的委托,为保证UCS服务正常使用,请不要删除或者修改该委托。
- IAM用户所在用户组未授予任何权限的情况下,您将无法访问UCS控制台,请参考表3授予相关权限。
- UCS FullAccess 不直接具有CCE集群的RBAC权限,下表中涉及的华为云集群,需要用户到权限管理页面进行CCE集群授权。
功能 |
权限类型 |
权限范围 |
最小权限 |
---|---|---|---|
容器舰队 |
管理员权限 |
|
UCS FullAccess |
只读权限 |
查询集群、舰队的列表或详情 |
UCS ReadOnlyAccess |
|
华为云集群 |
管理员权限 |
对华为云集群及集群下所有Kubernetes资源对象(包含节点、工作负载、任务、服务等)的读写权限。 |
UCS FullAccess + CCE Administrator |
操作权限 |
对华为云集群及集群下大多数Kubernetes资源对象的读写权限,对命名空间、资源配额等Kubernetes资源对象的只读权限。 |
UCS CommonOperations + CCE Administrator |
|
只读权限 |
对华为云集群及集群下所有Kubernetes资源对象(包含节点、工作负载、任务、服务等)的只读权限。 |
UCS ReadOnlyAccess + CCE Administrator |
|
本地/附着集群 |
管理员权限 |
本地/附着集群及集群下所有Kubernetes资源对象(包含节点、工作负载、任务、服务等)的读写权限。 |
UCS FullAccess |
操作权限 |
本地/附着集群及集群下大多数Kubernetes资源对象的读写权限,对命名空间、资源配额等Kubernetes资源对象的只读权限。 |
UCS CommonOperations + UCS RBAC权限(需要包含namespaces资源对象的list权限) |
|
只读权限 |
本地/附着集群及集群下所有Kubernetes资源对象(包含节点、工作负载、任务、服务等)的只读权限。 |
UCS ReadOnlyAccess + UCS RBAC权限(需要包含namespaces资源对象的list权限) |
|
镜像仓库 |
管理员权限 |
容器镜像服务的所有权限,包括创建组织、上传镜像、查看镜像列表或详情、下载镜像等操作。 |
SWR Administrator |
权限管理 |
管理员权限 |
说明:
创建权限需要同时授予子用户IAM ReadOnlyAccess权限(IAM服务的只读权限),用于获取IAM用户列表。 |
UCS FullAccess + IAM ReadOnlyAccess |
只读权限 |
查看权限列表或详情 |
UCS ReadOnlyAccess + IAM ReadOnlyAccess |
|
策略中心 |
管理员权限 |
|
UCS FullAccess |
只读权限 |
对于已启用策略中心的舰队和集群,拥有该权限的用户可以查看策略列表和查看策略实施详情。 |
UCS CommonOperations 或 UCS ReadOnlyAccess |
|
流量分发 |
管理员权限 |
创建流量策略、暂停调度策略、删除调度策略等操作。 |
(推荐)UCS CommonOperations + DNS Administrator 或 UCS FullAccess + DNS Administrator |
只读权限 |
查看流量策略列表或详情 |
UCS ReadOnlyAccess + DNS Administrator |
|
容器智能分析 |
管理员权限 |
|
UCS CIAOperations |
自定义策略
如果系统预置的UCS策略,不满足您的授权要求,可以创建自定义策略。
目前支持以下两种方式创建自定义策略:
- 可视化视图创建自定义策略:无需了解策略语法,按可视化视图导航栏选择云服务、操作、资源、条件等策略内容,可自动生成策略。
- JSON视图创建自定义策略:可以在选择策略模板后,根据具体需求编辑策略内容;也可以直接在编辑框内编写JSON格式的策略内容。
具体创建步骤请参见:创建自定义策略。本章为您介绍常用的UCS自定义策略样例。
UCS自定义策略样例:
- 示例1:创建集群
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "ucs:clusters:create" ] } ] }
- 示例2:拒绝用户删除集群
拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先原则。
如果您给用户授予UCSFullAccess的系统策略,但不希望用户拥有UCSFullAccess中定义的删除集群权限(ucs:clusters:delete),您可以创建一条相同Action的自定义策略,并将自定义策略的Effect设置为Deny,然后同时将UCSFullAccess和拒绝策略授予用户,根据Deny优先原则,则用户可以对UCS执行除了删除集群外的所有操作。拒绝策略示例如下:
{ "Version": "1.1", "Statement": [ { "Effect": "Deny", "Action": [ "ucs:clusters:delete" ] } ] }
-
一个自定义策略中可以包含多个授权项,且除了可以包含本服务的授权项外,还可以包含其他服务的授权项,可以包含的其他服务必须跟本服务同属性,即都是项目级服务或都是全局级服务。多个授权语句策略描述如下:
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "ucs:clustergroups:create", "ucs:ciaEvents:update", "ucs:addonTemplates:delete" ] }, { "Effect": "Allow", "Action": [ "obs:bucket:GetBucketInventoryConfiguration", "obs:bucket:CreateBucket" ] } ] }