我相信您的应用程序已与 Spring Config 服务器集成,供参考检查。您所指的博客正在讨论动态凭据生成,这是一个有点复杂的解决方案。因此,现在,您按照下面提到的过程并在以后进行相应的修改。
如果启用了 spring 配置服务器,bootstrap.yaml
(检查引导文件和 application.properties 中的差异)src/main/resources/bootstrap.yml
看起来像这样:
spring:
cloud:
config:
uri: CONFIG-SERVER-URL
username: USERNAME
password: PASSWORD
vault:
uri: VAULT_URI
authentication: token
token: VAULT_TOKEN
application:
name: demo-application
当应用程序根据 profile/environment 从 spring-config 服务器读取配置时。
demo-application-dev.yml
demo-application-tst.yml
demo-application-prod.yml
以类似的方式,应用程序将根据配置文件读取 Vault 中配置的机密。
所以每个配置文件都应该配置有各自的秘密。因此,您dev
在 Vault 中的配置应如下所示:
spring.datasource.username=dev
spring.datasource.password=dev
对于其他环境,例如demo/prod
,配置不同:
spring.datasource.username=demo
spring.datasource.password=demo
注意:确保配置的应用程序名称bootstrap.yaml
应与 spring config server 中的文件名匹配,例如demo-application-dev.yml
,以及 Vault 中的 Vault 机密文件名,secrets/secret/demo-application/dev
保险库配置
在 pom.xml 文件中添加依赖项
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-vault-config</artifactId>
<version>1.1.0.RELEASE</version>
</dependency>