Amazon EKS 附加组件的 IAM 角色 - Amazon EKS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

帮助改进此页面

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

Amazon EKS 附加组件的 IAM 角色

某些 Amazon EKS 附加组件需要 IAM 角色和权限才能调用 Amazon API。例如,Amazon VPC CNI 附加组件会调用某些 Amazon API 来配置您账户中的网络资源。需要使用 IAM 对这些附加组件授予权限。更具体地说,运行附加组件的容器组(Pod)的服务账户需要关联到具有具体 IAM 策略的 IAM 角色。

向集群工作负载授予 Amazon 权限的建议方法是使用 Amazon EKS 功能容器组身份。您可以使用容器组身份关联将附加组件的服务账户映射到 IAM 角色。如果某个容器组使用具有关联的服务账户,Amazon EKS 会在容器组的容器中设置环境变量。环境变量配置 Amazon SDK(包括 Amazon CLI)使用 EKS 容器组身份凭证。有关更多信息,请参阅 了解 EKS Pod Identity 如何向容器组授予对 Amazon 服务的访问权限

Amazon EKS 附加组件可以帮助管理与该附加组件对应的容器组身份关联的生命周期。例如,您可以在单个 API 调用中创建或更新 Amazon EKS 附加组件和必要的容器组身份关联。Amazon EKS 还提供用于检索建议 IAM 策略的 API。

建议的用量:
  1. 确认已在您的集群上设置 Amazon EKS 容器组身份代理

  2. 使用 describe-addon-versions Amazon CLI 操作确定要安装的附加组件是否需要 IAM 权限。如果 requiresIamPermissions 标志是 true,则应使用 describe-addon-configurations 操作来确定附加组件所需的权限。响应中将包含建议的托管 IAM 策略列表。

  3. 使用 CLI describe-addon-configuration 操作检索 Kubernetes 服务账户的名称和 IAM 策略。根据您的安全要求评估建议策略的范围。

  4. 使用建议的权限策略和容器组身份所需的信任策略创建 IAM 角色。有关更多信息,请参阅 创建 EKS 容器组身份关联

  5. 使用该 CLI 创建或更新 Amazon EKS 附加组件。指定至少一个容器组身份关联。容器组身份关联是 Kubernetes 服务账户名称与 IAM 角色 ARN。

注意事项:
  • 使用附加组件 API 创建的容器组身份关联归相应的附加组件所有。如果您删除该附加组件,则容器组身份关联也会被删除。在使用 Amazon CLI 或 API 删除附加组件时,您可以通过使用 preserve 选项来防止这种级联删除。如有必要,您也可以直接更新或删除容器组身份关联。附加组件不能代入现有容器组身份关联的所有权。您必须删除现有关联,然后使用附加组件创建或更新操作重新创建该关联。

  • Amazon EKS 建议使用容器组身份关联来管理附加组件的 IAM 权限。仍然支持之前的方法(服务账户的 IAM 角色(IRSA))。您可以为附加组件同时指定 IRSA serviceAccountRoleArn 和容器组身份关联。如果在集群上安装了 EKS 容器组身份代理,则 serviceAccountRoleArn 将被忽略,并且 EKS 将使用提供的容器组身份关联。如果未启用容器组身份,则将使用 serviceAccountRoleArn

  • 如果您更新现有附加组件的容器组身份关联,Amazon EKS 会启动附加组件容器组(Pod)的滚动重新启动。