Amazon EKS pod 執行 IAM 角色
需要 Amazon EKS pod 執行角色才能在 AWS Fargate 基礎設施上執行 pods。
當您的叢集在 AWS Fargate 基礎設施上建立 pods 時,在 Fargate 基礎設施上執行的元件須代表您呼叫 AWS API。這樣執行個體即可執行如從 Amazon ECR 提取容器映像,或將日誌路由至其他 AWS 服務等動作。Amazon EKS pod 執行角色提供進行此類工作的 IAM 許可。
建立 Fargate 設定檔時,您必須使用設定檔為在 Fargate 基礎設施上執行的 Amazon EKS 元件指定 pod 執行角色。此角色會新增至叢集的 Kubernetes 角色型存取控制kubelet
向您的 Amazon EKS 叢集註冊,以便它可以在該叢集中作為節點出現。
Fargate 設定檔的 IAM 角色必須與 Amazon EC2 節點群組不同。
在 Fargate pod 中執行的容器,無法採用與 pod 執行角色相關聯的 IAM 許可。若要為 Fargate pod 中的容器提供存取其他 AWS 服務的許可,您必須使用 服務帳戶的 IAM 角色。
建立 Fargate 描述檔之前,您必須建立具有 AmazonEKSFargatePodExecutionRolePolicy
的 IAM 角色。
檢查是否有正確設定的現有 pod 執行角色
您可使用以下程序,檢查您的帳戶是否已有正確設定的 Amazon EKS pod 執行角色。為了避免出現混淆代理人安全問題,根據 SourceArn
的角色限制存取是非常重要的一環。您可以視需要修改執行角色,以納入對其他叢集上的 Fargate 描述檔的支援。
若要在 IAM 主控台中檢查 Amazon EKS pod 執行角色
前往網址 https://console.aws.amazon.com/iam/
開啟 IAM 主控台。 -
在左側導覽窗格中,選擇 Roles (角色)。
-
在 Roles (角色) 頁面上,搜尋 Amazon EKS Fargate Pod Execution Role (Amazon EKS Fargate Pod 執行角色) 的角色清單。如果該角色不存在,請參閱「建立 Amazon EKS pod 執行角色」以建立角色。如果該角色存在,請選取角色。
-
在 Amazon EKS Fargate Pod Execution Role (Amazon EKS Fargate Pod 執行角色) 頁面上,執行下列動作:
-
選擇 Permissions (許可)。
-
確定 AmazonEKSFargatePodExecutionRolePolicy Amazon 受管政策已連接至角色。
-
選擇 Trust relationships (信任關係)。
-
選擇 Edit trust policy (編輯信任政策)。
-
-
在 Edit trust policy (編輯信任政策)頁面上,確認信任關係包含以下政策,並且在叢集上具有 Fargate 描述檔的行。若是如此,請選擇 Cancel (取消)。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:eks:
region-code
:111122223333
:fargateprofile/my-cluster
/*" } }, "Principal": { "Service": "eks-fargate-pods.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }如果政策相符,但沒有指定叢集上的 Fargate 描述檔的行,您可以在
ArnLike
物件頂端新增以下行。使用叢集所在的 AWS 區域 取代
,用帳戶 ID 取代region-code
,再以您的叢集名稱取代111122223333
。my-cluster
"aws:SourceArn": "arn:aws:eks:
region-code
:111122223333
:fargateprofile/my-cluster
/*",如果政策不相符,請將完整前一個政策複製到表單中,然後選擇 Update policy (更新政策)。使用叢集所在的 AWS 區域 取代
。若要在您的帳戶中的所有 AWS 區域 使用相同角色,用region-code
*
取代region-code
。使用您的帳戶 ID 取代
,再以您的叢集名稱取代111122223333
。若要在您的帳戶中的所有叢集使用相同角色,請使用my-cluster
*
取代
。my-cluster
建立 Amazon EKS pod 執行角色
如果您還沒有叢集的 Amazon EKS pod 執行角色,可以使用 AWS Management Console 或 AWS CLI 來建立執行角色。