当前位置: 首页 > 知识库问答 >
问题:

Azure密钥库:拒绝访问

苗森
2023-03-14
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";
        }
    }

我得到的错误是“Access Denied”,这(我认为)意味着id、secret和Vault的url没有问题。但是,我不知道我可以做什么来修复这个错误,也许在Azure门户中有一个设置阻止我读取一个秘密?

共有1个答案

宇文和同
2023-03-14

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

1.使用PowerShell运行next命令:

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

2.使用Azure门户

    null
 类似资料:
  • 是否有一种方法可以使用Delphi访问Azure密钥库?我可以使用柏林的data.cloud.azureapi单元访问数据库和blob存储,但想从密钥库中获取数据库连接字符串,但似乎找不到任何用于此操作的代码。

  • 我正在python中构建由事件网格事件触发的Azure函数,它应该能够从Kay Vault收集秘密。 我将系统分配的托管标识添加到我的功能应用程序中,然后我可以在密钥库访问策略中选择我的应用程序。我授予它如下所示的权限: (我尝试了不同的组合在这一个)

  • 我正在尝试从运行在我的Azure批处理节点池中的VM访问我的Azure密钥库中的机密。 然而,我总是遇到例外: 异常消息:已尝试%1个证书。无法获取访问令牌。 具有指纹的证书#1的异常my-thumbprint:密钥集不存在 到目前为止,我一直遵循以下说明:https://docs.microsoft.com/en-us/Azure/key-vault/service-to-service-aut

  • 我们已经通过服务连接(服务主体身份验证)在Azure DevOps和Azure Key Vault之间建立了连接。但是,为了使其正常工作,我们需要将->标记为允许从:访问。假定我们将机密存储在此处,我们希望使用选项,而将设置为。 像这样: 然而,这会导致Azure DevOps->管道->库上的错误: 或者设置变量组,然后切换回,在部署时也会出现类似的错误。 MyKey:“客户端地址未经授权,调用

  • 我正在开发一个将文件上传到Azure存储的.NET应用程序。我正在利用https://azure.microsoft.com/en-us/documentation/articles/storage-encrypt-decrypt-blobs-key-vault/教程中所做的客户端加密 应用程序工作,即,我可以成功地上传一个加密的blob到一个选定的存储帐户和容器。 但是,我对RSA密钥的安全性有