java - 如何使用 java 5 从 azure Vault 检索 secret ?

标签 java azure api

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

客户的架构师说我可以使用一些Vault api并使用bouncy caSTLe的tls api来实现这一点,但我不确定他在说什么。

这听起来太低级了。我正在寻求指导,一些多余的解释可以让我继续下去。如何使用 Java 5 获取 secret ?

最佳答案

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

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

这个API用于列出指定 key 保管库中的 secret 。您可以通过this link从给定的 keystore 获取指定的 secret 。 .

<小时/>

首先,通过 ApacheHttpClient 使用 Post 获取 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

然后,通过 ApacheHttpClient 使用 Get 调用 REST API .

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

我用 Postman 尝试了一下,效果很好。您可以使用httpclient通过java获取 secret 。

enter image description here

注意:

导航到 Azure 门户 > key 保管库 > your_key_vault > 访问策略 > 添加访问策略。在 secret 权限字段中,选择所需的权限,然后选择主体部分,选择您用于访问 secret 的应用程序。

关于java - 如何使用 java 5 从 azure Vault 检索 secret ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63674755/

相关文章:

java - 上传到 Azure 时无法访问 RESTful 端点

reactjs - Azure B2C - 续订 session

php - 我们如何使 PHP 中的多个 file_get_contents 运行得更快?

c++ - EverNote API 编译错误

java - 如何将以下 JSON 打印为漂亮的格式?

java - 如何快速滚动卡片 View

java - 如何使用 main() 中的对象数组访问类私有(private)成员?

java - 极少数在处理时如何表现?

azure - 如何由受信任的第三方承担您的 Azure 帐户的角色(类似于 AWS)

php - 在 iPhone 中打开电子邮件时,“城市”被检测为关键字