发布于: Jul 21, 2022

我们很高兴推出两项新功能,以便在 EC2 集群(EMR 集群)上使用 Amazon EMR 帮助实施访问控制。使用 EMR 步骤 API 提交到集群的作业支持这些功能。第一项功能是通过 EMR 步骤使用运行时角色。运行时角色是与 EMR 步骤相关联的 AWS Identity and Access Management (IAM) 角色。EMR 步骤使用此角色访问 AWS 资源。第二项功能是与 AWS Lake Formation 集成,以使用 EMR 步骤对 Apache Spark 和 Apache Hive 作业应用表级和列级访问控制。

以前,在 EMR 集群上运行的所有作业都使用与 EMR 集群的 EC2 实例关联的 IAM 角色来访问资源。此角色被称为 EMR EC2 实例配置文件。例如,如果在同一集群上运行的 Spark 作业和 Hive 作业需要访问不同的 S3 存储桶,那么实例配置文件必须允许访问这两个存储桶。借助适用于 EMR 步骤的运行时角色,为 Spark 和 Hive 作业指定不同的 IAM 角色,从而在作业级别缩小访问范围。这样一来,您可以简化多租户共享的单个 EMR 集群上的访问控制,其中使用 IAM 角色对每个租户进行隔离。

此外,您还可以使用 AWS Lake Formation,对作为 EMR 步骤提交的 Apache Spark 和 Apache Hive 作业应用表级和列级权限。AWS Lake Formation 是一种完全托管服务,可轻松构建、保护和管理数据湖。使用 AWS Lake Formation,您可以通过简单的授予或撤销机制对存储在数据湖中的数据应用精细访问控制,与关系数据库管理系统 (RDBMS) 非常相似。借助此功能,在 AWS Lake Formation 中针对 IAM 角色定义的表级和列级权限可以通过作为 EMR 步骤提交的 Apache Hive 和 Apache Spark 作业无缝实施。这允许您进一步简化访问控制,并为每个作业提供对特定数据库、表和列的访问权限。

 这两项功能目前仅在 Amazon EMR 版本 6.7 中提供。有关详细信息,请参阅 Amazon EMR 区域可用性发布说明