授予 EKS 上的 Amazon EMR 訪問權限 - Amazon EMR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

授予 EKS 上的 Amazon EMR 訪問權限

對於您在 EKS 上的 Amazon EMR 上執行的任何操作,您需要對該操作具有相應的 IAM 權限。您必須建立 IAM 政策,以允許您在 EKS 上執行 Amazon EMR 操作,並將政策連接至所使用的 IAM 用户或角色。

本主題提供了創建新策略並將其附加到 IAM 用户的步驟。此外,還包括您在 EKS 環境上設定 Amazon EMR 所需的基本許可。我們建議您根據業務需求儘可能優化對特定資源的權限。

在 IAM 主控台建立新的 IAM 政策,並將它連接至 IAM 使用者

建立新的 IAM 政策

  1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  2. 在 IAM 主控台的左側導覽窗格中,選擇政策

  3. 政策頁面上,選擇建立政策

  4. 在 中建立政策窗口中,前往編輯 JSON選項卡。創建具有一個或多個 JSON 語句的策略文檔,如下面的示例所示。接下來,選擇審查政策

  5. Review Policy (檢閱政策) 畫面上,輸入 Policy Name (政策名稱),例如 AmazonEMROnEKSPolicy。輸入選用描述,然後選擇建立政策

將政策連接到 IAM 使用者或角色

  1. 登入AWS Management Console開啟 IAM 主控台,開啟 IAM 主控台 (https://console.aws.amazon.com/iam/

  2. 在導覽窗格上選擇 Policies (政策)。

  3. 在政策清單中,選取前一節中建立的政策旁的核取方塊。您可用 Filter (篩選) 功能表和搜尋方塊來篩選政策清單。

  4. 選擇 Policy actions (政策動作),再選擇 Attach (附加)。

  5. 選擇要附加政策的使用者或角色。您可用 Filter (篩選) 功能表和搜尋方塊來篩選主體實體清單。選擇要附加的使用者或角色後,選擇連接政策

管理虛擬羣集的權限

要管理AWS賬户,請建立具備下列許可的 IAM 政策。使用這些許可,您可以在AWS帳户。

{ "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": "*" } ] }

CreateVirtualCluster第一次從AWS帳户,您還需要CreateServiceLinkedRole許可,以便在 EKS 上為 Amazon EMR 建立服務連結角色。如需詳細資訊,請參閱 使用 EKS 上的 Amazon EMR 的服務連結角色

提交作業的權限

要提交您的AWS賬户,請建立具備下列許可的 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