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

问题描述 投票:0回答:2

我们有一些在 Azure 上运行的 dotnet Core 应用服务,并使用具有托管身份的 Azure key Vault。

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

azure azure-keyvault azure-aks azure-managed-identity
2个回答
4
投票

有几个选项可以从 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 提供程序作为 Secrets Store CSI 驱动程序(适用于 kubernetes 1.16+)

    用于机密存储 CSI 驱动程序的 Azure Key Vault 提供程序允许通过 CSI 卷将 Azure Key Vault 作为机密存储与 Kubernetes 集群集成。

  • 在 Azure Kubernetes 服务(预览版)中使用 Azure Active Directory Pod 管理的身份

    Azure Active Directory (Azure AD) Pod 托管标识使用 Kubernetes 原语将 Azure 资源的托管标识以及 Azure AD 中的标识与 Pod 相关联。管理员将身份和绑定创建为 Kubernetes 原语,允许 Pod 访问依赖 Azure AD 作为身份提供者的 Azure 资源。

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


0
投票

看起来 pod 管理的身份也已被弃用。 替换为 工作负载 ID

此身份验证方法取代了 pod 管理的身份(预览版),后者与 Kubernetes 本机功能集成,可以代表应用程序与任何外部身份提供商联合。

© www.soinside.com 2019 - 2024. All rights reserved.