gpt4 book ai didi

azure - 在 Visual Studio 中运行时无法访问 KeyVault

转载 作者:行者123 更新时间:2023-12-04 07:45:38 26 4
gpt4 key购买 nike

我正在开发一个需要访问 KeyVault 的应用服务。在从 Stackoverflow 上的一些人那里获得一些帮助后,我发现应用服务可以在 Azure 中运行时访问 KeyVault。我现在面临的问题是在 Visual Studio 本地运行应用程序时无法访问 KeyVault。尝试检索 secret 时出现以下异常。

SharedTokenCacheCredential authentication failed: AADSTS9002332: Application 'MY_APPLICATION_ID'(Azure Key Vault) is configured for use by Azure Active Directory users only. Please do not use the /consumers endpoint to serve this request.Trace ID: 4252753a-5e28-4261-ad85-d773468c1b00Correlation ID: 013df9c1-16ef-46f6-a3f5-839bb52cbdccTimestamp: 2021-04-22 05:19:12Z

我已使用我的 MSDN 帐户登录 Visual Studio。我还在 Azure 的 MSDN 实例中创建了 KeyVault。此外,KeyVault 还为我的 MSDN 用户提供了访问策略。

enter image description here

根据错误,我猜测我还需要配置 KeyVault 以允许 Azure Active Directory 用户以及我的 MSDN 帐户用户被考虑的任何内容,但我不知道如何执行此操作,或者这是否正确解决方案。我创建了访问策略,但仍然被拒绝访问,这似乎违反直觉。

我也不明白在哪里为 Azure Active Directory 用户配置它。查看屏幕截图,“保管库访问策略”已被选中。这是否意味着应该使用访问策略?

有人能指出我解决这个问题的正确方向吗?

编辑:我尝试了列出的步骤 Here 。现在我收到此错误。

Service request failed.Status: 403 (Forbidden)

Content:{"error":{"code":"Forbidden","message":"Access denied to first party service.\r\nCaller: name=from-infra;tid=GUID;appid=MY_APP_ID ;iss=https://sts.windows.net/GUID/\r\nVault: VAULT_NAME;location=westus","innererror":{"code":"AccessDenied"}}}

尽管存在专门允许访问的访问策略,但为什么访问被拒绝?

编辑2:我的代码

        var kvUri = "https://" + Properties.Settings.Default.KeyVaultName + ".vault.azure.net";
var credential = new DefaultAzureCredential(new DefaultAzureCredentialOptions { ExcludeSharedTokenCacheCredential = true });
var client = new SecretClient(new Uri(kvUri), credential);
var result = client.GetSecret(secret);

最佳答案

将项目调试设置中的 AZURE_TENANT_ID 环境变量设置为您的 Azure 租户 ID (GUID)

关于azure - 在 Visual Studio 中运行时无法访问 KeyVault,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67207346/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com