Amazon EKS 群集IAM角色 - Amazon EKS

協助改善此頁面

想要為此使用者指南做出貢獻? 捲動至此頁面底部,然後在 上選取編輯此頁面 GitHub。您的貢獻將幫助我們的使用者指南更適合所有人。

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

Amazon EKS 群集IAM角色

每個EKS叢集都需要 Amazon 叢集IAM角色。 KubernetesAmazon 管理的叢集EKS使用此角色來管理節點,而舊版雲端提供者則使用此角色為服務建立具有 Elastic Load Balancing 的負載平衡器。

在建立 Amazon EKS 叢集之前,您必須先使用下列任一IAM政策建立IAM角色:

  • AmazonEKSClusterPolicy

  • 自訂IAM原則。以下是 Kubernetes 叢集可管理節點的最低許可,但無法讓舊式雲端供應商建立具有 Elastic Load Balancing 的負載平衡器。您的自訂IAM原則必須至少具有下列權限:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "ForAnyValue:StringLike": { "aws:TagKeys": "kubernetes.io/cluster/*" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeAvailabilityZones", "kms:DescribeKey" ], "Resource": "*" } ] }
注意

在 2023 年 10 月 3 日之前,每個叢集的IAM角色都需要mazonEKSCluster原則

在 2020 年 4 月 16 日之前,需要「mazonEKSService政策」和「A mazonEKSCluster 政策」,而該角色的建議名稱為eksServiceRole。使用AWSServiceRoleForAmazonEKS服務連結角色時,在 2020 年 4 月 16 日或之後建立的叢集不再需要 A 原mazonEKSService則

檢查現有的叢集角色

您可以使用下列程序來檢查您的帳戶是否已具有 Amazon EKS 叢集角色。

若要在IAM主控台eksClusterRole中檢查
  1. 在開啟IAM主控台https://console.aws.amazon.com/iam/

  2. 在左側導覽窗格中,選擇 Roles (角色)。

  3. 搜尋 eksClusterRole 的角色清單。如果包含 eksClusterRole 的角色不存在,請參閱 建立 Amazon EKS 叢集角色 以建立角色。如果包含 eksClusterRole 的角色存在,請選取角色以檢視連接的政策。

  4. 選擇許可

  5. 確定 [A mazonEKSCluster 原則管理的原則] 已附加至角色。如果已連接政策,表示您的 Amazon EKS 叢集角色已正確設定。

  6. 選擇 Trust Relationships (信任關係),然後選擇 Edit trust policy (編輯信任政策)。

  7. 確認信任關係包含下列政策。如果信任關係符合下列政策,請選擇 Cancel (取消)。如果信任關係不符合,請將政策複製到 Edit trust policy (編輯信任政策) 視窗中,然後選擇 Update policy (更新政策)。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

建立 Amazon EKS 叢集角色

您可以使用 AWS Management Console 或 AWS CLI 來建立叢集角色。

AWS Management Console
在IAM主控台中建立 Amazon EKS 叢集角色
  1. 在開啟IAM主控台https://console.aws.amazon.com/iam/

  2. 選擇 Roles (角色),然後選擇 Create role (建立角色)

  3. 信任的實體類型)下,選取 AWS 服務

  4. 從 [其他使用案例] AWS 服務下拉式清單中,選擇EKS

  5. 選擇 EKS-[叢集] 做為您的使用案例,然後選擇 [下一步]。

  6. Add permissions (新增許可) 標籤上,選擇 Next (下一步)。

  7. 針對 Role name (角色名稱),為您的角色輸入唯一名稱 (例如 eksClusterRole)。

  8. 針對 Description (描述),輸入描述性文字,如 Amazon EKS - Cluster role

  9. 選擇建立角色

AWS CLI
  1. 將下列內容複製到名為 cluster-trust-policy.json 的檔案。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. 建立角色。您可以將 eksClusterRole 取代為您選擇的任何名稱。

    aws iam create-role \ --role-name eksClusterRole \ --assume-role-policy-document file://"cluster-trust-policy.json"
  3. 將必要的IAM原則附加至角色。

    aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy \ --role-name eksClusterRole