使用支持的 AWS 开发工具包 - Amazon EKS

帮助改进此页面

想为本用户指南做出贡献? 滚动到页面底部,然后选择在 GitHub 上编辑此页面。您的贡献有助于我们的用户指南为每个人提供更充分的参考。

使用支持的 AWS 开发工具包

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

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

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

使用凭证

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

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

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