在本地机器上,我使用默认策略运行 Vault 服务器并编写了以下键值。
vault write secret/my-application username=Test
bootstrap.yml(工作)
spring:
application:
name: my-application
cloud:
vault:
authentication: TOKEN
token: sometoken
host: localhost
port: 8200
scheme: http
#uri: http://localhost:8200
connection-timeout: 5000
read-timeout: 15000
config:
order: -10
我能够使用 Spring Cloud Vault 获取值,即当我使用默认挂载(秘密)时。但是,如果我使用自定义 mount(group) 访问 QA 服务器,则会收到以下错误。
org.springframework.vault.VaultException:状态 403 机密/组/组类型/组名/数据库:权限被拒绝
(不知道为什么以 secret 为前缀)
bootstrap.yml(不工作)
spring:
application:
name: group/grouptype/groupname/DB
cloud:
vault:
authentication: TOKEN
token: sometoken
host: 10.20.30.40
port: 8200
scheme: http
#uri: http://10.20.30.40:8200
connection-timeout: 5000
read-timeout: 15000
config:
order: -10
但是,如果我从 POSTMAN 访问 API,它会按预期工作。
GET
http://10.20.30.40:8200/v1/group/grouptype/groupname/DB
Header:
X-Vault-Token:sometoken
如何使自定义代理与 Spring Boot 应用程序一起工作。如何从上下文中排除秘密