领先一步
VMware 提供培训和认证,助您加速进步。
了解更多从 Vault 中检索密钥并使用远程属性源初始化 Spring Environment。
获取使用 SSL 保护的密钥。
为 MySQL、PostgreSQL、Apache Cassandra、MongoDB、Consul、AWS 和 RabbitMQ 生成凭据。
令牌、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
spring.application.name: my-application
spring.cloud.vault:
host: localhost
port: 8200
scheme: https
authentication: TOKEN
token: …
用于 AWS-EC2 身份验证的 bootstrap.yml
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>