使用 Amazon EMR on EKS 的服務連結角色 - Amazon EMR

使用 Amazon EMR on EKS 的服務連結角色

Amazon EMR on EKS 使用 AWS Identity and Access Management (IAM) 服務連結角色。服務連結角色是直接連結至 Amazon EMR on EKS 的一種特殊 IAM 角色類型。服務連結角色由 Amazon EMR on EKS 預先定義,且內含該服務代您呼叫其他 AWS 服務所需的所有許可。

服務連結角色可讓設定 Amazon EMR on EKS 更為簡單,因為您不必手動新增必要的許可。Amazon EMR on EKS 定義其服務連結角色的許可,除非另有定義,否則僅有 Amazon EMR on EKS 可以擔任其角色。定義的許可包括信任政策和許可政策,並且該許可政策不能連接到任何其他 IAM 實體。

您必須先刪除服務連結角色的相關資源,才能將其刪除。如此可保護您的 Amazon EMR on EKS 資源,避免您不小心移除資源的存取許可。

如需關於支援服務連結角色的其他服務的資訊,請參閱可搭配 IAM 運作的 AWS 服務,並尋找 Service-Linked Role (服務連結角色) 欄顯示為 Yes (是) 的服務。選擇具有連結的 Yes (是),以檢視該服務的服務連結角色文件。

Amazon EMR on EKS 的服務連結角色許可

Amazon EMR on EKS 使用名稱為 AWSServiceRoleForAmazonEMRContainers 的服務連結角色。

AWSServiceRoleForAmazonEMRContainers 服務連結角色信任下列服務以擔任角色:

  • emr-containers.amazonaws.com

此角色許可政策 AmazonEMRContainersServiceRolePolicy 允許 Amazon EMR on EKS 對指定資源完成一組動作,如以下政策聲明所示。

注意

受管政策的內容會改變,因此此處顯示的政策有可能不是最新的。檢視 AWS Management Console 中的最新政策 AmazonEMRContainersServiceRolePolicy

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:DescribeCluster", "eks:ListNodeGroups", "eks:DescribeNodeGroup", "ec2:DescribeRouteTables", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "elasticloadbalancing:DescribeInstanceHealth", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeTargetHealth" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "acm:ImportCertificate", "acm:AddTagsToCertificate" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/emr-container:endpoint:managed-certificate": "true" } } }, { "Effect": "Allow", "Action": [ "acm:DeleteCertificate" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/emr-container:endpoint:managed-certificate": "true" } } } ] }

您必須設定許可,IAM 實體 (如使用者、群組或角色) 才可建立、編輯或刪除服務連結角色。如需詳細資訊,請參閱《IAM 使用者指南》中的服務連結角色許可

建立 Amazon EMR on EKS 的服務連結角色

您不需要手動建立一個服務連結角色。當您建立虛擬叢集時,Amazon EMR on EKS 會為您建立服務連結角色。

若您刪除此服務連結角色,之後需要再次建立,您可以在帳戶中使用相同程序重新建立角色。當您建立虛擬叢集時,Amazon EMR on EKS 會再次為您建立服務連結角色。

您也可以使用 IAM 主控台,透過 Amazon EMR on EKS 使用案例建立服務連結角色。在 AWS CLI CLI 或 AWS API 中,建立一個服務名稱為 emr-containers.amazonaws.com 的服務連結角色。如需詳細資訊,請參閱 IAM 使用者指南中的建立服務連結角色。如果您刪除此服務連結角色,您可以使用此相同的程序以再次建立該角色。

編輯 Amazon EMR on EKS 的服務連結角色

Amazon EMR on EKS 不允許您編輯 AWSServiceRoleForAmazonEMRContainers 服務連結角色。因為有各種實體可能會參考服務連結角色,所以您無法在建立角色之後變更角色名稱。然而,您可使用 IAM 來編輯角色描述。如需更多資訊,請參閱 IAM 使用者指南中的編輯服務連結角色

刪除 Amazon EMR on EKS 的服務連結角色

若您不再使用需要服務連結角色的功能或服務,我們建議您刪除該角色。如此一來,您就沒有未主動監控或維護的未使用實體。然而,在手動刪除服務連結角色之前,您必須先清除資源。

注意

若 Amazon EMR on EKS 服務在您試圖刪除資源時正在使用該角色,刪除可能會失敗。若此情況發生,請等待數分鐘後並再次嘗試操作。

若要刪除 AWSServiceRoleForAmazonEMRContainers 使用的 Amazon EMR on EKS 資源
  1. 開啟 Amazon EMR 主控台。

  2. 選擇虛擬叢集。

  3. Virtual Cluster 頁面中,選擇刪除

  4. 對帳戶中的任何其他虛擬叢集重複此程序。

使用 IAM 手動刪除服務連結角色

使用 IAM 主控台、AWS CLI 或 AWS API 來刪除 AWSServiceRoleForAmazonEMRContainers 服務連結角色。如需詳細資訊,請參閱《IAM 使用者指南》中的刪除服務連結角色

Amazon EMR on EKS 服務連結角色的支援區域

Amazon EMR on EKS 在所有提供服務的區域中支援使用服務連結角色。如需更多詳細資訊,請參閱 Amazon EMR on EKS 服務端點和配額