gpt4 book ai didi

c# - Azure key 保管库 : access denied

转载 作者:可可西里 更新时间:2023-11-01 03:13:55 24 4
gpt4 key购买 nike

我有以下代码用于从 Azure key 保管库获取 secret :

public static async Task<string> GetToken(string authority, string resource, string scope)
{
var authContext = new AuthenticationContext(authority);
ClientCredential clientCred = new ClientCredential(...); //app id, app secret
AuthenticationResult result = await authContext.AcquireTokenAsync(resource, clientCred);

if (result == null)
throw new InvalidOperationException("Failed to obtain the JWT token");

return result.AccessToken;
}

public static string GetSecret(string secretName)
{
KeyVaultClient keyVaultClient = new KeyVaultClient(GetToken);
try
{
return keyVaultClient.GetSecretAsync("my-key-vault-url", secretName).Result.Value;
}
catch(Exception ex)
{
return "Error";
}
}

我收到的错误是“访问被拒绝”,这(我认为)意味着 id、 secret 和保管库的 url 都很好。但是,我不知道我可以采取什么不同的措施来修复此错误,Azure 门户中是否可能存在阻止我读取 secret 的设置?

最佳答案

要修复访问被拒绝的问题,您需要配置 Active Directory 权限。授予对 KeyVault 的访问权限。

<强>1。使用 PowerShell运行下一个命令:

Set-AzureRmKeyVaultAccessPolicy -VaultName 'XXXXXXX' -ServicePrincipalName XXXXX -PermissionsToKeys decrypt,sign,get,unwrapKey

<强>2。使用 Azure 门户

  1. 打开 key 保管库
  2. 从 Key Vault 资源边栏选项卡中选择访问策略
  3. 点击边栏选项卡顶部的 [+ 添加访问策略] 按钮
  4. 点击选择主体选择您之前创建的应用
  5. 从“ key 权限”下拉列表中选择“解密”、“签名”、“获取”、“UnwrapKey”权限
  6. 保存更改

Authorize the application to use the key or secret

关于c# - Azure key 保管库 : access denied,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40025598/

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