配置IAM服务角色以获得 Amazon 对 Amazon 服务和资源的EMR权限 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置IAM服务角色以获得 Amazon 对 Amazon 服务和资源的EMR权限

亚马逊EMR以及诸如 Hadoop 和 Spark 之类的应用程序需要权限才能访问其他 Amazon 资源并在运行时执行操作。Amazon 中的每个集群都EMR必须有一个服务角色和一个用于 Amazon EC2 实例配置文件的角色。有关更多信息,请参阅IAM用户指南中的IAM角色使用实例配置文件。挂载到这些角色的 IAM 策略为集群提供了代表用户与其他 Amazon 服务进行互操作的权限。

如果您的集群在 Amazon 中使用自动扩展,则需要一个额外的角色,即 Auto Scaling 角色EMR。如果您使用EMR笔记本电脑,则需要使用EMR笔记本的 Amazon 服务角色。

Amazon EMR 提供默认角色和默认托管策略,用于确定每个角色的权限。托管策略由创建和维护 Amazon,因此如果服务需求发生变化,它们会自动更新。请参阅《IAM用户指南》中的Amazon 托管策略

如果您是首次在账户中创建集群或笔记本,那么 Amazon 的角色尚EMR不存在。创建它们后,您可以查看角色、挂载到角色的策略以及被 IAM 控制台 (https://console.aws.amazon.com/iam/) 中的策略允许或拒绝的权限。您可以为 Amazon 指定EMR要创建和使用的默认角色,可以创建自己的角色并在创建集群时单独指定角色以自定义权限,也可以使用指定创建集群时要使用的默认角色 Amazon CLI。有关更多信息,请参阅 使用 Amazon 自定义IAM角色 EMR

修改基于身份的策略以获得向 Amazon 传递服务角色的权限 EMR

Amazon EMR 完全权限默认托管策略包含iam:PassRole安全配置,包括:

  • iam:PassRole权限仅适用于特定的默认 Amazon EMR 角色。

  • iam:PassedToService允许您仅将策略用于指定 Amazon 服务(例如elasticmapreduce.amazonaws.com和)的条件ec2.amazonaws.com

您可以在控制台中查看 A mazonEMRFull AccessPolicy _v2 和 A p mazonEMRService olicy_v2 策略的JSON版本。IAM建议您使用 v2 托管式策略创建新的集群。

服务角色摘要

下表列出了与 Amazon 关联的IAM服务角色EMR以供快速参考。

函数 默认角色 描述 默认托管式策略

Amazon 的服务角色EMR(EMR角色)

EMR_DefaultRole_V2

允许 Amazon EMR 在配置资源和执行 Amazon 服务级别操作时代表您调用其他服务。所有集群都需要该角色。

AmazonEMRServicePolicy_v2

重要

请求竞价型实例需要服务相关角色。如果此角色不存在,则 Amazon EMR 服务角色必须具有创建该角色的权限,否则会出现权限错误。如果您计划请求竞价型实例,您必须更新此策略,以包含一个允许创建此服务相关角色的语句。有关更多信息,请参阅 Amazon 的服务角色EMR(EMR角色) Amazon EC2 用户指南中的竞价型实例请求的服务相关角色

集群EC2实例的服务角色(EC2实例配置文件)

EMR_EC2_DefaultRole

在集群实例上运行在 Hadoop 生态系统之上的应用程序进程在调用其他 Amazon 服务时会使用此角色。要使用访问 Amazon S3 中的数据EMRFS,您可以根据数据在 Amazon S3 中的位置指定要扮演的不同角色。例如,多个团队可以访问单个 Amazon S3 数据“存储账户”。有关更多信息,请参阅为向 Amazon S3 发出的EMRFS请求配置IAM角色。所有集群都需要该角色。

AmazonElasticMapReduceforEC2Role(有关更多信息,请参阅 集群EC2实例的服务角色(EC2实例配置文件)。)

在亚马逊中用于自动扩展的服务角色EMR(Auto Scaling 角色)

EMR_AutoScaling_DefaultRole

允许用于动态扩展环境的其它操作。只有在 Amazon 中使用自动扩展功能的集群才是必需EMR的。有关更多信息,请参阅 在 Amazon 中使用带有自定义策略的自动扩展实例组 EMR

AmazonElasticMapReduceforAutoScalingRole(有关更多信息,请参阅 在亚马逊中用于自动扩展的服务角色EMR(Auto Scaling 角色)。)

EMR笔记本电脑的服务角色

EMR_Notebooks_DefaultRole

提供EMR笔记本访问其他 Amazon 资源和执行操作所需的权限。仅在使用EMR笔记本电脑时才需要。

AmazonElasticMapReduceEditorsRole(有关更多信息,请参阅 EMR笔记本电脑的服务角色。)

默认情况下也附加 S3FullAccessPolicy。本策略的内容如下所示。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": "*" } ] }

服务相关角色

AWSServiceRoleForEMRCleanup

Amazon 会EMR自动创建服务相关角色。如果亚马逊EMR服务无法清理亚马逊EC2资源,亚马逊EMR可以使用此角色进行清理。如果集群使用竞价型实例,则附加到 Amazon 的服务角色EMR(EMR角色)的权限策略必须允许创建服务相关角色。有关更多信息,请参阅 使用适用于 Amazon 的服务相关角色 EMR

AmazonEMRCleanupPolicy