繁体   English   中英

Azure KeyVault 403 Forbidden when using Principal Account to access

[英]Azure KeyVault 403 Forbidden when using Principal Account to access

我创建了一个Azure KeyVault ,我希望我的App Service能够访问它。 据我所知,我的App Service的主体应该可以访问KeyVault ,但是在尝试从中检索时总是出现以下错误。 无论我是在Visual Studio中本地运行还是在Azure中运行,都会发生这种情况。

服务请求失败。 状态: 403 (禁止) 内容:{"error":{"code":"Forbidden","message":"策略要求调用者 'appid=MY_APP_ID;oid=MY_PRINCIPAL_ID_STARTING_WITH_1A5;iss=https://sts.windows .net/REDACTED_GUID/' 以使用代表 (OBO) 流。有关 OBO 的详细信息,请参阅https://go.microsoft.com/fwlink/?linkid=2152310","innererror":{" code":"ForbiddenByPolicy"}}}标头: Pragma: no-cache x-ms-keyvault-region: westus x-ms-client-request-id: REDACTED x-ms-request-id: REDACTED x-ms-keyvault -服务版本:1.2.236.0 x-ms-keyvault-network-info:conn_type=Ipv4;addr=52.155.40.204;act_addr_fam=InterNetwork; Strict-Transport-Security:已编辑 X-Content-Type-Options:已编辑 Content-Length:387 Cache-Control:no-cache Content-Type:application/json; charset=utf-8 日期:格林威治标准时间 2021 年 4 月 21 日星期三 20:10:33 过期:-1 X-Powered-By:已编辑

我查看了链接的KB文章,它谈到了 OAUTH`。 我没有尝试使用 OAUTH,所以我不明白为什么这是相关的。

这是我的KeyVault中的访问策略:

在此处输入图像描述

这是我在其中配置主体的App Service的屏幕截图。

在此处输入图像描述

底部明确说可以配置访问其他资源,所以我不明白为什么不能访问KeyVault

用于尝试访问的代码。

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

设置访问策略时,您需要 select 服务主体,只有 object id(没有应用程序 id)。

请参阅此类似的帖子答案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM