我想将 Azure Key Vault 添加到我的 C# 应用程序,但我想在本地运行代码。有可能的办法吗?很多文档都说 AKV 仅适用于 Azure 环境,但这里中表示,他们在演示中显示的示例代码也可以在本地主机中执行。
目前使用的是Net6版本。为了创建我的 Azure 资源,我按照第一个链接中的视频教程进行操作。他们遵循这个模式。

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

托管身份已分配给 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: '调用者无权对资源执行操作。