繁体   English   中英

如何使用托管身份从 Azure Kubernetes 服务 (AKS) 访问 Azure Key Vault (AKV)

[英]How to access Azure Key Vault (AKV) from Azure Kubernetes Service (AKS) using Managed Identities

我们有一些 dotnet 核心应用服务在 Azure 上运行,并使用带有托管身份的 Azure 密钥保管库。

计划将这些 dotnet 核心服务部署到 azure kubernetes,但我还没有找到任何相关文档/支持将 AKV 与 Kubernetes 服务一起使用。 任何指导或参考

从 AKS 访问 KV 有几个选项:

  • 将 Azure Key Vault 与 FlexVol一起使用(已弃用。继续将其用于 kubernetes 版本 1.15)

    使用 Key Vault,您可以存储并定期轮换机密信息,例如凭据、存储帐户密钥或证书。 可以使用 FlexVolume 将 Azure Key Vault 与 AKS 群集集成。 FlexVolume 驱动程序允许 AKS 群集从 Key Vault 本地检索凭据,并仅将它们安全地提供给发出请求的 Pod。 与群集运营商合作,将 Key Vault FlexVol 驱动程序部署到 AKS 节点上。 您可以使用 Pod 托管标识请求访问 Key Vault 并通过 FlexVolume 驱动程序检索所需的凭据。

    带有 FlexVol 的 Azure Key Vault 旨在与在 Linux pod 和节点上运行的应用程序和服务一起使用。

  • 将 Azure Key Vault Provider 用于 Secrets Store CSI 驱动程序(适用于 kubernetes 1.16+)

    Secrets Store CSI 驱动程序的 Azure Key Vault 提供程序允许您获取存储在 Azure Key Vault 实例中的机密内容,并使用 Secrets Store CSI 驱动程序接口将它们挂载到 Kubernetes pod 中。

  • 使用 Pod 管理的身份

    Azure 资源的托管标识使 Pod 可以针对 Azure 中支持它的任何服务(例如存储、SQL)对自身进行身份验证。 Pod 被分配了一个 Azure 标识,允许它们通过 Azure Active Directory 进行身份验证并接收数字令牌。 此数字令牌可提供给其他 Azure 服务,这些服务检查 Pod 是否有权访问该服务并执行所需的操作。 例如,这种方法意味着数据库连接字符串不需要任何机密。

我发现 pod 身份方法更容易,因为您不需要更改代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM