问题标签 [spring-vault]

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 回答
683 浏览

hashicorp-vault - 如何知道用于连接保险库的保险库令牌的有效性?

目前,我正在连接到一个公司保险库服务,在该服务中我使用保险库令牌并将其通过我的 spring 云配置服务中的以下标头传递,其中保留了所有微服务的属性。

其中http://localhost:8080是我的 spring 云配置服务,s.myvaulttoken是我的保险库令牌。这工作得很好。

我想知道这个令牌的有效性。我已经阅读了令牌可以有两种类型的文档:服务或批处理。我想知道这个令牌是否可以无限使用(因为根令牌的有效性是无限的)。

在此处输入图像描述

由于客户端微服务需要保险库令牌,我想找出知道令牌有效性的方法。你们能帮我详细介绍一下吗?

我点击了这个链接:https ://learn.hashicorp.com/vault/getting-started/authentication

0 投票
1 回答
579 浏览

spring - Spring Vault SSLPeerUnverifiedException

我有一个在 Spring Boot 中运行的应用程序,使用 Spring Vault 来检索密码。它正在使用 KubernetesAuthentication 登录。这一直很好,直到我升级到 Spring Boot 2.2.5。然后我开始得到 SSLPeerUnverifiedException。

使用以下依赖项,一切正常:

更新到下面,它开始失败:

ClientHttpRequestFactory我可以通过提供自定义而不是使用默认值来使其工作。

像这样创建 Vault RestTemplate 会导致SSLPeerUnverifiedException

像这样创建 RestTemplate 有效:

问题是为什么 Spring/HttpClient 中的更新会导致证书验证失败。该证书似乎有效,因为我要连接的主机位于证书的 SAN 中。

更新 问题似乎出在 httpcomponents.httpclient 上4.5.11。我可以通过使用最新版本的Spring-Vault,SpringSpring-Boot使用httpcomponents.httplient 4.5.10or4.5.12

0 投票
1 回答
732 浏览

spring - Spring Cloud 无法将 Vault 机密解析为 .yml

我正在使用微服务架构并拥有 spring 云配置服务和另一个微服务。

配置服务器依赖

这是 .yml 进入配置服务。然后进入我的微服务的 .yml ,我有 db.username 属性,我想从 Vault 中解析它,但我不能。你有什么想法?

此值被解析为 java 代码,但不解析为 .yml

现在对于我拥有的每个微服务,我想从配置服务中解析秘密,而不对微服务进行任何更改。目前正在从配置服务中读取本机 .ymls 并希望再添加一个源 :)

ApplicationStartupRunner 运行方法 Started !!root

0 投票
1 回答
1004 浏览

java - Spring Vault 无法访问 k/v 对

我正在尝试设置一个简单的 springboot 应用程序,使用 spring Vault 来存储 DB 和 API 凭据。

但我正在努力访问我的键值对。当我尝试在我的控制器中访问它(仅用于测试目的)时,它会引发 IllegalArgumenException

有谁知道为什么这不起作用?

我正在关注此仓库中的代码:https ://github.com/rwinch/spring-vault-talk/tree/master/hello-spring-vault

到目前为止我做了什么:

  • 使用命令在本地运行 Vault

vault server -dev -dev-root-token-id=12345

  • 使用命令添加键值

vault kv put secret/spring-vault-demo username=foo password=bar

  • 设置一个简单的 Spring Boot 应用程序

控制器

VaultConfig

应用程序属性

0 投票
1 回答
654 浏览

postgresql - 存储迁移检查错误:error="pq: permission denied for table vault_kv_store"

这是我的 Vault.config 文件。

我还根据vault storage doc在 vault 数据库中的公共模式下创建了表 vault_kv_store 和 vault_ha_locks 。

我们需要帮助来解决这个问题。

谢谢你。

0 投票
2 回答
190 浏览

java - 在 Spring Vault 中部分存储实体数据

我一直在浏览 Vault 文档,但我仍然不确定我是否正确理解了解决问题的方法。

想象一下有一个名为 Example 的实体。它有多个字段,例如名称,创建等,其中敏感字段,例如密码,secret_key。

该实体存储在 SQL 数据库(例如 PostgreSQL)中。现在我的目标是确保密码安全(因此是转换器类),但其余数据不安全。

是否可以将实体数据存储在 DB 中,同时将敏感数据存储在 Vault 中(在其后面的任何存储中)?因此,当我加载实体时,实体数据将从数据库加载,敏感数据从保险柜加载。

还是正确(也是唯一可行的)方法是仅使用 Vault 中的加密/解密转换器并将其存储在同一个数据库中?并通过 Vault 进行身份验证来限制这一点。

在这种情况下,如果 Vault 通常只用于静态机密,我只是感到困惑。

0 投票
1 回答
365 浏览

spring - Spring Vault Kubernetes Auth 不接受自定义挂载路径

使用 Spring Vault 2.1.2,我无法升级。我正在配置 AbstractReactiveVaultConfiguration 以使用 KubernetesAuthentication。

这是产生:

通过足够的日志记录,我发现它正在尝试发布到:

POST /v1/auth/foo%2Fbar/login

什么是转义“foo/bar”的配置路径以及如何避免这种情况?

0 投票
0 回答
835 浏览

kotlin - 具有 Kotlin Flow、协程和 NOT 挂起功能的并行 IO 请求

我使用 Spring Boot 和 WebFlux 运行基于 Netty 的 Kotlin 应用程序。详细情况如下:

  • 爪哇 11;
  • 科特林 1.3.61;
  • Spring Boot 2.2.5.RELEASE;
  • Spring Vault 核心 2.2.2.RELEASE。

我在 web 层上得到一个文件。WebFlux 从中创建一个Part( org.springframework.http.codec.multipart)。数据作为大小为 4Kb的块流存储在 Project ReactorFlux中:PartDataBuffer

由于符合框架的一致性,我将其转换Flux为 Kotlin 的Flow.

然后我在方法中使用同步 Vault 客户端encrypt(...)异步提交块(据我所知)flatMapMerge(注意encrypt(...)不是suspend,它是 HTTP 客户端顶部到远程加密提供程序的包装器):

我已经检查了这个答案https://stackoverflow.com/a/58659423/6612401并发现基于流的方法应该与flow { emit(...)}.

我的问题是我可以使用这种基于流的方法而不使用suspend函数吗?或者有没有更好的方法,考虑到我正在使用runBlocking(Dispatchers.IO)一个suspend fold(...)函数。

代码如下:

PS 该fold(...)函数将打开的块收集到 aByteArrayOutputStream以稍后计算哈希,并将加密的块收集到 aStringBuilder作为加密文件的结果。

PPS 我已经尝试过我的方法。该方法在我的 Core i5 8gen 4 物理内核机器上平均提交 5-7 个并行请求。它完成了它的工作,但没有那么快。如果 Vault 不在本地部署,我每 1 Mb 加密大约需要 1 秒。我知道这取决于网络的延迟。我什至不考虑 Vault 一侧的加密速度,由于只有 4Kb 的块大小,它快如闪电。有什么方法可以提高并发速度吗?

PPPS 我试过concurrency = MAX_CONCURRENT_REQUESTSflatMapMerge{...}. 到目前为止,没有什么显着的结果。最好将其保留为默认值。

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 回答
2752 浏览

java - Spring Vault 与 Spring Boot 应用程序集成

我正在尝试将 Spring Vault 与我的应用程序集成,但是一旦我运行应用程序,它就会抛出异常。我正在关注 Spring IO Documents,因为我是 Vault 集成的新手,但由于我提供了引导文件中所需的所有信息,所以无法找出异常。

这是我的 POM 文件

这是我的 Bootstrap.yml 文件

    
这是我的配置文件

这是我的主要应用程序

这是我得到的日志