Eut*_*rpy 17 c# azure azure-keyvault
我有以下代码从Azure密钥保险库获取密码:
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";
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是"访问被拒绝",这(我认为)意味着id,secret和vault的url都没问题.但是,我不知道我能做些什么来修复此错误,Azure门户中是否有可能阻止我读取密码的设置?
Ale*_*ndr 29
要修复拒绝访问,您需要配置Active Directory权限.授予对KeyVault的访问权限.
1.使用PowerShell 运行下一个命令:
Set-AzureRmKeyVaultAccessPolicy -VaultName 'XXXXXXX' -ServicePrincipalName XXXXX -PermissionsToKeys decrypt,sign,get,unwrapKey
Run Code Online (Sandbox Code Playgroud)
2.使用Azure门户
| 归档时间: |
|
| 查看次数: |
23351 次 |
| 最近记录: |