如何使用Java 5从蔚蓝金库中检索秘密?

时间:2020-08-31 16:37:49

标签: java azure api

我必须从Azure Vault检索机密,但是我的应用程序使用jdk5。这是一个问题,因为Microsoft文档中使用和描述的azure库至少需要jdk 8,并且无法升级jdk。

客户的架构师说,我可以使用一些Vault API,并使用充气城堡的tls API来实现此目的,但是我不确定他在说什么。

这听起来太低了。我正在寻求指导,一些多余的解释可以帮助我前进。如何使用Java 5获取机密?

1 个答案:

答案 0 :(得分:2)

正如架构师所说,您可以通过Key Vault REST API(而不是Azure库)从Key Vault中检索机密。

GET https://{yourvault}.vault.azure.net/secrets?api-version=7.1

API用于列出指定密钥库中的机密。您可以通过this link从给定的密钥库中获取指定的机密。


首先,通过ApacheHttpClientPost获取access_token。

POST https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
Content-Type: application/x-www-form-urlencoded

client_id={your-client-id}
&scope=https%3A%2F%2Fvault.azure.net%2F.default
&client_secret={your-client-secret}
&grant_type=client_credentials

然后,通过ApacheHttpClientGet调用REST API。

GET https://{yourvault}.vault.azure.net/secrets?api-version=7.1
Authorization: Bearer {access_token}

我和邮递员一起尝试了,效果很好。您可以使用httpclient通过Java获取机密。

enter image description here

注意:

导航到Azure门户>密钥库> your_key_vault>访问策略>添加访问策略。在机密权限字段中,选择所需的权限,然后在“选择主体”部分中,选择用于访问机密的应用程序。