You need to enable JavaScript to run this app.
导航
EMR服务角色
最近更新时间:2024.03.19 11:38:46首次发布时间:2024.03.19 11:38:46

首次使用EMR时,需要使用火山引擎账号为EMR服务授权名为 ServicefRoleForEMR 和 VEECSforEMRRole服务角色,该角色允许EMR服务在配置资源或执行服务级别操作时调用其他火山引擎服务。例如,服务角色用于在EMR集群初始化中创建ECS实例。

1 注意事项

  • E-MapReduce为确定权限的角色提供默认角色和系统预设策略。

  • 系统策略由火山引擎创建和维护,无法修改,如果服务要求发生变化,策略会自动更新。

  • 为了避免影响EMR服务的稳定性,不要IAM控制台上删除服务角色

2 服务角色和权限策略

2.1 ServicefRoleForEMR

名称(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添加桶标签

2.2 VEECSforEMRRole

该角色在EMR集群创建和扩容时,自动分配给EMR集群中的每个ECS实例,以实现免密的方式访问同账号下的其他资源,如对象存储TOS、日志服务TLS等,避免在配置文件中暴露Accesskey的风险。

名称(Action)说明
tos:PutObject上传文件或文件夹对象。
tos:GetObject获取文件或文件夹对象。
tos:ListObjects查询文件列表信息。
tos:DeleteObject删除某个文件。

创建集群时可以指定该ECS应用角色,当前默认是VEECSforEMRRole,您也可以使用在访问控制中自定义的角色,通过给角色不同的权限策略,以限制集群访问外部资源的权限,例如,您可以进行如下操作:

  • 指定集群只能访问指定TOS的数据目录

  • 指定集群访问指定的外部资源