gpt4 book ai didi

azure - 使用 Azure.Security.KeyVault.Secrets 的 Net core Key Vault 配置

转载 作者:行者123 更新时间:2023-12-03 16:45:01 25 4
gpt4 key购买 nike

我发现使用托管身份连接到 Azure KeyVault 很容易。该文档显示了如何执行此操作:

             var azureServiceTokenProvider = new AzureServiceTokenProvider();
var keyVaultClient = new KeyVaultClient(
new KeyVaultClient.AuthenticationCallback(
azureServiceTokenProvider.KeyVaultTokenCallback));

config.AddAzureKeyVault(
$"https://{builtConfig["KeyVaultName"]}.vault.azure.net/",
keyVaultClient,
new DefaultKeyVaultSecretManager());

然后我意识到它需要包Microsoft.Azure.KeyVault已弃用。因此,我正在努力弄清楚如何使用 SDK 4 执行上述操作。我找到的所有文档都与 SDK 3 相关。

enter image description here

[编辑]我发现以下代码可以使用 Managed Identiy 和 SDK 4 来获取 azure KeyVault Secret。但是我不知道如何将其添加到我的配置中。以前是用 config.AddAzureKeyVault()来完成的来自 Microsoft.Extensions.Configuration.AzureKeyVault 包,但它与 SDK 4 SecretClient 不兼容:

  return Host.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((context, config) =>
{
var azureCredentialOptions = new DefaultAzureCredentialOptions();


var credential = new DefaultAzureCredential(azureCredentialOptions);
var secretClient = new SecretClient(new System.Uri("https://mykeyvault.vault.azure.net/"), credential);
var secret = secretClient.GetSecret("StorageConnectionString");
config.AddAzureKeyVault()
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}

最佳答案

事实证明,我找到了使用 SDK 4 执行此操作的正确方法。我必须安装包azure.extensions.aspnetcore.configuration.secrets,然后代码很简单:

   var credential = new DefaultAzureCredential();

config.AddAzureKeyVault(new System.Uri("https://mykv.vault.azure.net/"), credential);

然后使用它

configuration["StorageConnectionString"]

关于azure - 使用 Azure.Security.KeyVault.Secrets 的 Net core Key Vault 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62503022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com