📅  最后修改于: 2023-12-03 14:47:32.540000             🧑  作者: Mango
本文将介绍如何将 Hashicorp Vault 集成到 Spring Boot 应用程序中。Hashicorp Vault 是一个开源工具,用于安全地管理和保护敏感数据,如 API 密钥、密码和证书。
在 build.gradle
文件中添加以下依赖:
implementation("org.springframework.cloud:spring-cloud-starter-vault-config")
或者,在 pom.xml
文件中添加以下依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-vault-config</artifactId>
</dependency>
在 application.yml
文件中添加以下配置:
spring.cloud.vault:
scheme: https
host: <vault-hostname>
port: <vault-port>
connection-timeout: 5000
read-timeout: 15000
uri: <vault-uri>
authentication: TOKEN
token: <vault-token>
其中,<vault-hostname>
、<vault-port>
和 <vault-uri>
是 Vault 服务器的地址和端口号。<vault-token>
是用于访问 Vault 的令牌。
现在,您可以通过 @Value
注解在应用程序中注入 Vault 中的值了。例如:
@RestController
public class MyController {
@Value("${myapp.username}")
private String username;
@Value("${myapp.password}")
private String password;
@GetMapping("/credentials")
public ResponseEntity<?> getCredentials() {
return ResponseEntity.ok("Username: " + username + ", Password: " + password);
}
}
在上述代码中,我们通过 @Value
注解注入了 myapp.username
和 myapp.password
配置属性。这些值将从 Vault 中读取。
本文介绍了如何将 Hashicorp Vault 集成到 Spring Boot 应用程序中。通过使用 Vault,您可以更安全地管理和保护敏感数据。现在,您可以在应用程序中使用 Vault 来存储和读取敏感信息了。