我正在使用Microsoft.Azure.keyVault
尝试从Azure中的密钥库中获取密钥。尝试从Azure密钥获取秘密时遇到Unathorized Vault
我已经注册了一个作为Native API和Web API的应用程序。
登录到AD是成功的(可通过在AuthenticationContext.AcquireTokenAsync
上获取有效的AccessToken
来确认这一点)。
在Azure AD中,这两个应用程序在密钥库中都有访问控制(IAM)和访问策略。我已经证实,重点库基地址和秘密名字是正确的,但做以下电话
var sec = kv.GetSecretAsync("https://xxxxxxx.vault.azure.net", "xxsecretnamexx").GetAwaiter().GetResult();
我不断收到错误时
{"Operation returned an invalid status code 'Unauthorized'"} Microsoft.Azure.KeyVault.Models.KeyVaultErrorException
一个旁注:试图通过登录做到这一点作为用户。获得令牌的代码如下
.AcquireTokenAsync(resourceUri,clientId, new Uri(redirectUri), new PlatformParameters(PromptBehavior.SelectAccount))
我们已经使用具有权限的密钥库中的注册Azure的AD应用程序的ID和秘密工作的代码。
试图在不使用相关注册的Azure AD应用程序的标识和密码的情况下执行相同的操作,而是在将访问令牌获取到Azure AD时显示登录提示。
什么是'resourceUri'价值? – juunas