本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在Amazon Elastic Kubernetes Service 中使用 Amazon Secrets Manager 密钥
如果要将 Amazon Secrets Manager (ASCP) 中的密钥显示为挂载在 Amazon EKS 容器中的文件,您可以使用 Kubernetes Secrets Store CSI Driver 的 Amazon 密钥和配置提供程序和配置提供程序和配置提供程序和配置提供程序和配置提供程序 ASCP 与 Amazon Elastic Kubernetes Service 的 Amazon Elastic Kubernetes Service 1.17+ 配合使用。 EC2 Amazon Fargate 不支持节点组,不支持节点组。使用 ASCP,您可以在 Secrets Manager 中存储并管理密钥,然后通过 Amazon EKS 上运行的工作负载检索。如果密钥包含多个 JSON 格式的键值对,您可以选择要在 Amazon EKS 中挂载的键值对。ASCP 可使用 JMESPath 语法来查询密钥中的键/值对。ASCP 还适用于 Parameter Store 参数。ASCP 提供两种通过 Amazon EKS 进行身份验证的方法。第一种方法是使用服务账户的 IAM 角色(IRSA),第二种方法是使用容器组身份。每种方法都有其优势和用例。
基于服务账户的 IAM 角色(IRSA)的 ASCP
具有 IAM 服务账户角色的 ASCP (IRSA) 允许您将密钥 Amazon Secrets Manager 作为文件挂载到 Amazon EKS Pod 中。这种方法适用于以下情况:
你需要将密钥作为文件挂载到 Pod 中。
您将 Amazon EKS 版本 1.17 或更高版本配合使用 Amazon EKS 版本 1.17 或更高 EC2 版本使用。
你想从 JSON 格式的密钥中检索特定的键值对。
有关更多信息,请参阅 将 Amazon 密钥和配置提供商 CSI 与服务账户 IAM 角色配合使用 (IRSA) 。
基于容器组身份的 ASCP
带有 Pod 身份的 ASCP 方法可增强安全性并简化在 Amazon EKS 中访问密钥的配置。这种方法在以下情况下非常有用:
-
需要在容器组(pod)级别进行更精细的权限管理时。
-
使用的是 Amazon EKS 版本 1.24 或更高版本时。
-
需要提高性能和可扩展性时。
有关更多信息,请参阅 在 Amazon EKS 中使用带有 Pod 身份的 Amazon 密钥和配置提供商 CSI。
选择正确的方法
在基于 IRSA 的 ASCP 和基于容器组身份的 ASCP 之间做选择时,需考虑以下因素:
亚马逊 EKSversion:Pod Identity 需要亚马逊 EKS 1.24+,而 CSI 驱动程序适用于亚马逊 EKS 1.17+。
安全要求:容器组身份可在容器组(pod)级别提供更精细的控制。
性能:容器组身份通常会在大规模环境中展现更出色的性能。
复杂性:容器组身份无需单独的服务账户,可以简化设置。
选择最符合您的具体要求和 Amazon EKS 环境的方法。