Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从部署在Azure Kubernetes服务(AKS)中作为pod的Asp.net核心Docker容器访问Azure KeyVault?_Azure_Asp.net Core_Kubernetes_Azure Keyvault_Azure Aks - Fatal编程技术网

如何从部署在Azure Kubernetes服务(AKS)中作为pod的Asp.net核心Docker容器访问Azure KeyVault?

如何从部署在Azure Kubernetes服务(AKS)中作为pod的Asp.net核心Docker容器访问Azure KeyVault?,azure,asp.net-core,kubernetes,azure-keyvault,azure-aks,Azure,Asp.net Core,Kubernetes,Azure Keyvault,Azure Aks,我有一个Asp.Net核心应用程序,该应用程序配置为使用Visual Studio 2019连接服务连接到Azure KeyVault: 我用Docker将应用程序封装起来,并将其作为Pod部署到Kubernetes中。 KeyVault连接不工作,可能是因为未设置托管标识 我试过: 将Kubernetes代理托管标识添加到KeyVault访问策略中,就像我对应用程序服务或容器服务所做的那样,但不允许连接 以下是文档: 我想知道“Kubernetes上Secrets Store CSI驱动程序

我有一个Asp.Net核心应用程序,该应用程序配置为使用Visual Studio 2019连接服务连接到Azure KeyVault:

我用Docker将应用程序封装起来,并将其作为Pod部署到Kubernetes中。 KeyVault连接不工作,可能是因为未设置托管标识

我试过:

  • 将Kubernetes代理托管标识添加到KeyVault访问策略中,就像我对应用程序服务或容器服务所做的那样,但不允许连接
  • 以下是文档:

  • 我想知道“Kubernetes上Secrets Store CSI驱动程序的Azure密钥库提供商”是否是从pod使用密钥库的正确方法,或者是否有一种更简单的解决方案,如直接连接。

    对于处于我这种情况的人来说,该解决方案就是使用

    没有必要附加CSI驱动程序,除非您需要Kubernetes配置中的机密,想要完全控制自定义配置,或者将集群置于Azure之外

    对于部署到AKS的Asp.Net核心应用程序,最简单的方法是使用托管标识,并向Kubernetes群集提供该标识,您需要AAD Pod标识


    目前还没有文档页面,但遵循GitHub上的入门说明就足够了。

    我使用托管身份从我的pod中的Azure密钥库中获取了一个秘密。只需将AKS集群的.identityProfile.kubeletidentity.clientId添加为密钥保险库策略即可读取机密。您必须通过Azure门户设置此策略,因为“az keyvault设置策略”要求--object id是principalId,我想