问题标签 [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.
hashicorp-vault - 如何知道用于连接保险库的保险库令牌的有效性?
目前,我正在连接到一个公司保险库服务,在该服务中我使用保险库令牌并将其通过我的 spring 云配置服务中的以下标头传递,其中保留了所有微服务的属性。
其中http://localhost:8080是我的 spring 云配置服务,s.myvaulttoken是我的保险库令牌。这工作得很好。
我想知道这个令牌的有效性。我已经阅读了令牌可以有两种类型的文档:服务或批处理。我想知道这个令牌是否可以无限使用(因为根令牌的有效性是无限的)。
由于客户端微服务需要保险库令牌,我想找出知道令牌有效性的方法。你们能帮我详细介绍一下吗?
我点击了这个链接:https ://learn.hashicorp.com/vault/getting-started/authentication
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
,Spring
和Spring-Boot
使用httpcomponents.httplient
4.5.10
or4.5.12
spring - Spring Cloud 无法将 Vault 机密解析为 .yml
我正在使用微服务架构并拥有 spring 云配置服务和另一个微服务。
配置服务器依赖
这是 .yml 进入配置服务。然后进入我的微服务的 .yml ,我有 db.username 属性,我想从 Vault 中解析它,但我不能。你有什么想法?
此值被解析为 java 代码,但不解析为 .yml
现在对于我拥有的每个微服务,我想从配置服务中解析秘密,而不对微服务进行任何更改。目前正在从配置服务中读取本机 .ymls 并希望再添加一个源 :)
ApplicationStartupRunner 运行方法 Started !!root
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
应用程序属性
postgresql - 存储迁移检查错误:error="pq: permission denied for table vault_kv_store"
这是我的 Vault.config 文件。
我还根据vault storage doc在 vault 数据库中的公共模式下创建了表 vault_kv_store 和 vault_ha_locks 。
我们需要帮助来解决这个问题。
谢谢你。
java - 在 Spring Vault 中部分存储实体数据
我一直在浏览 Vault 文档,但我仍然不确定我是否正确理解了解决问题的方法。
想象一下有一个名为 Example 的实体。它有多个字段,例如名称,创建等,其中敏感字段,例如密码,secret_key。
该实体存储在 SQL 数据库(例如 PostgreSQL)中。现在我的目标是确保密码安全(因此是转换器类),但其余数据不安全。
是否可以将实体数据存储在 DB 中,同时将敏感数据存储在 Vault 中(在其后面的任何存储中)?因此,当我加载实体时,实体数据将从数据库加载,敏感数据从保险柜加载。
还是正确(也是唯一可行的)方法是仅使用 Vault 中的加密/解密转换器并将其存储在同一个数据库中?并通过 Vault 进行身份验证来限制这一点。
在这种情况下,如果 Vault 通常只用于静态机密,我只是感到困惑。
spring - Spring Vault Kubernetes Auth 不接受自定义挂载路径
使用 Spring Vault 2.1.2,我无法升级。我正在配置 AbstractReactiveVaultConfiguration 以使用 KubernetesAuthentication。
这是产生:
通过足够的日志记录,我发现它正在尝试发布到:
POST /v1/auth/foo%2Fbar/login
什么是转义“foo/bar”的配置路径以及如何避免这种情况?
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
中:Part
DataBuffer
由于符合框架的一致性,我将其转换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_REQUESTS
在flatMapMerge{...}
. 到目前为止,没有什么显着的结果。最好将其保留为默认值。
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 加载正确的配置。
java - Spring Vault 与 Spring Boot 应用程序集成
我正在尝试将 Spring Vault 与我的应用程序集成,但是一旦我运行应用程序,它就会抛出异常。我正在关注 Spring IO Documents,因为我是 Vault 集成的新手,但由于我提供了引导文件中所需的所有信息,所以无法找出异常。
这是我的 POM 文件
这是我的 Bootstrap.yml 文件
这是我的配置文件
这是我的主要应用程序
这是我得到的日志