tencent cloud

弹性 MapReduce

动态与公告
产品动态
产品公告
安全公告
产品简介
产品概述
产品优势
产品架构
产品功能
应用场景
约束与限制
技术支持范围
产品发行版
购买指南
EMR on CVM 计费说明
EMR on TKE 计费说明
EMR Serverless HBase 计费说明
快速入门
EMR on CVM 快速入门
EMR on TKE 快速入门
EMR on CVM 操作指南
规划集群
管理权限
配置集群
管理集群
管理服务
监控告警
智能管家
EMR on TKE 操作指南
EMR on TKE 简介
配置集群
管理集群
管理服务
监控运维
应用分析
EMR Serverless HBase 操作指南
EMR Serverless HBase 产品简介
配额与限制
规划实例
管理实例
监控告警
开发指南
EMR 开发指南
Hadoop开发指南
Spark 开发指南
HBASE开发指南
Phoenix on Hbase 开发指南
Hive 开发指南
Presto开发指南
Sqoop 开发指南
Hue 开发指南
Oozie 开发指南
Flume 开发指南
Kerberos 开发指南
Knox 开发指南
Alluxio 开发指南
Kylin 开发指南
Livy 开发指南
Kyuubi 开发指南
Zeppelin 开发指南
Hudi 开发指南
Superset 开发指南
Impala 开发指南
Druid 开发指南
Tensorflow 开发指南
Kudu 开发指南
Ranger 开发指南
Kafka 开发指南
Iceberg 开发指南
StarRocks 开发指南
Flink 开发指南
JupyterLab 开发指南
MLflow 开发指南
实践教程
EMR on CVM 运维实践
数据迁移实践
自定义伸缩实践教程
API 文档
History
Introduction
API Category
Cluster Resource Management APIs
Cluster Services APIs
User Management APIs
Data Inquiry APIs
Scaling APIs
Configuration APIs
Other APIs
Serverless HBase APIs
YARN Resource Scheduling APIs
Making API Requests
Data Types
Error Codes
常见问题
EMR on CVM常见问题
服务等级协议
联系我们

自定义策略操作指引

PDF
聚焦模式
字号
最后更新时间: 2026-01-13 15:02:15

操作场景

如果预设策略不能满足您的要求,您可以通过创建自定义策略实现最小授权。本文提供了使用访问管理(Cloud Access Management,CAM)策略让用户拥有在腾讯云弹性 MapReduce(以下简称 EMR)控制台中查看和使用特定资源的权限示例,指导用户如何使用控制台配置特定权限策略。

自定义权限策略创建方式

创建方式
授权指南
通过策略生成器创建自定义策略
该方式支持在策略向导中选择服务、操作、定义资源,自动生成策略语法,可以灵活满足差异化权限管理需求,优先推荐使用。详情参见 通过策略生成器创建自定义策略
通过标签授权创建自定义策略
该方式将具有一类标签属性的资源快速授权给用户或用户组。详情参见 通过标签授权创建自定义策略
通过策略语法创建自定义策略
该方式由用户编写策略语法,生成对应的策略,权限粒度灵活,可以解决对权限精细划分有较高要求的用户诉求。详情参见 通过策略语法创建自定义策略

授权策略语法参考

通过策略语法创建自定义策略时,需要了解业务的权限管控需求和 EMR 策略语法定义。下文为您介绍 CAM 权限策略的基本结构,以及如何在策略中定义 EMR 的操作(Action)、资源(Resource)和使用条件(Condition)。

CAM通用策略语法

语法示例
说明
{
"version":"2.0",
"statement":
[
{
"effect":"effect",
"action":["action"],
"resource":["resource"],
"condition": {"key":{"value"}}
}
]
}

版本 version (必填):目前仅允许值为"2.0"。
语句 statement 是用来描述一条或多条权限的详细信息。该元素包括 effect、action、resource,condition 等多个其他元素的权限或权限集合。一条策略有且仅有一个 statement 元素。
1. 效果 effect (必填):描述声明产生的结果是“允许”还是“显式拒绝”。包括 allow (允许)和 deny (显式拒绝)两种情况。
2. 操作 action (必填):用来描述允许或拒绝的操作。操作可以是 API(以 name 前缀描述)或者功能集(一组特定的 API,以 actionName 前缀描述)。详情参见 操作
3. 资源 resource (必填):描述授权的具体数据。资源是用六段式描述。详情参见 资源
4. 生效条件 condition(选填): 描述策略生效的约束条件。条件包括操作符、操作键和操作值组成。条件值可包括时间、IP 地址、标签等信息。详情参见 条件

操作

支持访问管理的EMR接口

在 CAM 策略语句中,您可以从支持 CAM 的 EMR 接口中指定任意的 API 操作,详情参见支持 CAM 的 EMR 接口

操作设置示例

场景
示例
在单个语句中指定多个操作
使用以 emr: 为前缀的 API,并使用逗号将它们隔开,如下所示:
"action":["emr:action1","emr:action2"]
使用通配符指定多项操作
指定名字以单词 "Describe" 开头的所有操作,如下所示:
"action":["emr:Describe*"]
指定 EMR 中所有操作
请使用 * 通配符,如下所示:
"action":["emr:*"]

资源

EMR可授权的资源类型

在访问管理(CAM)中可授权的EMR资源类型和对应的资源描述方法如下:
资源类型
授权策略中的资源描述方法
弹性MapReduce实例
qcs::emr:${region}:uin/${uin}:emr-instance/${emrInstanceId}
弹性MapReduce节点
qcs::emr:${region}:uin/${uin}:emr-vm/${emrResourceId}
弹性MapReduce预定包
qcs::emr:${region}:uin/${uin}:emr-reserve/${emrReserveId}
资源定义详情参见 资源描述方式。其中:
${region}:描述地域信息,地域命名方式请参见 地域列表。值为空的时候表示所有地域。如华北地区(北京)为 ap-beijing。
${uin}:主账号的账户ID。如:uin/12345678。
${emrInstanceId}、${emrResourceId}、${emrReserveId}:具体的资源 ID,可前往各个产品控制台查看,值为 * 时代表该类型资源的所有资源。如emr-instance/*。
EMR 接口授权粒度分为操作级和资源级:
资源级接口:此类型接口支持对某一个具体特定的资源进行授权。资源级接口可授权的资源类型参见 支持 CAM 的 EMR 接口
操作级接口:此类型接口不支持对某一个特定的资源进行授权。授权时策略语法若限定了具体的资源,CAM 会判断此接口不在授权范围,判断为无权限。故操作级接口授权时策略语句的资源元素必须指定为 *。

资源设置示例

场景
示例
指定使用特定集群资源
指定使用北京地域的集群ID(emr-12345),如下所示:
"resource":[ "qcs::emr:ap-beijing:uin/12345678:emr-instance/emr-12345"]
指定使用主账号下所有集群资源
可使用* 通配符表示所有资源,如下所示:
"resource":[ "qcs::emr:ap-beijing:uin/12345678:emr-instance/*"]
指定所有资源,或特定 API 操作不支持资源级权限
请在 Resource 元素中使用 * 通配符,如下所示:
"resource": "*"
在一条指令中同时指定多个资源
指定两个资源,并使用逗号将它们隔开,如下所示:
"resource":["resource1","resource2"]

条件

EMR 未定义产品级别的条件关键字。如需查看适用于所有云产品的通用条件关键字,请参见 生效条件概述

场景示例

示例场景
支持使用的创建策略方式
(预设策略,无需自定义)
按策略生成器创建、按策略语法创建
按策略语法创建、按标签授权
按策略生成器创建、按策略语法创建
按策略生成器创建、按策略语法创建
按策略语法创建、按标签授权

示例1:授权用户 EMR 的只读权限

如果您希望授权子账号 EMR 的查询权限,但是不具有创建、删除等权限,您可以将预设策略 QcloudEMRReadOnlyAccess 授权给用户,详情参见购买和管理 EMR 集群

示例2:授权用户 EMR 的查看集群权限

下文为您介绍如何授权子账号EMR的查看集群的基础权限,可将以下策略关联到该用户。具体操作步骤如下:
1. 新建自定义策略
进入 访问管理策略 页面,单击新建自定义策略
选择创建策略方式:
按策略生成器创建
按策略语法创建
选择按策略生成器创建
在“可视化策略生成器”中选择服务的页面,选择弹性MapReduce (emr),补充以下信息。
效果(必选):选择允许。
服务(必选):选择弹性MapReduce (emr)。
操作(必选):选择添加自定义操作,依次添加Inquir*、Check*、Describe*。
资源(必填):选择全部资源。
单击添加权限,选择标签 (tag),补充以下信息。
效果(必选):选择允许。
服务(必选):选择标签 (tag)。
操作(必选):展开全部操作,依次选中GetTags、DescribeResourceTagsByResourceIds、GetTagKeys和GetTagValues。
资源(必填):选择全部资源。
单击添加权限,选择财务 (finance),补充以下信息。
效果(必选):选择允许。
服务(必选):选择财务 (finance)。
操作(必选):选择全部操作
资源(必填):选择全部资源。
完成策略授权声明编辑后,点击“下一步”,进入基本信息和关联用户/用户组/角色页面。
在关联用户/用户组/角色页面,新建名为 Operator-emr-basic 自定义策略,可同时关联用户/用户组/角色快速授权。
单击完成,完成按策略生成器创建自定义策略的操作。
选择按策略语法创建
选择策略模板时,选择空白模板,单击下一步
新建名为 Operator-emr-basic 自定义策略,将策略内容中原有内容清除后,在策略里面配置如下,创建好之后保存即可。
{
"statement": [
{
"action": [
"tag:GetTags",
"finance:*",
"tag:DescribeResourceTagsByResourceIds",
"tag:GetTagKeys",
"tag:GetTagValues",
"emr:Inquir*",
"emr:Check*",
"emr:Describe*"
],
"effect": "allow",
"resource": [
"*"
]
}
],
"version": "2.0"
}
说明:
EMR演进过程中接口会根据情况做适当调整,不排除后续接口新增时出现操作报错,如遇到权限报错情况,请 提交工单联系我们
为了支持用户创建集群、使用标签并进行标签授权,本策略增加了finance、tag权限,可按需添加。
2. 子账号赋权并验证
在用户列表页面找到要赋权的子用户,单击右侧的授权按钮;新建子用户详细操作请参见 新建子用户
选择自定义策略 Operator-emr-basic,并将其授权给子账号,详情参见授权管理
以子用户身份登录进行验证,用户可以创建和查看EMR集群。

示例3:授权用户创建资源时强制绑定标签权限

下文为您介绍如何让子账号在创建集群时,必须绑定权限策略里面指定的标签键值对才能创建,不绑定标签或者绑定其他标签都会创建失败。可先授权用户 EMR 的查看集群权限,再将以下策略关联到该用户。具体操作步骤如下:
1. 新建自定义策略
进入 访问管理策略 页面,单击新建自定义策略
选择创建策略方式:
按策略语法创建
按标签授权
选择按策略语法创建
选择策略模板时,选择空白模板,单击下一步
新建名为 Operator-emr-request_tag 自定义策略,将策略内容中原有内容清除后,在策略里面配置如下,创建好之后保存即可。
{
"statement": [
{
"action": [
"emr:CreateInstance"
],
"condition": {
"for_any_value:string_equal": {
"qcs:request_tag": [
"App&Dev"
]
}
},
"effect": "allow",
"resource": [
"*"
]
}
],
"version": "2.0"
}
选择按标签授权
在“可视化策略生成器”中选择服务的页面,选择弹性MapReduce (emr),补充以下信息。
效果(必选):选择允许。
服务(必选):选择弹性MapReduce (emr)。
操作(必选):展开全部操作,选中CreateInstance接口。
在选择标签栏,选择标签键(App)和标签值(Dev)。
在选择条件键,选择request_tag,条件运算符选择或(for_any_value)。
是否授予不支持标签的接口"resource": "*"权限,选择
完成策略授权声明编辑后,点击“下一步”,进入基本信息和关联用户/用户组/角色页面。
在关联用户/用户组/角色页面,新建名为 Operator-emr-request_tag 自定义策略,可同时关联用户/用户组/角色快速授权。
单击完成,完成按策略生成器创建自定义策略的操作。
2. 子账号赋权并验证
在用户列表页面找到要赋权的子用户,单击右侧的授权按钮;新建子用户详细操作请参见 新建子用户
选择自定义策略 Operator-emr-basic和Operator-emr-request_tag,并将其授权给子账号,详情参见授权管理
以子用户身份登录进行验证,在不设置标签和不设置对应标签(App&Dev)的情况下,尝试购买EMR集群。
不设置标签情况下,提示无操作权限。
不设置对应标签(App&Dev)情况下,提示无操作权限。
在设置对应标签(App&Dev)情况下,集群创建成功。

示例4:授权用户 EMR 的特定操作权限

下文为您介绍如何授权子账号EMR的扩容节点权限,可先授权用户EMR的查看集群权限,再将以下策略关联到该用户。具体操作步骤如下:
1. 新建自定义策略
进入 访问管理策略 页面,单击新建自定义策略
选择创建策略方式:
按策略生成器创建
按策略语法创建
选择按策略生成器创建
在“可视化策略生成器”中选择服务的页面,选择弹性MapReduce (emr),补充以下信息。
效果(必选):选择允许。
服务(必选):选择弹性MapReduce (emr)。
操作(必选):展开全部操作,选中ScaleOutInstance。
资源(必填):选择全部资源。
完成策略授权声明编辑后,点击“下一步”,进入基本信息和关联用户/用户组/角色页面。
在关联用户/用户组/角色页面,新建名为 Operator-emr-ScaleOutInstance 自定义策略,可同时关联用户/用户组/角色快速授权。
单击完成,完成按策略生成器创建自定义策略的操作。
选择按策略语法创建
选择策略模板时,选择空白模板,单击下一步
新建名为 Operator-emr-ScaleOutInstance 自定义策略(可自行定义),将策略内容中原有内容清除后,在策略里面配置如下,创建好之后保存即可。
{
"statement": [
{
"action": [
"emr:ScaleOutInstance"
],
"effect": "allow",
"resource": [
"*"
]
}
],
"version": "2.0"
}
2. 子账号赋权并验证
在用户列表页面找到要赋权的子用户,单击右侧的授权按钮;新建子用户详细操作请参见 新建子用户
选择自定义策略 Operator-emr-basic和Operator-emr-ScaleOutInstance,并将其授权给子账号,详情参见授权管理
以子用户身份登录进行验证,尝试扩容EMR节点,扩容成功。

示例5:授权用户拥有指定资源的操作权限

下文为您介绍如何授权子账号缩容指定节点权限,可先授权用户 EMR 的查看集群权限,再将以下策略关联到该用户。具体操作步骤如下:
1. 新建自定义策略
进入 访问管理策略 页面,单击新建自定义策略
选择创建策略方式:
按策略生成器创建
按策略语法创建
选择按策略生成器创建
在“可视化策略生成器”中选择服务的页面,选择弹性MapReduce (emr),补充以下信息。
效果(必选):选择允许。
服务(必选):选择弹性MapReduce (emr)。
操作(必选):展开全部操作,选中TerminateNodes。
资源(必填):选择特定资源,例如,对emr-instance添加资源六段式,资源输入emr-12345;对emr-vm添加资源六段式,资源输入emr-vm-12345
完成策略授权声明编辑后,点击“下一步”,进入基本信息和关联用户/用户组/角色页面。
在关联用户/用户组/角色页面,新建名为 Operator-emr-resource-instance 自定义策略,可同时关联用户/用户组/角色快速授权。
单击完成,完成按策略生成器创建自定义策略的操作。
选择按策略语法创建
选择策略模板时,选择空白模板,单击下一步
新建名为 Operator-emr-resource-instance 自定义策略(可自行定义),将策略内容中原有内容清除后,在策略里面配置如下,创建好之后保存即可。
{
"statement": [
{
"action": [
"emr:TerminateNodes"
],
"effect": "allow",
"resource": [
"qcs::emr::uin/12345678:emr-instance/emr-12345",
"qcs::emr::uin/12345678:emr-vm/emr-vm-12345"
]
}
],
"version": "2.0"
}
2. 子账号赋权并验证
在用户列表页面找到要赋权的子用户,单击右侧的授权按钮;新建子用户详细操作请参见 新建子用户
选择自定义策略 Operator-emr-basic和Operator-emr-resource-instance,并将其授权给子账号,详情参见授权管理
以子用户身份登录进行验证,尝试分别缩容节点A(节点ID:emr-vm-12345)和节点B。
缩容节点A,缩容成功。
缩容节点B,提示无操作权限。

示例6:授权用户基于标签的操作权限

下文为您介绍如何授权子账号基于标签的变更节点配置权限,可先授权用户EMR的查看集群权限,再将以下策略关联到该用户。具体操作步骤如下:
1. 新建标签并为集群打上标签。
进入 标签列表页面,单击新建标签。
说明:
此处及后续流程以标签 App 举例。

输入标签键(App)和标签值(Dev),单击确定即可创建成功。
集群列表 页面选择要打标签的集群,单击上方更多操作,单击编辑标签。
编辑标签中选择之前建立的标签 App,单击确定即可。
2. 新建自定义策略。
进入 访问管理策略 页面,单击新建自定义策略
选择按策略语法创建
选择创建策略方式:
按策略语法创建
按标签授权
选择策略模板时,选择空白模板,单击下一步
新建名为 Operator-emr-resource_tag 自定义策略(可自行定义),将策略内容中原有内容清除后,在策略里面配置如下,创建好之后保存即可。
{
"statement": [
{
"action": [
"emr:ModifyResource"
],
"condition": {
"for_any_value:string_equal": {
"qcs:resource_tag": [
"App&Dev"
]
}
},
"effect": "allow",
"resource": [
"*"
]
}
],
"version": "2.0"
}
选择按标签授权
在“可视化策略生成器”中选择服务的页面,选择弹性MapReduce (emr),补充以下信息。
效果(必选):选择允许。
服务(必选):选择弹性MapReduce (emr)。
操作(必选):展开全部操作,选中ModifyResource接口。
在选择标签栏,选择标签键(App)和标签值(Dev)。
在选择条件键,选择resource_tag,条件运算符选择或(for_any_value)。
是否授予不支持标签的接口"resource": "*"权限,选择
完成策略授权声明编辑后,点击“下一步”,进入基本信息和关联用户/用户组/角色页面。
在关联用户/用户组/角色页面,新建名为 Operator-emr-resource_tag 自定义策略,可同时关联用户/用户组/角色快速授权。
单击完成,完成按策略生成器创建自定义策略的操作。
3. 子账号赋权并验证。
在用户列表页面找到要赋权的子用户,单击右侧的授权按钮;新建子用户详细操作请参见 新建子用户
选择自定义策略 Operator-emr-basic和Operator-emr-resource_tag,并将其授权给子账号,详情参见授权管理
以子用户身份登录进行验证,尝试分别变配有标签(App&Dev)的节点和无标签(App&Dev)的节点。
操作有标签(App&Dev)的节点,变配成功。
操作无标签(App&Dev)的节点,提示无操作权限。


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈