选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

了解 EKS Pod Identity 的工作原理

聚焦模式
了解 EKS Pod Identity 的工作原理 - Amazon EKS

帮助改进此页面

想为本用户指南做出贡献? 选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。您的贡献有助于我们的用户指南为每个人提供更充分的参考。

帮助改进此页面

想为本用户指南做出贡献? 选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。您的贡献有助于我们的用户指南为每个人提供更充分的参考。

Amazon EKS 容器组身份关联提供管理应用程序凭证的功能,类似于 Amazon EC2 实例配置文件为 Amazon EC2 实例提供凭证的方式。

Amazon EKS 容器组身份通过额外的 EKS Auth API,以及在每个节点上运行的代理容器组为您的工作负载提供凭证。

在您的插件中,例如,Amazon EKS 插件和自我管理控制器、运算符和其他插件,创建者需要更新软件才能使用最新的 AWS SDK。有关 EKS 容器组身份与 Amazon EKS 插件之间的兼容性列表,请参阅上一节 EKS 容器组身份限制

在代码中使用 EKS 容器组身份

在您的代码中,您可以使用 AWS SDK 访问 AWS 服务。您可以编写代码,为使用 SDK 的 AWS 服务创建客户端,默认情况下,SDK 会在一系列位置中搜索要使用的 AWS Identity and Access Management 凭证。找到有效凭证后,搜索停止。有关使用的默认位置的更多信息,请参阅《AWS SDK 和工具参考指南》中的凭证提供程序链

EKS 容器组身份已添加到容器凭证提供程序,可在默认凭证链的一个步骤中搜索。如果您的工作负载当前使用凭证链中较早的证书,则即使您为同一工作负载配置了 EKS 容器组身份关联,这些凭证也将继续使用。这样,在删除旧凭证之前,您可以先创建关联,从而安全地从其他类型的凭证迁移。

容器凭证提供程序从每个节点上运行的代理处提供临时凭证。在 Amazon EKS 中,代理是 Amazon EKS 容器组身份,而在 Amazon Elastic Container Service 中,代理则是 amazon-ecs-agent。SDK 使用环境变量来定位要连接的代理。

相比之下,服务账户的 IAM 角色提供了一个 Web 身份令牌,AWS SDK 必须使用 AssumeRoleWithWebIdentity 与 AWS Security Token Service 进行交换。

EKS 容器组身份代理如何使用 Pod

  1. 当 Amazon EKS 启动一个新的容器组,而该容器组使用与 EKS 容器组身份关联的服务账户时,集群将添加以下内容到 Pod 清单中:

    env: - name: AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE value: "/var/run/secrets/pods.eks.amazonaws.com/serviceaccount/eks-pod-identity-token" - name: AWS_CONTAINER_CREDENTIALS_FULL_URI value: "http://169.254.170.23/v1/credentials" volumeMounts: - mountPath: "/var/run/secrets/pods.eks.amazonaws.com/serviceaccount/" name: eks-pod-identity-token volumes: - name: eks-pod-identity-token projected: defaultMode: 420 sources: - serviceAccountToken: audience: pods.eks.amazonaws.com expirationSeconds: 86400 # 24 hours path: eks-pod-identity-token
  2. Kubernetes 选择要在哪个节点上运行容器组。然后,节点上的 Amazon EKS 容器组身份代理使用 AssumeRoleForPodIdentity 操作从 EKS Auth API 检索临时凭证。

  3. EKS 容器组身份代理可为在容器中运行的 AWS SDK 提供这些凭证。

  4. 在应用程序中使用 SDK 时,无需指定凭证提供程序使用默认凭证链。或者,您可以指定容器凭证提供程序。有关使用的默认位置的更多信息,请参阅《AWS SDK 和工具参考指南》中的凭证提供程序链

  5. SDK 使用环境变量连接到 EKS 容器组身份代理并检索凭证。

    注意

    如果您的工作负载当前使用凭证链中较早的证书,则即使您为同一工作负载配置了 EKS 容器组身份关联,这些凭证也将继续使用。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。