透過 EKS Pod 身分識別所需的信任政策來建立 IAM 角色 - Amazon EKS

協助改進此頁面

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

若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。

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

透過 EKS Pod 身分識別所需的信任政策來建立 IAM 角色

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

EKS Pod 身分識別會先使用 AssumeRole 來擔任 IAM 角色,然後將臨時憑證傳至您的 Pod。

sts:TagSession

EKS Pod Identity 使用 TagSession 在對 AWS STS 的請求中包含工作階段標籤

設定條件

您可以在信任政策的條件索引鍵中使用這些標籤,用來限制哪些服務帳戶、命名空間和叢集可以使用此角色。若要了解 Pod 身分識別新增的請求標籤清單,請參閱 啟用或停用工作階段標籤

舉例來說,您可透過包含新增的 Condition 的下列信任政策,來限制哪些 Pod 可擔任 Pod 身分識別 IAM 角色,且限制為特定的 ServiceAccountNamespace

{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowEksAuthToAssumeRoleForPodIdentity", "Effect": "Allow", "Principal": { "Service": "pods.eks.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ], "Condition": { "StringEquals": { "aws:RequestTag/kubernetes-namespace": [ "Namespace" ], "aws:RequestTag/kubernetes-service-account": [ "ServiceAccount" ] } } } ] }

如需 Amazon EKS 條件金鑰的清單,請參閱服務授權參考中的 Amazon Elastic Kubernetes Service 定義的條件。若要了解您可以搭配哪些動作和資源使用條件索引鍵,請參閱 Amazon Elastic Kubernetes Service 定義的動作