帮助改进此页面
要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 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)限制为特定的ServiceAccount和Namespace:
{ "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。