我已经在 Azure 中设置了我的 keyVault,并在那里添加了密钥。我现在正在遵循 Microsoft located here 的说明。
我当前的代码如下所示:
var keyVaultName = Environment.GetEnvironmentVariable("KEY_VAULT_NAME");
var kvUri = "https://" + keyVaultName + "vault.azure.net";
var client = new SecretClient(new Uri(kvUri), new DefaultAzureCredential());
var secret = (await client.GetSecretAsync("my-secret-key")).Value.Value;
我已经设置了环境变量(系统设置)来保存密钥保管库的名称,变量名称为 KEY_VAULT_NAME
。
使用上面的代码,我得到了一个例外:The requested name is valid, but no data of the requested type was found
我感觉我错误地使用了 DefaultAzureCredential
并且缺少某些东西?
答案 0 :(得分:0)
我最终使用了 Microsoft 的 this resource,它使用几乎相同的代码,但也提供了有关为您的 Web 应用设置托管标识并授予其访问特定 Key Vault 的权限的详细信息。
我的问题中的代码现在也可以设置托管身份访问。