Amazon EMR 托管策略 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

Amazon EMR 托管策略

授予对所需 Amazon EMR 操作的完全访问权限或只读访问权限的最简单方式是使用 Amazon EMR 的 IAM 托管策略。托管策略提供了在权限要求发生更改时自动更新的好处。如果您使用内联策略,则可能出现导致权限错误的服务更改。

Amazon EMR 将于 2021 年 5 月 1 日弃用现有托管策略,以支持新的托管策略(v2 策略)。新的托管策略已缩小范围,以便与Amazon最佳实践。2021 年 5 月 1 日之后,您将无法将这些策略附加到任何新的 IAM 角色或用户。现有角色和使用弃用策略的用户可以继续使用它们。v2 托管策略仅允许指定的 Amazon EMR 操作,并且需要使用特定于 EMR 的密钥进行标记的群集资源。我们建议您在使用新的 v2 策略之前仔细阅读文档。

v1 策略将被标记为已弃用,在策略列表。不建议使用的策略具有以下特征:

  • 他们将继续为所有当前附加的用户、组和角色工作。什么都不会中断。

  • 这些策略不能附加到新的用户、组或角色。如果从当前实体分离策略,则不能重新附加。

  • 在与所有当前实体分离 v1 策略之后,策略将不再显示,并且再不能使用。

下表总结了当前策略与 v2 策略之间的变更。

EMR 托管策略更改
策略类型 策略名称 A. 政策宗旨 对 v2 策略的更改

默认 IAM 托管策略,用于按连接的用户、角色或组进行完全 EMR 访问

不建议使用的策略名称:AmazonElasticMapReduceFullAccess

v2(范围)策略名称:AmazonEMRFullAccessPolicy_v2

允许用户执行 EMR 操作的完全权限。包括 IAM:资源的通行角色权限。

策略添加了一个先决条件,即用户必须将用户标记添加到资源,然后才能使用此策略。请参阅 标记资源以使用托管策略

IAM:通行角色操作需要将 IAM:传送到服务条件设置为指定的服务。默认情况下,不允许访问 Amazon EC2、Amazon S3 和其他服务。请参阅用于完全访问的 IAM 托管策略(v2 托管默认策略).

IAM 托管策略,用于按附加用户、角色或组进行只读访问

不建议使用的策略名称:AmazonElasticMapReduceReadOnlyAccess

v2(范围)策略名称:AmazonEMRReadOnlyAccessPolicy_v2

允许用户执行 Amazon EMR 操作的只读权限。

权限只允许指定的弹性映射减少只读操作。默认情况下不允许对 Amazon S3 的访问。请参阅面向只读访问的 IAM 托管策略(v2 托管默认策略).

默认 EMR 服务角色和附加的托管策略

角色名:EMR_DefaultRole

不建议使用的策略名称: AmazonElasticMapReduceRole(EMR 服务角色)

V2(范围缩小)策略名称:AmazonEMRServicePolicy_v2

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

v2 服务角色和 v2 默认策略将替换过时的角色和策略。该策略添加了一个先决条件,即用户必须将用户标记添加到资源,然后才能使用此策略。请参阅 标记资源以使用托管策略。请参阅 亚马逊 EMR 的服务角色(EMR 角色)

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

不建议使用的角色名称:EMR_EC2_ 违约行为(实例配置文件)

不建议使用的策略名称: AmazonElasticMapReduceforEC2Role

允许 EMR 群集上运行的应用程序访问其他Amazon资源(例如 Amazon S3)。例如,如果您运行处理来自 Amazon S3 的数据的 Apache Spark 作业,则策略需要允许访问此类资源。

默认角色和默认策略都位于弃用的路径上。没有替换Amazon默认托管角色或策略。您需要提供基于资源的策略或基于身份的策略。这意味着,默认情况下,EMR 群集上运行的应用程序无法访问 Amazon S3 或其他资源,除非您手动将这些应用程序添加到策略中。请参阅 默认角色和托管策略

其他 EC2 服务角色策略

当前策略名称:AmazonElasticMapReduceforAutoScalingRole、AmazonElasticMapReduceEditorsRole、AmazonEMRCleanupPolicy

提供 EMR 访问其他Amazon资源并在使用自动扩展、笔记本电脑或清理 EC2 资源时执行操作。

对 v2 没有任何更改。

保护 IAM 的安全性:PassRole

Amazon EMR 完全权限默认托管策略 (AmazonEMRFullAccessPolicy_v2)和亚马逊 EMR 服务政策(AmazonEMRServicePolicy_v2)可用于替换即将弃用的策略。v2 策略包含了新的 IAM:通行角色安全配置,包括以下内容:

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

  • iam:PassedToService条件,这些条件允许您将策略仅用于指定Amazon服务,例如elasticmapreduce.amazonaws.comec2.amazonaws.com.

您可以查看 JSON 版本的卓越亚马逊完整配件 _v2亚马逊服务政策 _v2IAM 控制台中的策略。

建议您使用 v2 托管策略创建新的集群。

要创建自定义策略,建议您从托管策略开始,然后根据您的需求编辑这些策略。

有关如何将策略附加到 IAM 用户(委托人)的信息,请参阅使用托管策略Amazon Web Services Management Console中的IAM 用户指南.

标记资源以使用托管策略

亚马逊服务策略 v2 和卓越亚马逊完全访问权限 2 取决于对亚马逊 EMR 配置或使用的资源的范围缩小访问权限。当您使用这两个策略中的任何一个策略时,您需要传递用户标记for-use-with-amazon-emr-managed-policies = true置备群集时。然后,亚马逊 EMR 将自动传播该标签。此外,您需要手动将用户标记添加到下一节中列出的资源。

必须先执行以下操作才能使用托管策略:

  • 传递用户标记for-use-with-amazon-emr-managed-policies = true使用 CLI、SDK 或其他方法置备集群时。

    当您传递标签时,Amazon EMR 会将标签传播到它创建的私有子网 ENI、EC2 实例和 EBS 卷。Amazon EMR 还会自动为其创建的安全组添加标签。但是,如果您希望 Amazon EMR 与特定安全组一起启动,则必须对其进行标记。

  • 手动标记某些资源。

    您必须标记 EC2 子网、EC2 安全组(如果不是由 Amazon EMR 创建的话)和 VPC(如果您希望 EMR 创建安全组)。

传播的用户指定的标记

Amazon EMR 使用您在创建集群时指定的 Amazon EMR 标签来标记其创建的资源。Amazon EMR 将标签应用于它在集群生命周期内创建的资源。

Amazon EMR 传播以下资源的用户标签:

  • 私有子网 ENI(服务访问弹性网络接口)

  • EC2 实例

  • EBS 卷

  • EC2 启动模板

自动标记的安全组

Amazon EMR 使用 Amazon EMR 的 v2 托管策略所需的标签来标记创建的 EC2 安全组,for-use-with-amazon-emr-managed-policies,而不管您在 create cluster 命令中指定了哪些标签。对于在引入 v2 托管策略之前创建的安全组,Amazon EMR 不会自动标记该安全组。如果要将 v2 托管策略与帐户中已存在的默认安全组一起使用,则需要使用for-use-with-amazon-emr-managed-policies = true.

手动标记的群集资源

您必须手动标记某些群集资源,以便 Amazon EMR 默认角色可以访问这些资源。

  • 您必须使用 Amazon EMR 托管策略标记手动标记 EC2 安全组和 EC2 子网for-use-with-amazon-emr-managed-policies.

  • 如果您希望 Amazon EMR 创建默认安全组,则必须手动标记 VPC。如果默认安全组不存在,EMR 将尝试使用特定标记创建安全组。

亚马逊 EMR 会自动标记以下资源:

  • EMR 创建的 EC2 安全组

您必须手动为以下资源添加标签:

  • EC2 子网

  • EC2 安全组

(可选)您可以手动为以下资源添加标签:

  • VPC-仅当您希望 Amazon EMR 创建安全组时

AmazonAmazon EMR 的托管策略

要向用户、组和角色添加权限,与自己编写策略相比,使用 Amazon 托管策略更简单。创建仅为团队提供所需权限的 IAM 客户托管策略需要时间和专业知识。要快速入门,您可以使用我们的 Amazon 托管策略。这些策略涵盖常见使用案例,可在您的 Amazon 账户中使用。有关 Amazon 托管策略的更多信息,请参阅《IAM 用户指南》中的 Amazon 托管策略

Amazon服务负责维护和更新Amazon托管策略。您无法更改Amazon托管策略中的权限。服务偶尔会向Amazon托管策略添加额外权限以支持新功能。此类更新会影响附加策略的所有身份(用户、组和角色)。当启动新功能或新操作可用时,服务最有可能会更新Amazon托管策略。服务不会从Amazon托管策略中删除权限,因此策略更新不会破坏您的现有权限。

此外,Amazon还支持跨多种服务的工作职能的托管策略。例如,ReadOnlyAccess Amazon 托管策略提供对所有 Amazon 服务和资源的只读访问权限。当服务启动新功能时,Amazon会为新操作和资源添加只读权限。有关工作职能策略的列表和说明,请参阅《IAM 用户指南》中的适用于工作职能的 Amazon 托管策略

Amazon EMR 更新到Amazon托管策略

查看有关更新的详细信息Amazon托管策略,因为此服务开始跟踪这些更改。有关此页面更改的提示,请订阅 Amazon EMR 文档历史记录页面上的 RSS 源。

更改 说明 日期

AmazonEMRFullAccessPolicy_v2— 对现有策略的更新

删除了无效的操作 S3:列表存储桶并替换为 S3:列出我的存储桶操作。

更新了与服务关联的角色 (SLR) 创建,以明确划分为 Amazon EMR 具有明确服务原则的唯一 SLR。可以创建的 SLR 与此更改之前完全相同。

2021 年 3 月 23 日

AmazonEMRFullAccessPolicy_v2— 新策略

Amazon EMR 添加了新的权限,以确定对资源的访问范围,并添加了一个先决条件,即用户必须在资源中添加预定义的用户标签,然后才能使用 Amazon EMR 托管策略。

IAM:通行角色操作需要将 IAM:传送到服务条件设置为指定的服务。默认情况下,不允许访问 Amazon EC2、Amazon S3 和其他服务。

2021 年 3 月 11 日
AmazonEMRServicePolicy_v2— 新策略

添加一个先决条件,即用户必须将用户标记添加到资源,然后才能使用此策略。

2021 年 3 月 11 日
AmazonEMRReadOnlyAccessPolicy_v2— 新策略

权限只允许指定的弹性映射减少只读操作。默认情况下不允许对 Amazon S3 的访问。

2021 年 3 月 11 日

Amazon EMR 开始跟踪更改

Amazon EMR 开始跟踪其Amazon托管策略。

2021 年 3 月 11 日