问题标签 [spring-cloud-vault-config]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1483 浏览

spring-boot - Spring Cloud Vault 双向 TLS 身份验证问题

我正在尝试设置一个 Spring Boot 应用程序以通过 TLS 与我的 Vault 服务器通信。我想使用相互证书身份验证。我可以使用 TLS 设置 Vault 服务器,并且可以使用 CLI 使用客户端证书登录它。但是,spring boot 应用程序无法将其客户端证书提供给 Vault 服务器 - 每次我运行我的应用程序时,Vault 服务器都会打印:

客户端(我的 Spring Boot 应用程序)打印:

这是我的bootstrap.yml

我找不到任何关于需要在spring.cloud.vault.*.

我的client-cert.jks商店有客户端证书和密钥。启用 SSL 详细日志,我可以看到:

这表明客户端在其信任库中找到了服务器的证书,但它没有将客户端的证书发送到服务器。

此外,如果我使用curl发送登录请求,它是成功的:

我还尝试使用配置类并将javax.net.ssl.keyStore相关属性传递为JAVA_OPTS,但绝对没有区别 - 保险库一直说客户端没有发送证书:

任何人都可以指出我错过了什么/做错了什么?

0 投票
1 回答
604 浏览

java - Spring Cloud Vault 配置文件特定的引导程序

我有一个 Spring Boot 应用程序,我想根据我正在运行的配置文件从 Vault 加载配置。目前我有 2 个配置文件(开发、产品)。我的 Dev Profile 使用 H2 数据库,而 Prod Profile 使用 Posgres DB。运行开发配置文件会从 Vault 加载正确的配置,但使用 Prod 配置文件运行似乎会以某种方式跳过它,而不是查看 Vault。

引导程序.yaml

引导-prod.yaml

例如,运行该命令gradle将从 Vault 加载配置。但运行gradle -Pprod无法从 Vault 加载正确的配置。

0 投票
1 回答
527 浏览

java - Spring Cloud Vault 从错误的配置文件中获取属性

在我的 Spring Boot 项目中,我定义了 4 个配置文件ide、dev、test 和 prod当我使用带有配置文件ide的 IntelliJ 运行项目时,一切正常,并且从Vault 中的ide配置文件中检索属性。但是在开发服务器中部署期间,当我使用参数选择开发-Dspring.profiles.active=dev配置文件时,正在选择开发配置文件,但正在检索ide配置文件属性

CustomVaultConfigurer.java

错误日志

但是当我将ide配置文件放在列表的末尾(如下所示)时,它可以工作

0 投票
1 回答
158 浏览

java - 数据 Jpa 测试无法加载属性

我在 Spring Boot 项目中使用 Hashi Corp 保险库。我能够毫无问题地运行该项目。但是当我运行单元测试时,secret-idrole-id没有通过。我尝试了以下但有一个异常说两者都是空的。尝试对值进行硬编码,但也没有用

EmployeeTest.java

更新: 我能够传递secret-idrole-id通过 VM 参数,但仍然无法解析属性

0 投票
1 回答
102 浏览

java - 使用 Spring 云值时 EmbeddedWebApplicationContext 的 ClassNotFoundException

我已经将 Spring Boot 应用程序从 1.5.2.RELEASE 升级到 2.3.0.RELEASE(我知道,这是一个巨大的障碍)。我的主要问题是,我使用的 Spring Cloud 版本是 Hoxton.SR5,它为 and 引入了 2.2.3.RELEASEspring-cloud-vault-config版本spring-cloud-vault-config-databses。这些依赖项中的任何一个都会抛出Caused by: java.lang.ClassNotFoundException: org.springframework.boot.context.embedded.EmbeddedWebApplicationContext

这是一个重大的变化还是我错过了一个依赖?我的 pom.xml 如下:

完整的错误信息如下:

任何帮助将一如既往地感激不尽!

0 投票
2 回答
1050 浏览

spring-boot - 如何从密码 hashcorp vault 动态读取 liquibase.properties

在我的 Spring Boot 项目中,我正在尝试设置 liquibase 并在开发、测试和生产数据库之间使用它。liquibase.properties除了将凭据从 HashiCorp Vault传递到文件之外,一切似乎都运行良好。我可以 application.properties毫无问题地访问凭据,但我不能liquibase.properties存档。我有以下文件,我想从密码库动态传递 URL 和凭据。

liquibase.properties

0 投票
0 回答
738 浏览

java - 出现错误“无法使用 Kubernetes 登录:无效的角色名称“abc-reader-xyz-cluster”;嵌套异常”

我有集群“ABC”。现在我将应用程序移动到“XYZ”集群。我用Clsuter“XYZ”更改了所有配置文件。现在,当我尝试部署应用程序时,出现以下错误:

0 投票
3 回答
2344 浏览

java - 如何使用 SpringBoot 从 Vault 中获取数据库凭据?

我有一个springboot使用这些版本的应用程序:

我已经使用了此处描述的自定义类(来自@Arun 的回答):Configuring Spring Cloud Vault Config to pull from a location than /secret

它甚至似乎都没有选择保管库配置。我有bootstrap.yml以下内容:

我正在尝试在本地提出它,所以我有application.yml以下内容:

这是我试图将值vault注入我的数据源的地方:

当应用程序启动时,它DatabaseCredentials是空的。

我做的另一种方式是这样的:

这也空出来了,说它找不到ccm.database.username.

我究竟做错了什么?

0 投票
0 回答
520 浏览

kubernetes - 在 k8s 中使用 AppRole 身份验证的 Vault 抛出 403

我有一个 spring boot 应用程序,它使用 approle+bound_cidr_list 设置对 vault 进行身份验证。使用 docker-compose 进行测试时身份验证工作正常,但使用 Kubernetes 时同样失败并出现 403 错误。

我们还通过在不同的 VM 中安装 Vault 并在另一个 VM 中安装应用程序来测试这一点,它工作正常。

如果使用 docker-compose 进行身份验证正常,为什么 kubernetes 也会失败?

我需要在这里配置 kubernetes-auth 吗?

在过去的两天里,我被困在这个身份验证问题上,任何帮助都将不胜感激。

0 投票
1 回答
632 浏览

spring-cloud - 登录后 Spring Vault 不使用新令牌

我正在尝试使用 Spring Vault 云从 Vault 中读取机密。我使用服务令牌类型。

在我的设置中,max_ttl 设置为 1h,ttl 设置为 10 分钟,因此令牌将每 10 分钟更新一次,直到达到 max_ttl。一旦达到 max_ttl,令牌将被丢弃/撤销并执行新登录,接收新令牌。

问题是在尝试读取机密时,仍然使用旧的过期令牌。

知道为什么会这样吗?

使用:

  • spring-cloud-config-2.2.3
  • spring-vault-core-2.2.0
  • Kubernetes

保险柜审核日志: 在此处输入图像描述