特征
快速开始
要开始使用 Spring Cloud Vault,只需包含一个构建依赖项。
例如,典型的 POM 依赖项是:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-vault-config</artifactId>
</dependency>
然后配置您的 Vault 端点和身份验证
bootstrap.yml
用于基于 Token 的身份验证
spring.application.name: my-application
spring.cloud.vault:
host: localhost
port: 8200
scheme: https
authentication: TOKEN
token: …
bootstrap.yml
用于 AWS-EC2 身份验证
spring.application.name: my-application
spring.cloud.vault:
host: localhost
port: 8200
scheme: https
authentication: AWS_EC2
最后,在应用程序中使用存储在 Vault 中的属性
@Configuration
@RestController
public class Application {
@Value("${config.name}")
String name = "World";
@RequestMapping("/")
public String home() {
return "Hello " + name;
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
Spring Cloud Vault Config 使用应用程序名称和活动配置文件从 Vault 中读取配置属性:
/secret/{application}/{profile}
/secret/{application}
/secret/{default-context}/{profile}
/secret/{default-context}
添加 Spring Cloud Vault Config 模块
Spring Cloud Vault Config 带有多个模块,支持不同的集成。要在适当版本中获取依赖项,您可以在依赖项管理中包含 BOM (物料清单)。例如,典型的 POM 依赖项管理是:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>>org.springframework.cloud</groupId>
<artifactId>spring-cloud-vault-dependencies</artifactId>
<version>x.y.z</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-vault-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-vault-config-consul</artifactId>
</dependency>
</dependencies>