阿里云E-MapReduce服务(例如Hadoop和Spark),在运行时需要有访问其他阿里云资源和执行操作的权限。每个E-MapReduce集群必须有服务角色以及ECS应用角色。本文为您介绍EMR角色授权的流程及其关联的角色。

背景信息

阿里云E-MapReduce为确定权限的角色提供默认角色和默认系统策略。系统策略由阿里云创建和维护,因此如果服务要求发生变化,策略会自动更新。

首次使用E-MapReduce服务时,您需要使用阿里云账号为E-MapReduce服务授权名为AliyunEMRDefaultRole、AliyunECSInstanceForEMRRole或AliyunEmrEcsDefaultRole的服务角色。授权成功后,您可以在RAM控制台上查看角色,并为角色挂载策略。角色详细信息,请参见 RAM角色概览
重要
  • E-MapReduce不同版本需要授权的服务角色名称不同:
    • EMR-3.32.0及之前版本和EMR-4.5.0及之前版本:AliyunEmrEcsDefaultRole
    • EMR-3.32.0之后版本和EMR-4.5.0之后版本:AliyunECSInstanceForEMRRole
  • 首次使用E-MapReduce服务时,必须使用阿里云账号完成默认角色授权,否则RAM用户和阿里云账号不能使用E-MapReduce。
  • 如果删除服务角色,请确保使用该角色的资源已经释放,否则会影响资源的正常使用。
  • 如果只授权了部分角色,E-MapReduce控制台会提醒授权,只有在全部角色授权完成之后才可以创建集群。

角色授权流程

本流程以EMR-3.30版本为例。

  1. 登录EMR on ECS控制台,单击点击前往RAM进行授权
    说明 首次使用E-MapReduce服务时需要授权,授权成功后,再次使用无需重复授权。
    如果未正确地给E-MapReduce的服务账号授予默认角色,则在创建集群或创建按需执行计划时,会弹出如下提示。 角色授权
  2. 单击同意授权,将默认角色AliyunEMRDefaultRoleAliyunEmrEcsDefaultRole授予给E-MapReduce服务。
    RAM授权
  3. 完成以上授权后,您需要刷新E-MapReduce控制台,即可进行相关操作。
    如果您想查看 AliyunEMRDefaultRoleAliyunEmrEcsDefaultRole相关的详细策略信息,您可以登录 RAM的控制台查看。

服务角色

下表列出了与E-MapReduce关联的RAM角色。
属性 默认角色 描述 系统策略
EMR服务角色 AliyunEMRDefaultRole 允许E-MapReduce服务在配置资源和执行服务级别操作时调用其他阿里云服务。所有集群都需要该角色,且不能更改。

详情请参见EMR服务角色

AliyunEMRRolePolicy
ECS应用角色(EMR 3.32及之前版本和EMR 4.5及之前版本) AliyunEmrEcsDefaultRole

集群实例上运行的应用程序进程在调用其他阿里云服务时将使用该角色。在创建集群时既可以使用该服务角色,也可以使用自定义的角色。

AliyunEmrEcsDefaultRole角色,详情请参见ECS应用角色(EMR 3.32及之前版本和EMR 4.5及之前版本)

AliyunEMRECSRolePolicy
ECS应用角色(EMR 3.32之后版本和EMR 4.5之后版本) AliyunECSInstanceForEMRRole

集群实例上运行的应用程序进程在调用其他阿里云服务时将使用该角色。在创建集群时既可以使用该服务角色,也可以使用自定义的角色。

AliyunECSInstanceForEMRRole角色,详情请参见ECS应用角色(EMR 3.32之后版本和EMR 4.5之后版本)

AliyunECSInstanceForEMRRolePolicy
ECS应用角色(EMR Studio默认使用) AliyunECSInstanceForEMRStudioRole EMR Studio使用此角色来访问您在其他云产品中的资源。

当您的账号未授权该角色,首次创建EMR Studio集群时会弹出授权该角色窗口,请使用阿里云账号授权该角色。

AliyunECSInstanceForEMRStudioRolePolicy