在本地机器中,我使用默认策略运行Vault服务器,并编写了以下键值。
vault write secret/my-application username=Testbootstrap.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当我使用默认挂载(秘密)时,我能够使用获取值。但是,如果我使用自定义挂载(组)访问QA服务器,我将得到以下错误。
org.springframework.vault.VaultException:状态403秘密/组/组类型/群名/数据库:被拒绝的权限
(不知道为什么是秘密的前缀)
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引导应用程序一起工作。如何将秘密排除在上下文之外
发布于 2018-10-18 04:40:00
对于自定义挂载,我们必须添加泛型
spring:
application:
name: grouptype/groupname/DB
cloud:
vault:
authentication: TOKEN
token: sometoken
generic:
enabled: true
backend: group
default-conext: grouptype/groupname/DB
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这里的“组”是挂载名称。
https://stackoverflow.com/questions/52861441
复制相似问题