ash*_*das 1 spring-boot hashicorp-vault spring-vault
在我的应用程序中,我们从我的应用程序进行两次调用以从 Vault 获取机密,如下所示:
登录 Vault :对 https::/v1/auth/approle/login 进行 POST 调用——它将以 role_id 和 Secret_id 作为负载,响应将是 client_token。
获取机密:对 https::/v1/secret/data/abc/dev/xyz.json 进行 GET 调用 - 它将采用 X-Vault-Token 和 X-Vault-Namespace 标头,并给出如下响应:
{ "request_id": "......", "lease_id": "", "renewable": false, "lease_duration": 0, "data": { "data": { "name": "ABC" }, "元数据": { "created_time": "...", "deletion_time": "", "destroyed": false, "version": 1 } }
现在我想使用 Spring Cloud Vault Dependency 来使事情通过它进行。请为我提供适当的插图来完成这项工作?
假设您正在运行 spring boot 并为您的应用程序配置了一个工作的 Vault 服务器。
添加 Spring CloudVault Maven 依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-vault-config</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)
将保管库配置添加到 bootstrap.yaml
spring:
application:
name: abc
cloud:
vault:
host: <vault-server-hostname>
port: <vault-server-port>
scheme: HTTPS
namespace: <name-of-vault-namespace>
authentication: APPROLE
app-role:
role-id: <your-application-role-id>
secret-id: <your-application-secret-id>
role: <your-application-role>
Run Code Online (Sandbox Code Playgroud)
如果您使用 spring 配置文件(例如dev )运行应用程序,它将被拾取并添加到保管库路径中。
现在您应该能够注入存储在路径上的secret/data/abc/dev
秘密@Value("${<name-of-property>}
归档时间: |
|
查看次数: |
5917 次 |
最近记录: |