抢先一步
VMware 提供培训和认证,助力你快速进步。
了解更多从 Vault 中检索密钥,并使用远程属性源初始化 Spring Environment。
获取通过 SSL 保护的密钥。
为 MySQL、PostgreSQL、Apache Cassandra、MongoDB、Consul、AWS 和 RabbitMQ 生成凭据。
Token、AppId、AppRole、客户端证书、Cubbyhole 以及 AWS EC2 和 IAM、Kubernetes 认证。
引导应用程序上下文:主应用程序的父上下文,可以对其进行训练以执行任何操作。
通过 Spring Cloud Vault Connector 使用 HashiCorp 的 Vault 服务代理 进行 Cloud Foundry 集成。
要开始使用 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 带有多个模块,支持不同的集成。要获取适当版本的依赖项,你可以在依赖管理中包含一个 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>