如何使用 DefaultAzureCredential

时间:2021-01-25 23:19:11

标签: c# azure-keyvault defaultazurecredential

我已经在 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 并且缺少某些东西?

1 个答案:

答案 0 :(得分:0)

我最终使用了 Microsoft 的 this resource,它使用几乎相同的代码,但也提供了有关为您的 Web 应用设置托管标识并授予其访问特定 Key Vault 的权限的详细信息。

我的问题中的代码现在也可以设置托管身份访问。