查看此开源项目可在GitHub上获得;我想这可能只是你正在寻找的东西。注意:从外观上看,这是一个Spring云孵化器项目(将来有可能成为Spring官方认可的开源库),并且只有三个贡献者。您将不得不查看它是否“足够可靠”以满足您的需求。
https://github.com/spring-cloud-incubator/spring-cloud-vault-config
---这里是有用的信息快速摘要---
添加下面的依赖关系的pom.xml:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-vault-starter-config</artifactId>
<version>x.y.z</version>
</dependency>
创建一个标准的Spring启动应用程序 - 提供例子只是一个主要的应用类:
@SpringBootApplication
@RestController
public class Application {
@RequestMapping("/")
public String home() {
return "Hello World!";
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
运行时,它将从端口8200上的 默认本地Vault服务器(如果它正在运行)中选取外部配置。要修改 的启动行为,您可以使用bootstrap.properties(如application.properties,但应用程序上下文的 引导阶段)更改Vault服务器 的位置。
bootstrap.yml:
spring.cloud.vault:
host: localhost
port: 8200
scheme: http
connection-timeout: 5000
read-timeout: 15000
host
设置库主机的主机名。主机名称将用于SSL证书验证
port
设置库端口
scheme
方案设置为HTTP将使用普通HTTP。支持的方案是http和https。
connection-timeout
以毫秒为单位的连接超时
read-timeout
以毫秒为单位读取超时
该项目允许一到春天引导配置存储库安全,但它似乎并没有解决所有的密码租赁/更新功能。 –
还没有更新功能。刷新静态秘密并不是什么大问题,但提醒数据库/服务机密是一个问题。数据库以不同的方式处理用户更改。如果您在DB2数据库出现故障时建立连接,那么MySQL不关心您是否删除了用户。我认为更新数据源/池是可行的。你应该保持在安全的一面,通过重新启动你的服务一段时间来处理到期。我们已仔细研究如何在不破坏应用的情况下使用到期/更新功能,因此我们尚未添加对它的支持。 – mp911de