本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
访问 Amazon S3 的私有子网的示例策略
在私有子网中启动 Amazon EMR 集群时,必须提供通往 Amazon S3 的路由。默认情况下,Amazon S3 的网关终端节点允许访问所有存储桶。您可以创建 VPC 终端节点策略来限制对特定存储桶的访问;如果这样做,则需要添加允许访问 Amazon EMR 要求的特定 S3 存储桶的策略声明。有关 Amazon S3 终端节点的更多信息,请参阅 Amazon S3 的网关终端节点。
由您决定满足业务需求的策略限制。本页详细介绍了 Amazon EMR 成功启动集群所需的存储桶,然后是授予这些存储桶访问权限的 VPC 终端节点策略示例。
必需的存储桶
亚马逊Linux AMI存储库
所有亚马逊 EMR 集群都需要访问亚马逊 Linux 存储库。特定的存储桶 ARN 取决于所使用的 Amazon Linux 版本,这取决于所使用的亚马逊 EMR 版本:
-
亚马逊 EMR 5.29.0 及更早版本:AL1 回购和
arn:aws:s3:::packages.region.amazonaws.comarn:aws:s3:::repo.region.amazonaws.com -
亚马逊 EMR 5.30.0 到 6.15.0:AL2 回购和
arn:aws:s3:::amazonlinux.region.amazonaws.comarn:aws:s3:::amazonlinux-2-repos-region -
亚马逊 EMR 7.0.0 及更高版本:AL2023 回购
arn:aws:s3:::al2023-repos-region-de612dc2
亚马逊 EMR 存储库
亚马逊 EMR 5.22.0 及更高版本需要访问 EMR 存储库存储桶。arn:aws:s3:::repo.region.emr.amazonaws.com
亚马逊 EMR 8.0.0 及更高版本以及 Amazon EMR Spark 8.0.0 及更高版本需要访问 EMR 实例数据存储桶和。arn:aws:s3:::aws157-instance-data-0-prod- regionarn:aws:s3:::aws157-instance-data-1-prod-region
在 ap-southeast-2 区域中,这些存储桶改为和。arn:aws:s3:::aws157-instance-data-bucket-0-prod-ap-southeast-2 arn:aws:s3:::aws157-instance-data-bucket-1-prod-ap-southeast-2
日志记录
如果您启用集群日志记录,则需要在创建集群时指定为日志目标的存储桶以及系统日志存储桶的 PUT 权限。在 us-east-1 区域中,存储桶 ARN 为arn:aws:s3:::aws157-logs-prod;对于所有其他区域,存储桶 ARN 为。arn:aws:s3:::aws157-logs-prod-region
持久性应用程序用户界面
在 Amazon EMR 5.25.0 或更高版本中,要实现对永久应用程序用户界面的一键访问,您必须允许 Amazon EMR 访问收集应用程序日志的系统存储桶。arn:aws:s3:::prod.有关更多信息,请参阅在 Amazon EMR 中查看永久应用程序用户界面。region.appinfo.src
策略示例
以下示例策略提供了在 us-east-2 地区的私有子网中启动 Amazon EMR 8.0.0 集群所需的权限,同时启用了日志记录和持久应用程序用户界面。
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AmazonLinux2023AMIRepositoryAccess", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::al2023-repos-us-east-2-de612dc2/*" ] }, { "Sid": "EmrRepositoryAccess", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::repo.us-east-2.emr.amazonaws.com/*", "arn:aws:s3:::aws157-instance-data-0-prod-us-east-2/*", "arn:aws:s3:::aws157-instance-data-1-prod-us-east-2/*" ] }, { "Sid": "EnableClusterLogs", "Effect": "Allow", "Principal": "*", "Action": [ "s3:Put*" ], "Resource": [ "arn:aws:s3:::aws157-logs-prod-us-east-2/*", "arn:aws:s3:::my-logs-bucket/*" ] }, { "Sid": "EnableApplicationHistory", "Effect": "Allow", "Principal": "*", "Action": [ "s3:Put*", "s3:Get*", "s3:Create*", "s3:Abort*", "s3:List*" ], "Resource": [ "arn:aws:s3:::prod.us-east-2.appinfo.src/*" ] } ] }