我已将API配置为使用托管标识从Azure KeyVault获取Azure存储连接字符串。
现在的问题是,当我在Visual Studio中本地运行代码时,它不再使用appsettings中的连接字符串。发展json是“StorageAccount”:“UseDevelopmentStorage=true”
因此,在本地运行时,我无法使用模拟器。
我已经在我的控制器中创建了以下条件来解决这个问题:
public FileController(IConfiguration configuration, IWebHostEnvironment env)
{
this.configuration = configuration;
if (env.IsDevelopment())
{
conn = this.configuration.GetConnectionString("StorageAccount");
}
else
{
conn = this.configuration["StorageConnectionString"];
}
}
这是正确的方法吗?
在本地,如果您的ASPNETCORE_环境
设置为Development
,则它将读取您的本地存储帐户,如UseDevelopmentStorage=true
。
当你发布到azure时,它将使用你的webapp的MSI从密钥库获取连接字符串。
有关更多详细信息,请参阅以下代码:
private IConfiguration _configuration;
private IWebHostEnvironment _env;
public WeatherForecastController(IConfiguration configuration, IWebHostEnvironment env)
{
_configuration = configuration;
_env = env;
}
if (_env.IsDevelopment())
{
con = _configuration.GetSection("StorageAccount").Value;
}
else
{
AzureServiceTokenProvider azureServiceTokenProvider = new AzureServiceTokenProvider();
var keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
con = keyVaultClient.GetSecretAsync("https://xxxx.vault.azure.net/secrets/xxxx").GetAwaiter().GetResult().Value;
}
我在Azure Keyvault中存储了一个.pfx文件。我有“证书标识符”、“密钥标识符”、“秘密标识符”的值。我想在java程序中使用.pfx文件。我怎么才能从KeyVault取文件?
为了简单起见,假设我想使用Azure REST API从特定存储库中的所有秘密中使用秘密名称和秘密值构建一个字典。 谢谢你。
我试图将我的私钥存储到Azure key Vault中,但当我取回它时,我的私钥被更改了。 如果我将私钥放入web.config文件中,它就可以正常工作,没有任何问题。 抱歉,我刚开始用Azure keyvault。请帮帮忙。谢谢你。
我们有一组blob触发器函数,我们计划为这些azure函数使用新的azure webjobs存储。我的问题是:由于新的存储帐户没有任何已处理文件的跟踪,是否会重新处理blob?如果是,我们可以避免这种再加工吗?在哪种情况下?
在使用Java从azure keyvault检索机密时,我面临一个问题 我使用了以下依赖项azure-security-keyvault-secrets-4.3.6。jar azure-identity-1.4.2。jar azure-core-1.12.0。罐子 还有我的密码, 当我运行上面的代码时,我得到了下面的错误
我是azure云服务平台的新手。今天我遇到了Azure提供的Key-Vault存储服务。它具有存储应用程序级密钥和设置的能力。它具有增强的数据保护功能,是安全可靠的。 但我不清楚的是,要连接到Key-Vault,我需要存储在应用程序配置中的Key-Vault的工件。 如果是这样的话,当有人在密钥值上掉线时,他不会连接到我的密钥库并读取我的所有密钥。 如果我应该加密我的本地密钥存储库设置,那么我可以