创建自定义 Amazon EC2 实例配置文件 - Amazon EMR

创建自定义 Amazon EC2 实例配置文件

为编排 EMR 集群对 Lake Formation 的访问,您应该定义一个自定义的 EC2 实例配置文件(服务角色),并在创建集群时指定该配置文件。有关创建自定义角色的更多信息,请参阅创建具有最小权限的集群 EC2 实例服务角色

lakeformation:GetTemporaryUserCredentialsWithSAML 操作让您的实例配置文件获得必要的凭证,以便在与 AWS Lake Formation 集成的 Amazon EMR 集群上运行查询。

公有子网

如果您的集群将位于公有子网中,请为您的自定义 EC2 实例配置文件使用以下示例策略。将 My-S3-Bucket-for-IdP-Metadata 替换为包含您的身份提供商(IdP)元数据的 S3 存储桶。将 MyEMRClusterLogs 替换为用于存储 EMR 日志的 S3 存储桶。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": [ "arn:aws:s3:::My-S3-Bucket-for-IdP-Metadata/*" ], "Action": "s3:GetObject" }, { "Effect": "Allow", "Resource": [ "arn:aws:s3:::My-S3-Bucket-for-IdP-Metadata" ], "Action": "s3:ListBucket" }, { "Effect": "Allow", "Resource": [ "arn:aws:s3:::MyEMRClusterLogs/*" ], "Action": "s3:Put*" }, { "Effect": "Allow", "Resource": "*", "Action": "lakeformation:GetTemporaryUserCredentialsWithSAML" } { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole" ], "Resource": "*" } ] }

私有子网

如果您的集群将位于私有子网中,请为您的自定义 EC2 实例配置文件使用以下示例策略。将 My-S3-Bucket-for-IdP-Metadata 替换为包含您的身份提供商(IdP)元数据的 S3 存储桶。将 MyEMRClusterLogs 替换为用于存储 EMR 日志的 S3 存储桶。

在私有子网中使用 Amazon EMR 集群时,请确保您的 EMR 集群可以访问 AWS Lake Formation 服务以获取所需的元数据和查询策略,以及 AWS IAM 服务以提取 IAM 角色会话持续时间值。要访问 AWS Lake Formation 服务,您可以设置 NAT 网关或通过适用于 AWS Lake Formation 的 VPC 终端节点。要访问 AWS IAM 服务,您需要设置 NAT 网关,因为当前 AWS IAM 不支持 VPC 终端节点。请注意,在使用 NAT 网关或 VPC 终端节点服务时会产生费用。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": [ "arn:aws:s3:::My-S3-Bucket-for-IdP-Metadata/*", "arn:aws:s3:::packages.*.amazonaws.com/*", "arn:aws:s3:::repo.*.amazonaws.com/*", ], "Action": "s3:GetObject" }, { "Effect": "Allow", "Resource": [ "arn:aws:s3:::My-S3-Bucket-for-IdP-Metadata" ], "Action": "s3:ListBucket" }, { "Effect": "Allow", "Resource": [ "arn:aws:s3:::MyEMRClusterLogs/*" ], "Action": "s3:Put*" }, { "Effect": "Allow", "Resource": "*", "Action": "lakeformation:GetTemporaryUserCredentialsWithSAML" } { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole" ], "Resource": "*" } ] }