【发布时间】:2021-03-04 14:47:49
【问题描述】:
我能够创建一个密钥库,添加秘密,能够在 YouTube 上this tutorial 之后的屏幕上显示。唯一的问题是它只有在我部署到 azure 时才有效。而且,到目前为止,所有代码都假设我想部署到 azure。
我发现 this response to a Stackoverflow question 解释了如何在 VS Code 上执行此操作。问题是代码与我的不同,可能是因为我在使用 DotNet5.0 时在 2019 提出了这个问题。这是我的代码。它是由
创建的-
进入互联服务
-
添加服务
-
按照向导选择 Key Vault。
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureAppConfiguration((context, config) => { var keyVaultEndpoint = new Uri(Environment.GetEnvironmentVariable("VaultUri")); config.AddAzureKeyVault( keyVaultEndpoint, new DefaultAzureCredential()); }) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); });
每次我在本地运行它时,都会出现以下异常。
{"error":{"code":"Forbidden","message":"Access denied to first party service.
Caller: name=from-infra;tid=f8cdef31-a31e-4b4a-93e4-5f571e91255a;
appid=872cd9fa-d31f-45e0-9eab-6e460a02d1f1;
...
"innererror":{"code":"AccessDenied"}}}
我已经运行了以下代码。
az keyvault set-policy --name 'myKeyvault' --object-id 872cd9fa-d31f-45e0-9eab-6e460a02d1f1 --secret-permissions get
然而,当我尝试在本地运行应用程序时,我仍然遇到同样的错误。有没有我遗漏的步骤?
感谢您的帮助
【问题讨论】:
-
我尝试了 youtube 教程提供的示例,它确实适用于 vs 代码。而且我还没有在vs code中登录任何帐户。这里很奇怪。
-
你解决过这个问题吗?我正在与同样的事情作斗争。
标签: visual-studio asp.net-core azure-keyvault