我正在为一个业余项目试验Azure密钥库。起初,我在本地开发,但现在我的数据库是在Azure中。所以我希望这个connectionstring在密钥库中是安全的。我设法通过visual Studio中的connected service选项完成了此操作。连接建立了,一切按预期工作。不过,现在我希望在开发中使用AppSettings.json中的配置值访问本地db。我认为,通过在Program.cs中的ConfigureAppConfiguration委托中包装安装程序,如下所示,可以绕过Key Vault,转到本地AppSettings。但是当运行这段代码时,我仍然会得到Key Vault secret值(在调试中,代码被跳过(所以IsDevelopment是真的)
if (!context.HostingEnvironment.IsDevelopment())
{
var builtConfig = config.Build();
var keyVaultEndpoint = GetKeyVaultEndpoint();
if (!string.IsNullOrEmpty(keyVaultEndpoint))
{
var azureServiceTokenProvider = new AzureServiceTokenProvider();
var keyVaultClient = new KeyVaultClient(
new KeyVaultClient.AuthenticationCallback(
azureServiceTokenProvider.KeyVaultTokenCallback));
config.AddAzureKeyVault(
keyVaultEndpoint, keyVaultClient, new DefaultKeyVaultSecretManager());
}
}
为此,我通常使用环境变量,而不是在程序
类中访问宿主环境。由于keyvault可能会更改,所以我将keyvault存储为生产中的环境变量。我现在可以将函数定义为:
string GetKeyVaultEndpoint() => Environment.GetEnvironmentVariable("KeyVaultURL");
这里的“KeyVaulturl”是存储URLendpoint的环境变量名。一旦这样定义了函数,就可以简单地检查它是否返回NULL。如果返回null,则可以跳过密钥库设置。这样,即使您将网站移动到您选择使用其他东西而不是密钥库的位置,即使在生产环境中也不会出现问题。
我在大多数文章中读到,需要在Azure中部署应用程序,这样应用程序才能以编程方式访问存储在Azure密钥库中的秘密。 有没有一种方法可以不在azure中部署应用程序,并且仍然能够通过使用客户端id和客户端机密或证书来访问azure密钥库以获取机密?
我没有找到任何关于在前端端实现逻辑来管理Azure密钥库的可能性的信息。同时,我创建了一个Node JS服务器项目使用ENV来管理Azure Key Vault,它工作成功,但我想在我的Angular应用程序中得到同样的效果。
同一空间/存储库中机密的逻辑分组 HSM的可能性 日志记录/审核 检索/更改机密的一个位置,许多应用程序可能依赖该位置而不触及应用程序。 我不知道如何在我的Spring Boot应用程序中处理存储库访问。当我使用azure-key-vault spring boot Starter时,我必须设置Applications.Properties中的访问权限,如本教程:如何使用spring boot S
我有一个premium storage account,在创建这个帐户后我就启用了加密,我找到了这个链接https://docs.microsoft.com/en-us/azure/storage/storage-service-encryption来检查blob是否加密。 现在,如果我使用Azure key vault加密OS盘和数据盘,它也用于保护静止数据,但加密存储帐户也会做同样的事情。有谁
MySQL Server Enterprise edition与Hashicorp集成,在静止状态下加密数据。加密密钥存储在HashiCorp存储库中,如MySQL文档中所述。 基于HashiCorp文档[1][2],我们可以使用Azure密钥库来存储秘密。 是否可以集成mysql-hashicorp-Azure密钥库 MySQL Enterprise Edition使用hashicorp加密 加