【发布时间】:2021-10-09 05:40:03
【问题描述】:
我正在尝试从本地 Web api 使用 Azure.Identity 库从 KeyVault 检索机密。 但它会抛出 Invalid Issuer。下面给出我正在使用的代码
我当前的代码
var client = new SecretClient(new Uri("key-vault-url"), new DefaultAzureCredential()); ==> line #1
var secret = client.GetSecret("DicomSecret").Value; ==> line #2
我的尝试
- 我已通过“添加访问策略”在 KeyVault 中添加了我的 Azure 凭据
- 尝试在第 1 行中使用 ManagedIdentityCredential 而不是 DefaultAzureCredential
- 还尝试在第 1 行中使用 VisualStudioCredential 而不是 DefaultAzureCredential
我还读到我可以使用 EnvironmentCredential,我需要为此提供 AZURE_TENANT_ID、AZURE_CLIENT_ID、AZURE_CLIENT_SECRET,但我不确定如何以及为此包括什么 - 我无权访问 AAD。
请告诉我如何解决此问题。
【问题讨论】:
-
你有什么进展吗?请随时在这里分享您的问题,如果您觉得我的帖子对您有帮助,您可以接受它作为答案吗?
-
是的@TinyWang 感谢您的回复。我已经解决了。在我的开发环境(本地主机)中,我必须使用
DefaultAzureCredentialOptions VisualStudioTenantId和 SecretClient。我将在下面添加我的答案。
标签: c# azure asp.net-core-webapi azure-keyvault azure-identity