我有一个Asp.Net Core应用程序,该应用程序配置为使用Visual Studio 2019 Connected Services连接到Azure KeyVault:
https://docs.microsoft.com/en-us/azure/key-vault/general/vs-key-vault-add-connected-service
我用Docker容器化了应用程序,并将其作为Pod部署到Kubernetes中。 KeyVault连接无法正常工作,可能是因为未设置托管身份。
我尝试过:
我想知道“ Kubernetes上Secrets Store CSI驱动程序的Azure Vault Vault提供程序”是否是从吊舱中使用KeyVault的正确方法,或者是否有更简单的解决方案(例如直接连接)。
答案 0 :(得分:0)
针对我所处情况的所有人,解决方案是使用AAD-Pod Identity
除非您需要Kubernetes配置中的秘密,需要对自定义配置进行全面控制或将群集置于Azure外部,否则无需附加CSI驱动程序。
对于部署到AKS的Asp.Net Core应用程序,最简单的方法是使用托管身份,并将其提供给Kubernetes集群,则需要AAD-Pod身份。
还没有文档页面,但是按照GitHub上的“入门”说明进行操作就足够了。
答案 1 :(得分:0)
我设法使用托管标识从我的 Pod 中的 Azure 密钥保管库中获取了一个机密。只需添加 AKS 集群的 .identityProfile.kubeletidentity.clientId 作为 Key Vault 策略即可读取机密。您必须通过 Azure 门户设置此策略,因为“az keyvault set-policy”期望 --object-id 是一个 principalId 我猜...