首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Spring Cloud Starter Vault Config访问Docker Vault密钥无法解析

使用Spring Cloud Starter Vault Config访问Docker Vault密钥无法解析
EN

Stack Overflow用户
提问于 2018-04-23 07:26:50
回答 1查看 1.7K关注 0票数 2

我正在dev模式下运行Docker Vault container,并且我无法读取位于/secret/mobsters/的名为password的密钥。

这里是Spring logs

运行vault kv get secret/mobsters将返回密码密钥值对。我也可以在本地访问vault服务器。

下面是我引用这个秘密的方式:

代码语言:javascript
复制
@Value("${password}")
String password;

@PostConstruct
private void postConstruct() {
    System.out.println("My password is: " + password);
}

使用bootstrap.yml文件设置Spring Cloud Vault配置:

代码语言:javascript
复制
spring.application.name: mobsters
spring.cloud.vault:
host: localhost
port: 8200
scheme: http
authentication: TOKEN
token: ...

我收到一个异常消息(full exception here):

代码语言:javascript
复制
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'password' in value "${password}"`

从Vault UI:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-24 14:48:12

在HashiCorp Vault 0.10.0中使用Spring Vault/Spring Cloud Vault不起作用,因为键/值后端在默认情况下是使用版本控制挂载的。这有一定的意义,因为版本化的API已经完全改变了,并破坏了现有的客户端实现。上下文路径和响应结构不同。

您有两个选择:

  1. 使用较旧的库版本(如0.9.5)
  2. 尝试应对应用程序接口更改,直到Spring Cloud Vault找到使用新API的方法。您需要:将引导configuration.
  3. Prefix属性名称中的@Value("${data.hello.world}").

设置为

  • ,以便@Value("${hello.world}")变为@Value("${data.hello.world}").

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49971667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档