3

我正在使用从 Vault 服务器spring-cloud-vault检索版本。kv当我使用environemnt.getSecret("key1")then 它只返回最新版本的 key 例如world2。有没有办法通过使用spring-cloud-vault库指定给定密钥的版本号来检索旧版本的秘密?

#vault kv put secret/my-app key1=world1
Key              Value
---              -----
created_time     2018-09-20T12:00:19.6136263Z
deletion_time    n/a
destroyed        false
version          1

#vault kv put secret/my-app key1=world2
Key              Value
---              -----
created_time     2018-09-20T12:00:27.1820524Z
deletion_time    n/a
destroyed        false
version          2

谢谢你的帮助。

4

1 回答 1

0

Spring Cloud Vault 从 2.0 版开始支持版本化的 Key-Value API(key-value backend v2)。非版本化的 Key-Value API(key-value backend v1)有两个不同之处:

  1. 版本化的 Key-Value 后端使用不同的 API。特别是,HTTP 路径和 JSON 有效负载略有不同。
  2. 版本化的 Key-Value 后端能够存储多个版本。

对于 Spring Cloud Vault,只考虑了第一个方面,即 API 的差异(有关更多详细信息,请参阅相关的 GitHub 票证)。

Spring Cloud Vault 不使用版本控制方面(即读取较旧的机密版本),而是读取最新的机密版本。我提交了一张使用 Vault 的版本控制功能和配置属性/ Environment. 这张票应该是一个很好的地方,可以开始讨论这种集成的外观以及它如何最有意义。

于 2018-09-21T12:04:48.293 回答