创建MRS IAM自定义权限策略
如果系统预置的MRS权限,不满足您的授权要求,可以创建自定义策略。自定义策略中可以添加的授权项(Action)请参考策略及授权项说明。
目前支持以下两种方式创建自定义策略:
- 可视化视图创建自定义策略:无需了解策略语法,按可视化视图导航栏选择云服务、操作、资源、条件等策略内容,可自动生成策略。
- “云服务”:MapReduce服务 (MRS)
- “操作”:根据您的需求进行选择。
- “选择资源(可选)”:“资源”选择“特定资源”,“cluster”选择“通过资源路径指定”时,“路径”为指定MRS集群的集群ID信息,详情可参考MRS资源对象说明。
- JSON视图创建自定义策略:可以在选择策略模板后,根据具体需求编辑策略内容;也可以直接在编辑框内编写JSON格式的策略内容。
具体创建步骤请参见:创建自定义策略

修改自定义策略后,权限不会立即生效,大概需要等待15分钟,权限才会自动生效。
本章为您介绍常用的MRS自定义策略样例。
MRS自定义策略样例
- 示例1:授权用户仅有创建MRS集群的权限。
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "mrs:cluster:create", "ecs:*:*", "bms:*:*", "evs:*:*", "vpc:*:*", "smn:*:*" ] } ] }
- 示例2:授权用户具有调整MRS集群的权限。
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "mrs:cluster:resize" ] } ] }
- 示例3:授权用户创建集群、创建并执行作业、删除单个作业,但不允许用户删除集群的权限。
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "mrs:cluster:create", "mrs:job:submit", "mrs:job:delete" ] }, { "Effect": "Deny", "Action": [ "mrs:cluster:delete" ] } ] }
- 示例4:授权用户最小权限,创建ECS规格的MRS集群。
- 创建集群时如果使用密钥对,需增加权限“ecs:serverKeypairs:get”和“ecs:serverKeypairs:list”。
- 创集群时使用数据盘加密,需增加权限“kms:cmk:list”。
- 创建集群时开启告警功能,需增加权限“mrs:alarm:subscribe”。
- 创建集群时使用外置数据源,需增加权限“rds:instance:list”。
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "mrs:cluster:create" ] }, { "Effect": "Allow", "Action": [ "ecs:cloudServers:updateMetadata", "ecs:cloudServerFlavors:get", "ecs:cloudServerQuotas:get", "ecs:servers:list", "ecs:servers:get", "ecs:cloudServers:delete", "ecs:cloudServers:list", "ecs:serverInterfaces:get", "ecs:serverGroups:manage", "ecs:servers:setMetadata", "ecs:cloudServers:get", "ecs:cloudServers:create" ] }, { "Effect": "Allow", "Action": [ "vpc:securityGroups:create", "vpc:securityGroupRules:delete", "vpc:vpcs:create", "vpc:ports:create", "vpc:securityGroups:get", "vpc:subnets:create", "vpc:privateIps:delete", "vpc:quotas:list", "vpc:networks:get", "vpc:publicIps:list", "vpc:securityGroups:delete", "vpc:securityGroupRules:create", "vpc:privateIps:create", "vpc:ports:get", "vpc:ports:delete", "vpc:publicIps:update", "vpc:subnets:get", "vpc:publicIps:get", "vpc:ports:update", "vpc:vpcs:list" ] }, { "Effect": "Allow", "Action": [ "evs:quotas:get", "evs:types:get" ] }, { "Effect": "Allow", "Action": [ "bms:serverFlavors:get" ] } ] }
- 示例5:授权用户最小权限,创建BMS规格的MRS集群。
- 创建集群时如果使用密钥对,需增加权限“ecs:serverKeypairs:get”和“ecs:serverKeypairs:list”。
- 创集群时使用数据盘加密,需增加权限“kms:cmk:list”。
- 创建集群时开启告警功能,需增加权限“mrs:alarm:subscribe”。
- 创建集群时使用外置数据源,需增加权限“rds:instance:list”。
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "mrs:cluster:create" ] }, { "Effect": "Allow", "Action": [ "ecs:servers:list", "ecs:servers:get", "ecs:cloudServers:delete", "ecs:serverInterfaces:get", "ecs:serverGroups:manage", "ecs:servers:setMetadata", "ecs:cloudServers:create", "ecs:cloudServerFlavors:get", "ecs:cloudServerQuotas:get" ] }, { "Effect": "Allow", "Action": [ "vpc:securityGroups:create", "vpc:securityGroupRules:delete", "vpc:vpcs:create", "vpc:ports:create", "vpc:securityGroups:get", "vpc:subnets:create", "vpc:privateIps:delete", "vpc:quotas:list", "vpc:networks:get", "vpc:publicIps:list", "vpc:securityGroups:delete", "vpc:securityGroupRules:create", "vpc:privateIps:create", "vpc:ports:get", "vpc:ports:delete", "vpc:publicIps:update", "vpc:subnets:get", "vpc:publicIps:get", "vpc:ports:update", "vpc:vpcs:list" ] }, { "Effect": "Allow", "Action": [ "evs:quotas:get", "evs:types:get" ] }, { "Effect": "Allow", "Action": [ "bms:servers:get", "bms:servers:list", "bms:serverQuotas:get", "bms:servers:updateMetadata", "bms:serverFlavors:get" ] } ] }
- 示例6:授权用户最小权限,创建ECS和BMS混合集群。
- 创建集群时如果使用密钥对,需增加权限“ecs:serverKeypairs:get”和“ecs:serverKeypairs:list”。
- 创集群时使用数据盘加密,需增加权限“kms:cmk:list”。
- 创建集群时开启告警功能,需增加权限“mrs:alarm:subscribe”。
- 创建集群时使用外置数据源,需增加权限“rds:instance:list”。
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "mrs:cluster:create" ] }, { "Effect": "Allow", "Action": [ "ecs:cloudServers:updateMetadata", "ecs:cloudServerFlavors:get", "ecs:cloudServerQuotas:get", "ecs:servers:list", "ecs:servers:get", "ecs:cloudServers:delete", "ecs:cloudServers:list", "ecs:serverInterfaces:get", "ecs:serverGroups:manage", "ecs:servers:setMetadata", "ecs:cloudServers:get", "ecs:cloudServers:create" ] }, { "Effect": "Allow", "Action": [ "vpc:securityGroups:create", "vpc:securityGroupRules:delete", "vpc:vpcs:create", "vpc:ports:create", "vpc:securityGroups:get", "vpc:subnets:create", "vpc:privateIps:delete", "vpc:quotas:list", "vpc:networks:get", "vpc:publicIps:list", "vpc:securityGroups:delete", "vpc:securityGroupRules:create", "vpc:privateIps:create", "vpc:ports:get", "vpc:ports:delete", "vpc:publicIps:update", "vpc:subnets:get", "vpc:publicIps:get", "vpc:ports:update", "vpc:vpcs:list" ] }, { "Effect": "Allow", "Action": [ "evs:quotas:get", "evs:types:get" ] }, { "Effect": "Allow", "Action": [ "bms:servers:get", "bms:servers:list", "bms:serverQuotas:get", "bms:servers:updateMetadata", "bms:serverFlavors:get" ] } ] }
MRS资源对象说明
资源是服务中存在的对象,在MRS中资源包括cluster,您可以在创建自定义策略的时候,通过指定资源路径来选择特定的资源。
指定资源 |
资源名称 |
资源路径 |
---|---|---|
cluster |
集群 |
【格式】 MRS:*:*:cluster:集群ID 【说明】 授予IAM用户特定资源的相应权限,例如授予IAM用户指定MRS集群的权限,需将cluster设置为通过资源路径指定,然后添加资源路径,通过集群ID指定具体的集群。 集群ID查看步骤:
|