spring - Spring Cloud Vault 不适用于自定义挂载
问题描述
在本地机器上,我使用默认策略运行 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 应用程序一起工作。如何从上下文中排除秘密
解决方案
对于自定义安装,我们必须添加 通用
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
这里的“组”是挂载名称
推荐阅读
- c++ - C ++如何从构造函数中的数组参数初始化/复制const数组成员
- python - 查找下一个非 NaN 值的时间戳
- sql - 在oracle中将数据列成行
- sql-server - 如何在 SQL 中将字符串拆分为列表进行过滤?
- javascript - 如何在 Mongoose 中创建多个对象数组?
- r - 在 R 中预测多变量线性模型
- android - Recyclerview 按字母顺序排列的标题
- java - 如何在 Java 中迭代 Xml 文件并从中创建对象
- jmeter - jmeter正则表达式获取url链接
- html - 关于如何在 React 中对这个导航栏进行 DRY 编码的任何想法?