授予用户访问 Amazon EMR on EKS 的权限 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

授予用户访问 Amazon EMR on EKS 的权限

对于您在 Amazon EMR on EKS 执行的任何操作,您需要对该操作具有相应的 IAM 权限。您必须创建 IAM 策略,以便您执行 Amazon EMR on EKS 操作,并将该策略附加到您使用的 IAM 用户或角色。

本主题提供了创建新策略并将其附加到 IAM 用户的步骤。IAM 策略还涵盖了在 EKS 环境上设置 Amazon EMR 所需的基本权限。我们建议您尽可能根据您的业务需求来优化特定资源的权限。

在 IAM 控制台中创建新 IAM 策略并将其附加到 IAM 用户

创建新 IAM 策略

  1. 登录 Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在 IAM 控制台的导航窗格中,选择 Policies (策略)

  3. 策略页面上,选择 Create a policy (创建策略)

  4. Create Policy (创建策略) 窗口中,导航到 Edit JSON (编辑 JSON) 选项卡。创建包含一个或多个 JSON 语句的策略文档,如该过程以下示例所示。接下来,选择 Review policy (查看策略)

  5. Review Policy (查看策略) 屏幕上,输入您的 Policy Name (策略名称),例如 AmazonEMROnEKSPolicy。输入可选描述,然后选择 Create policy (创建策略)

将策略附加到 IAM 用户或角色

  1. 登录 Amazon Web Services Management Console,单击 https://console.aws.amazon.com/iam/,打开 IAM 控制台。

  2. 在导航窗格中,选择 Policies(策略)

  3. 在策略列表中,选中在前一部分中所创建策略旁边的复选框。您可以使用 Filter 菜单和搜索框来筛选策略列表。

  4. 选择 Policy actions(策略操作),然后选择 Attach(附加)

  5. 选择要将此策略附加到的用户或角色。您可以使用 Filter 菜单和搜索框来筛选委托人实体列表。在选择要将策略附加到的用户或角色后,选择 Attach policy (附加策略)

管理虚拟集群的权限

要管理Amazon账户中的虚拟集群,请创建具有以下权限的 IAM 策略。这些权限可让您在Amazon账户中创建、列出、描述和删除虚拟集群。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": "emr-containers.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "emr-containers:CreateVirtualCluster", "emr-containers:ListVirtualClusters", "emr-containers:DescribeVirtualCluster", "emr-containers:DeleteVirtualCluster" ], "Resource": "*" } ] }

当首次从Amazon账户调用 CreateVirtualCluster 操作时,您还需要 CreateServiceLinkedRole 权限,以为 Amazon EMR on EKS 创建服务相关角色。有关更多信息,请参阅 对 Amazon EMR on EKS 使用服务相关角色

提交任务的权限

要在您Amazon账户中的虚拟集群上提交任务,请创建具有以下权限的 IAM 策略。这些权限允许您启动、列出、描述和取消账户中所有虚拟集群的任务运行。您应该考虑添加列出或描述虚拟集群的权限,以便在提交任务之前检查虚拟集群的状态。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-containers:StartJobRun", "emr-containers:ListJobRuns", "emr-containers:DescribeJobRun", "emr-containers:CancelJobRun" ], "Resource": "*" } ] }

用于调试和监控的权限

要访问推送到 Amazon S3 和 CloudWatch 的日志,或在 Amazon EMR 控制台中查看应用程序事件日志,请创建具有以下权限的 IAM 策略。我们建议您尽可能根据您的业务需求来优化特定资源的权限。

重要

如果您尚未创建 Amazon S3 存储桶,您需要添加 s3:CreateBucket 权限以访问策略声明。如果您尚未创建日志组,则需要添加 logs:CreateLogGroup 到策略声明。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-containers:DescribeJobRun", "elasticmapreduce:CreatePersistentAppUI", "elasticmapreduce:DescribePersistentAppUI", "elasticmapreduce:GetPersistentAppUIPresignedURL" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "logs:Get*", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": "*" } ] }

有关如何配置任务运行以将日志推送到 Amazon S3 和 CloudWatch 的更多信息,请参阅将任务运行配置为使用 S3 日志配置任务运行以使用 CloudWatch Logs