Spring boot cloud vault 更新到 3.0.3 版本后不再加载属性
Posted
技术标签:
【中文标题】Spring boot cloud vault 更新到 3.0.3 版本后不再加载属性【英文标题】:Spring boot cloud vault does not load properties anymore after update to version 3.0.3 【发布时间】:2021-11-06 23:59:06 【问题描述】:我面临与bootstrap.yml configuration not processed anymore with Spring Cloud 2020.0 相同的问题。 我将 spring boot cloud 更新到了 3.0.3 版本。我的配置是:
spring:
config:
import: vault://
cloud:
vault:
enabled: true
uri: $uri
authentication: APPROLE
kv:
enabled: true
backend: secrets
application-name: $path
generic:
enabled: false
app-role:
role-id: $role_id
secret-id: $secret_id
连接设置似乎没问题,因为有一些“权限被拒绝”的日志条目(此保管库的路径无效)
Vault 位置 [secrets/application/develop] 无法解析:状态 403 禁止 [秘密/数据/应用程序/开发]:发生 1 个错误:* 没有权限 ;嵌套异常是 org.springframework.web.client.HttpClientErrorException$Forbidden: 403 禁止:["errors":["发生1个错误:\n\t*权限 拒绝\n\n"]
有什么提示吗?
【问题讨论】:
也许这篇文章会对你有所帮助gitmemory.com/issue/spring-cloud/spring-cloud-vault/452/… 感谢您的提示,但我在更新之前已经有了这种日志。 【参考方案1】:我发现了问题。在 spring.cloud.vault.kv.application-name 中定义 application-name 时,它不起作用。它必须定义为 spring.cloud.vault.application-name 但根据https://github.com/spring-cloud/spring-cloud-vault/blob/main/docs/src/main/asciidoc/secret-backends.adoc 它也应该适用于 spring.cloud.vault.kv.application-name....
spring:
config:
import: vault://
cloud:
vault:
enabled: true
uri: $uri
authentication: APPROLE
application-name: $path
kv:
enabled: true
backend: secrets
generic:
enabled: false
app-role:
role-id: $role_id
secret-id: $secret_id
【讨论】:
以上是关于Spring boot cloud vault 更新到 3.0.3 版本后不再加载属性的主要内容,如果未能解决你的问题,请参考以下文章
在 Pivotal Cloud Foundry 上为 Spring Boot 应用程序外部化 Vault 令牌/后端配置
如何允许 Spring Boot 应用程序使用具有 Spring Cloud 依赖关系的自定义 jar
Spring Cloud Vault:令牌(spring.cloud.vault.token)不能为空
Spring Cloud Vault 和带有 Vault 后端的 Spring Cloud Config 之间的区别
引起:java.lang.IllegalArgumentException:令牌(spring.cloud.vault.token)不能为空 - Hashicorp Vault