创建具有 EKS 容器组身份所需信任策略的 IAM 角色 - Amazon EKS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

帮助改进此页面

要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。

创建具有 EKS 容器组身份所需信任策略的 IAM 角色

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

在将临时凭证传递给您的容器组之前,EKS 容器组身份使用 AssumeRole 分派 IAM 角色。

sts:TagSession

EKS 容器组身份使用 TagSession 在对 Amazon STS 的请求中包含会话标签

设置条件

您可以在信任策略的条件键中使用这些标签,来限制哪些服务账户、命名空间和集群可以使用此角色。有关容器组身份添加的请求标签列表,请参阅启用或禁用会话标签

例如,您可以通过在以下信任策略中添加 Condition,将可以担任某个容器组身份 IAM 角色的容器组(pod)限制为特定的 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 条件键的列表,请参阅《Service Authorization Reference》中的 Conditions defined by Amazon Elastic Kubernetes Service。要了解您可以对哪些操作和资源使用条件键,请参阅 Actions defined by Amazon Elastic Kubernetes Service