我正在尝试访问密钥保管库以从Java应用程序中从Azure密钥保管库检索秘密。 对于我的代码,我遵循以下链接中的指示,并且我也看到了相同的内容 其他链接上的代码:http://www.stratogator.com/2017/10/20/how-to-access-secrets-in-azure-key-vault-using-java/
代码需要四件事:ClientID和ClientKey,以及密钥库URL和秘密名称。
要获取ClientID和ClientKey,我已在中注册了一个应用程序 Azure Active Directory。从这里,我获得了应用程序ID用作ClientID。 我还创建了一个用作ClientKey的密钥。我仔细复制了这两个值。 在“权限”下,我还授予了该应用程序对Azure Key Vault的访问权限。它显示了以下检查内容: “具有对Azure Key Vault服务的完全访问权限”。
我创建了我的密钥库和秘密。我添加了一些访问控制(IAM),以便我的AD应用程序可以 能够访问密钥库。我不确定要添加什么,所以我全盘以为这可以解决问题。 我授予AD应用程序以下角色:所有者,贡献者,Key Vault贡献者和读取者。
但是,当我尝试使用保管库URL和密码名称检索密码时,出现以下异常: com.microsoft.azure.keyvault.models.KeyVaultErrorException: 状态码403,{“错误”:{“代码”:“禁止”,“消息”:“访问被拒绝”,“内部错误”:{“代码”:“ AccessDenied”}}}}
关于我在做什么错或缺少权限的任何想法吗?