将密钥添加到 Spring Boot vault
Adding keys to Spring Boot vault
我正在实施 Spring 启动库。每当我尝试添加多个键时,只会保存最后一个。例如,在这个页面,https://www.javainuse.com/spring/cloud-vault,他们有这个例子
但是当我查询保险库时,我看到
c:\vault>vault kv get secret/javainuseapp
======= Data =======
Key Value
--- -----
dbpassword root
如果我同时设置两个键,似乎可以工作
c:\vault>vault kv put secret/javainuseapp dbusername=root dbpassword=root
Success! Data written to: secret/javainuseapp
c:\vault>vault kv get secret/javainuseapp
======= Data =======
Key Value
--- -----
dbpassword root
dbusername root
如何添加额外的密钥?
这是 Vault API 的标准用法,因此也是 CLI 的标准用法,它是围绕 REST API 的 Golang 绑定的包装器。如果你想用 Vault CLI 覆盖一个键值对并保留以前的键值对,那么你必须像在最后一个例子中那样额外指定它们:
kv put secret/javainuseapp dbusername=root dbpassword=root
在特定路径的命令期间指定的所有键值对都将存储在该秘密版本(该版本对应于等于该路径写入次数的整数,除非删除以前的版本)。所有键值对仍然存储,但在以前的秘密版本。当您执行命令 vault kv get secret/javainuseapp
时,您正在检索与最近写入对应的当前版本的秘密。
但是,请注意,如果 Vault 策略或多个策略支持对关联 role/user/etc 的秘密路径进行 patch
操作,那么您也可以执行 patch
子命令以仅在最新版本的秘密中更新一个键值对,同时保留其他键值对:
vault kv patch secret/javainuseapp dbusername=root
在这种情况下,dbpassword
密钥将保留在最新的秘密版本中。
我正在实施 Spring 启动库。每当我尝试添加多个键时,只会保存最后一个。例如,在这个页面,https://www.javainuse.com/spring/cloud-vault,他们有这个例子
但是当我查询保险库时,我看到
c:\vault>vault kv get secret/javainuseapp
======= Data =======
Key Value
--- -----
dbpassword root
如果我同时设置两个键,似乎可以工作
c:\vault>vault kv put secret/javainuseapp dbusername=root dbpassword=root
Success! Data written to: secret/javainuseapp
c:\vault>vault kv get secret/javainuseapp
======= Data =======
Key Value
--- -----
dbpassword root
dbusername root
如何添加额外的密钥?
这是 Vault API 的标准用法,因此也是 CLI 的标准用法,它是围绕 REST API 的 Golang 绑定的包装器。如果你想用 Vault CLI 覆盖一个键值对并保留以前的键值对,那么你必须像在最后一个例子中那样额外指定它们:
kv put secret/javainuseapp dbusername=root dbpassword=root
在特定路径的命令期间指定的所有键值对都将存储在该秘密版本(该版本对应于等于该路径写入次数的整数,除非删除以前的版本)。所有键值对仍然存储,但在以前的秘密版本。当您执行命令 vault kv get secret/javainuseapp
时,您正在检索与最近写入对应的当前版本的秘密。
但是,请注意,如果 Vault 策略或多个策略支持对关联 role/user/etc 的秘密路径进行 patch
操作,那么您也可以执行 patch
子命令以仅在最新版本的秘密中更新一个键值对,同时保留其他键值对:
vault kv patch secret/javainuseapp dbusername=root
在这种情况下,dbpassword
密钥将保留在最新的秘密版本中。