授予使用者對 Amazon EMR on EKS 的存取權 - Amazon EMR

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

授予使用者對 Amazon EMR on EKS 的存取權

對於您在 Amazon EMR on EKS 上執行的任何動作,您需要該動作的對應 IAM 許可。必須建立 IAM 政策,以便執行 Amazon EMR on EKS 動作,並將政策附接至您使用的 IAM 使用者或角色。

本主題提供建立新政策並將其附接至使用者的步驟。它還涵蓋了設定 Amazon EMR on EKS 環境所需的基本許可。建議您根據業務需求,盡可能完善特定資源的許可。

在 IAM 主控台中建立新的 IAM 政策並將其附接至使用者

建立新的 IAM 政策
  1. 登入 AWS Management Console 並開啟身分與存取權管理主控台,網址為 https://console.aws.amazon.com/iam/

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

  3. Policies (政策) 頁面上,選擇 Create a policy (建立政策)。

  4. 建立政策視窗中,導覽至編輯 JSON 索引標籤。建立具有一個或多個 JSON 陳述式的政策文件,如此程序後面的範例所示。接下來,選擇檢閱政策

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

將政策附接至使用者或角色
  1. 登入 AWS Management Console 並開啟身分與存取權管理主控台,網址為 https://console.aws.amazon.com/iam/

  2. 在導覽窗格中,選擇政策

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

  4. 選擇政策動作,再選擇附加

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

用於管理虛擬叢集的許可

若要管理 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": "*" } ] }

Amazon EMR 與 Amazon EKS 叢集存取管理 (CAM) 整合,因此您可以自動設定必要的 AuthN 和驗證碼政策,以便在 Amazon EKS 叢集的命名空間中執行 Amazon EMR Spark 任務。若要這麼做,您必須具備下列權限:

{ "Effect": "Allow", "Action": [ "eks:DescribeAccessEntry", "eks:CreateAccessEntry", "eks:DeleteAccessEntry", "eks:ListAssociatedAccessPolicies", "eks:AssociateAccessPolicy", "eks:DisassociateAccessPolicy" ], "Resource": "*" }

如需詳細資訊,請參閱在 EKS 上自動啟用 Amazon EMR 的叢集存取

第一次從 AWS 帳戶叫用CreateVirtualCluster操作時,您還需要獲得CreateServiceLinkedRole許可,才能在 EKS 上為 Amazon EMR 建立服務連結角色。如需詳細資訊,請參閱 使用 Amazon EMR on EKS 的服務連結角色

用於提交作業的許可

若要在 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 日誌