小编Oso*_*nin的帖子

有没有办法通过 Visual Studio 上的托管标识在本地主机中使用 Azure Key Vault?

我想将 Azure Key Vault 添加到我的 C# 应用程序,但我想在本地运行代码。有可能的办法吗?很多文档都说 AKV 仅适用于 Azure 环境,但这里中表示,他们在演示中显示的示例代码也可以在本地主机中执行。

目前使用的是Net6版本。为了创建我的 Azure 资源,我按照第一个链接中的视频教程进行操作。他们遵循这个模式。 描述使用托管身份时使用的流程

因此,您可以在这里看到我的 Key Vault 访问策略。RBAC 已检查。 我的 kv 访问策略

托管身份已分配给 Key Vault 作为 Key Vault 管理员的角色(用于测试目的)

我的托管身份在“身份”选项卡上的“应用服务”中被分配为“用户分配的托管身份”。

我的 Program.cs 如下所示:

var userAssignedClientId = "Some guid";

if (!string.IsNullOrEmpty(MyVaultUri))
{
    builder.Configuration.AddAzureKeyVault(
        new Uri(MyVaultUri),
        new DefaultAzureCredential(new DefaultAzureCredentialOptions { ManagedIdentityClientId = userAssignedClientId }));
}
Run Code Online (Sandbox Code Playgroud)

我已经声明了环境变量AZURE_TENANT_ID,,AZURE_CLIENT_IDAZURE_CLIENT_SECRET块包 Azure.Identity v1.4.0、Azure.Security.KeyVault.Secrets v4.3.0 安装。

这就是我在 localhost 中收到的错误:Azure.RequestFailedException: '调用者无权对资源执行操作。

在此输入图像描述

c# azure azure-keyvault azure-managed-identity .net-6.0

5
推荐指数
1
解决办法
2628
查看次数