[英]Accessing certificate in Azure KeyVault from ASP.NET Core app
[英]Managing User Secrets with Azure KeyVault and Visual Studio not working for ASP .Net Core
在连接的服务中添加新的 KeyVault 时出现以下错误。 我正在使用 VS 15.8.1 社区版。 ASP.NET 核心 2.1
“无法检索 Key Vault 信息。此页面上的超链接可能无法按预期工作,UI 可能有陈旧信息或没有信息。请检查活动日志以获取更多信息。C:\\Users\\kumar\\AppData\\Roaming\\Microsoft\\VisualStudio \\15.0_536ef4bf\\ActivityLog.xml"
我并没有在 appsetting.json 中将其设置为 azure 密钥保管库。
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Warning"
}
},
"ApplicationInsights": {
"InstrumentationKey": "dummyaapinsightkey-cxds3-4001-953f-sf323sdfw32d"
}
}
我不确定这个错误。 看起来像一些连接问题。
但是,我建议您不要使用KeyVault
作为连接服务,而是使用KeyVault
可配置模型(无需连接服务)来检索机密
通过使用连接服务,在部署到生产环境时很难更改 KeyVault 的配置
我写了一篇文章,您可以在其中使用 AzureKeyVault 来检索您的机密,而无需使用连接的服务
安装下面的 NuGet 包
Install-Package Microsoft.Extensions.Configuration.AzureKeyVault -Version 2.1.1
你只需要像下面这样更改 Program.cs
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((context, config) =>
{
var builtConfig = config.Build();
config.AddAzureKeyVault(
$"https://{builtConfig["Vault"]}.vault.azure.net/",
builtConfig["ClientId"],
builtConfig["ClientSecret"]);
})
.UseStartup<Startup>();
}
appsetting.json
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"Vault": "myKeyVault",
"ClientId": "xxxxx-xxx-xxx-xxx-xxxx",
"ClientSecret": "xxxxxxx="
}
更新:
现在使用托管身份,您甚至无需使用 ClientId 和 Client Secrets 即可轻松集成 Keyvault
阅读更多关于: https : //docs.microsoft.com/en-us/samples/azure-samples/app-service-msi-keyvault-dotnet/keyvault-msi-appservice-sample/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.