使用支持的 Amazon 开发工具包 - Amazon EKS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用支持的 Amazon 开发工具包

在使用服务账户的 IAM 角色时,Pods 中的容器必须使用支持通过 OpenID Connect Web 身份令牌文件代入 IAM 角色的 Amazon 开发工具包版本。请确保为您的 Amazon 开发工具包使用以下版本或更高版本:

许多流行的 Kubernetes 附加组件,如 Cluster Autoscaler安装 Amazon Load Balancer Controller 附加组件Amazon VPC CNI plugin for Kubernetes 都支持服务账户的 IAM 角色。

为了确保您使用的是受支持的开发工具包,请在构建容器时按照用于在 Amazon 上进行构建的工具中针对您的首选开发工具包的安装说明操作。

使用凭证

要使用服务账户的 IAM 角色凭证,您的代码可以使用任何 Amazon SDK 为具有 SDK 的 Amazon 服务创建客户端,默认情况下,SDK 会在一系列位置中搜索要使用的 Amazon Identity and Access Management 凭证。如果您在创建客户端或者初始化 SDK 时未指定凭证提供程序,则将使用服务账户凭证的 IAM 角色

由于服务账户的 IAM 角色已添加为默认凭证链中的一个步骤,因此该操作可行。如果您的工作负载当前使用凭证链中较早的证书,则即使您为同一工作负载的服务账户配置了 IAM 角色,这些凭证也将继续使用。

SDK 使用 AssumeRoleWithWebIdentity 操作自动将服务账户 OIDC 令牌交换为 Amazon Security Token Service 中的临时凭证。Amazon EKS 和此 SDK 操作会在临时凭证到期前进行续订,从而继续轮换临时凭证。