如何使用 DefaultAzureCredential 从 Azure Key Vault 检索 Secret

How to retrieve Secret from Azure Key Vault using 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 并且我缺少了什么?

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

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