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

时间:2019-09-15 01:30:30

标签: azure azure-keyvault azure-aks azure-managed-identity

我们有一些dotnet Core App Services在Azure上运行,并使用带有托管身份的Azure密钥保管库。

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

1 个答案:

答案 0 :(得分:0)

有两种方法可以从AKS访问KV:

  • Use Azure Key Vault with FlexVol

      

    使用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吊舱和节点上运行的应用程序和服务一起使用。

  • Use pod managed identities

      

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

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