首次使用EMR时,需要使用火山引擎账号为EMR服务授权名为 ServicefRoleForEMR 和 VEECSforEMRRole服务角色,该角色允许EMR服务在配置资源或执行服务级别操作时调用其他火山引擎服务。例如,服务角色用于在EMR集群初始化中创建ECS实例。
E-MapReduce为确定权限的角色提供默认角色和系统预设策略。
系统策略由火山引擎创建和维护,无法修改,如果服务要求发生变化,策略会自动更新。
为了避免影响EMR服务的稳定性,不要IAM控制台上删除服务角色
名称(Action) | 说明 |
---|---|
ecs:CreateInstances | 调用 CreateInstances 接口创建一台或多台云服务器实例。 |
ecs:CreateScheduledInstances | 调用 CreateScheduledInstances 接口创建云服务器实例预约单。 |
ecs:DescribeScheduledInstances | 调用 DescribeScheduledInstances 接口查询云服务器实例预约单。 |
ecs:DeleteScheduledInstance | 调用 DeleteScheduledInstance 接口删除云服务器实例预约单。 |
ecs:DescribeAvailableResource | 查询云服务器可用区资源 |
ecs:RunInstances | 调用 RunInstances 接口创建一台或多台云服务器实例。 |
ecs:DescribeInstances | 调用 DescribeInstances 接口获取实例信息。 |
ecs:StartInstance | 调用 StartInstance 接口启动一台实例。 |
ecs:StopInstance | 调用 StopInstance 接口关闭一台实例。 |
ecs:DeleteInstance | 调用 StopInstance 接口删除一台实例。 |
ecs:DeleteInstances | 调用 StopInstances 接口删除多台实例。 |
ecs:BindAssumeRole | 调用 BindAssumeRole 接口为多台实例绑定角色。 |
ecs:AssociateInstancesIamRole | 调用 AssociateInstancesIamRole 接口为多台实例绑定角色。 |
ecs:UnbindAssumeRole | 调用 UnbindAssumeRole 接口为多台实例解绑角色。 |
ecs:ListAssumeRoles | 调用 ListAssumeRoles 接口查询实例已绑定角色。 |
ecs:ModifyInstanceChargeType | 调用 ModifyInstanceChargeType 接口将指定实例的计费模式由“按量计费”变更为“包年包月计费” |
ecs:DescribeInstanceTypes | 查询实例规格列表 |
ecs:ModifyInstanceAttribute | 调用 ModifyInstanceAttribute 接口修改一台云服务器实例的信息。 |
ecs:ReplaceSystemVolume | 调用 ReplaceSystemVolume 为一台ECS实例重装系统。 |
ecs:CreateTags | 调用 CreateTags 接口为一个或多个资源添加用户标签 |
ecs:DeleteTags | 调用 DeleteTags 接口为一个或多个资源删除用户标签 |
ecs:CreateDeploymentSet | 调用 CreateDeploymentSet 接口在指定地域内创建一个部署集。 |
ecs:DescribeDeploymentSets | 调用 DescribeDeploymentSets 接口查询部署集的属性。 |
ecs:DescribeDeploymentSetSupportedInstanceTypeFamily | 调用 DescribeDeploymentSetSupportedInstanceTypeFamily 接口查询支持部署集的实例规格族。 |
ecs:DeleteDeploymentSet | 调用 DeleteDeploymentSet 接口删除一个部署集。 |
ecs:DescribeSystemEvents | 调用 DescribeSystemEvents 接口查询实例的系统事件信息。 |
ecs:ModifyInstanceSpec | 修改实例规格 |
ecs:DescribeZones | 调用 DescribeZones 接口查询一个地域下的可用区信息。 |
ecs:DescribeImages | 调用 DescribeImages 接口查询镜像信息。 |
storage_ebs:ServiceCreateVolumePreorder | 创建云盘创建预购单 |
storage_ebs:ServiceExtendVolumePreorder | 创建云盘扩容预购单 |
storage_ebs:ServiceTerminateVolumePreorder | 创建云盘退订预购单 |
storage_ebs:ListVolumeTypes | 查询云盘规格类型 |
storage_ebs:DescribeVolumes | 查询云盘属性 |
storage_ebs:InnerCreateTags | 添加云盘标签 |
storage_ebs:DeleteTag | 删除云盘标签 |
Volc_Observe:ListAlertGroup | 查看高级组 |
Volc_Observe:GetMetricData | 查询指标数据 |
vpc:AllocateEipAddress | 创建弹性公网地址 |
vpc:AssociateEipAddress | 分配弹性公网地址 |
vpc:CreateVpc | 创建Vpc |
vpc:CreateSubnet | 创建子网 |
vpc:CreateSecurityGroup | 创建安全组 |
vpc:ConvertEipAddressBillingType | 转发弹性公网地址计费类型 |
vpc:DescribeEipAddresses | 查询弹性公网地址属性 |
vpc:DescribeSecurityGroupAttributes | 查询安全组属性 |
vpc:DescribeVpcAttributes | 查询Vpc属性 |
vpc:DescribeSubnetAttributes | 查询子网属性 |
vpc:ReleaseEipAddress | 释放弹性公网地址 |
vpc:DisassociateEipAddress | 解绑弹性公网地址 |
vpc:InnerCreateEipAddressPreOrder | 创建弹性公网地址创建预购单 |
vpc:InnerConvertEipAddressBillingTypePreOrder | 创建弹性公网地址计费转换预购单 |
vpc:CreateHaVip | 创建高可用虚拟地址 |
vpc:ModifyHaVipAttributes | 修改高可用虚拟地址属性 |
vpc:DeleteHaVip | 删除高可用虚拟地址 |
vpc:AssociateHaVip | 绑定高可用虚拟地址 |
vpc:DisassociateHaVip | 解绑高可用虚拟地址 |
vpc:DescribeHaVips | 描述高可用虚拟地址 |
vpc:AuthorizeSecurityGroupIngress | 调用AuthorizeSecurityGroupIngress,为指定安全组增加一条入方向的规则。 |
vpc:RevokeSecurityGroupIngress | 调用RevokeSecurityGroupIngress,删除一条安全组入方向规则,可同时撤销安全组入方向的权限设置。 |
vpc:DescribeSecurityGroupAttribute | 查询安全组属性 |
vpc:TagResources | 调用TagResources接口,为资源添加用户标签。 |
vpc:UntagResources | 调用TagResources接口,为资源删除用户标签。 |
vpc:DescribeVpcs | 调用DescribeVpcs接口,查询满足指定条件的VPC |
vpc:DescribeSubnets | 调用DescribeSubnets,查询指定子网的列表。 |
vpc:DescribeSecurityGroups | 调用DescribeSecurityGroups,查询安全组的基本信息。 |
iam:GetUser | 查询用户信息。 |
iam:ListUsers | 获取账号内全部用户列表。 |
iam:GetGroup | 查询用户组详情。 |
iam:ListGroups | 获取用户组列表。 |
iam:GetRole | 查询角色详情 |
iam:ListRoles | 获取角色列表。 |
iam:GetPolicy | 查询策略详情。 |
iam:ListPolicies | 获取账号内的全部策略列表。 |
iam:ListProjects | 获取账号内的项目列表 |
iam:ListProjectResources | 获取项目内的资源列表 |
iam:ListProjectIdentities | 获取项目授权对象列表 |
iam:MoveProjectResource | 移动项目资源 |
iam:CreateRole | 创建角色 |
iam:ListAttachedRolePolicies | 获取角色关联权限 |
dataleap:StudioReleaseEngine | 通知dataleap集群释放 |
rds_mysql:DescribeDBInstanceConnection | 描述数据库链接 |
rds_mysql:CreateDatabase | 创建数据库 |
rds_mysql:GrantAccountPrivilege | 获取数据库账号权限 |
rds_mysql:CreateAccount | 创建数据库账号 |
rds_mysql:ListAccounts | 查询数据库账号 |
rds_mysql:ListDatabases | 查询数据库 |
rds_mysql:CreateDBInstanceIPList | 创建数据库白名单列表 |
rds_mysql:ModifyDBInstanceIPList | 修改数据库白名单列表 |
rds_mysql:DeleteDBInstanceIPList | 删除数据库白名单列表 |
rds_mysql:ModifyInstanceParams | 修改数据库属性 |
rds_mysql:ListDBInstances | 查询数据库列表 |
rds_mysql:ListDBInstanceIPLists | 查询数据库白名单列表 |
rds_mysql:DescribeDBInstance | 查询数据库实例 |
rds_mysql:DescribeDBInstanceDetail | 查询数据库实例详情 |
rds_mysql:DeleteDatabase | 删除数据库 |
rds_mysql:DeleteAccount | 删除数据库账号 |
rds_mysql:CreateAllowList | 创建数据库白名单 |
rds_mysql:DescribeAllowLists | 查询数据库白名单 |
rds_mysql:DescribeAllowListDetail | 查询数据库白名单详情 |
rds_mysql:ModifyAllowList | 修改数据库白名单 |
rds_mysql:AssociateAllowList | 管理数据库白名单 |
rds_mysql:DisassociateAllowList | 解绑数据库白名单 |
rds_mysql:DeleteAllowList | 删除数据库白名单 |
rds_mysql:UpgradeAllowListVersion | 升级数据库白名单版本 |
cfs:ListFs | 查询大数据文件存储 |
dbw:DataCloseSession | 关闭数据库会话 |
dbw:DataConnectInstance | 创建数据库会话 |
tos:GetObject | 获取桶对象 |
tos:GetObjectVersion | 获取桶对象版本 |
tos:GetBucketTagging | 获取桶标签 |
tos:PutBucketTagging | 添加桶标签 |
该角色在EMR集群创建和扩容时,自动分配给EMR集群中的每个ECS实例,以实现免密的方式访问同账号下的其他资源,如对象存储TOS、日志服务TLS等,避免在配置文件中暴露Accesskey的风险。
名称(Action) | 说明 |
---|---|
tos:PutObject | 上传文件或文件夹对象。 |
tos:GetObject | 获取文件或文件夹对象。 |
tos:ListObjects | 查询文件列表信息。 |
tos:DeleteObject | 删除某个文件。 |
创建集群时可以指定该ECS应用角色,当前默认是VEECSforEMRRole,您也可以使用在访问控制中自定义的角色,通过给角色不同的权限策略,以限制集群访问外部资源的权限,例如,您可以进行如下操作:
指定集群只能访问指定TOS的数据目录
指定集群访问指定的外部资源