使用支持的 Amazon 开发工具包
在使用服务账户的 IAM 角色时,Pods 中的容器必须使用支持通过 OpenID Connect Web 身份令牌文件代入 IAM 角色的 Amazon 开发工具包版本。请确保为您的 Amazon 开发工具包使用以下版本或更高版本:
许多流行的 Kubernetes 附加组件,如 Cluster Autoscaler
为了确保您使用的是受支持的开发工具包,请在构建容器时按照用于在 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 操作会在临时凭证到期前进行续订,从而继续轮换临时凭证。