Key / Value —— Version 1
kv
机密引擎用于在 Vault 使用的物理存储中存储任意机密。
写入 kv
引擎中的键将用新值替换旧值;子字段不会合并在一起。
键名必须始终是字符串。如果您直接通过命令行编写非字符串类型的值,它们将被转换为字符串。但是,您可以通过从 JSON 文件或使用 HTTP API 写入键值数据来保留非字符串类型的值。
这个机密引擎能够区分 ACL 策略内的create
和update
功能之间的区别。
注意:路径名和键名没有被混淆或加密;只有在键上设置的值是加密的。不要将敏感信息存储为机密路径的一部分。
配置
启用 version 1 的 kv
存储:
$ vault secrets enable -version=1 kv
可用标志
配置完机密引擎后拥有合适权限的 Vault 令牌的用户或者机器就可以用它来读写数据了。kv
机密引擎允许在键值对的值中写入任意数据。
- 写入一些数据:
$ vault kv put kv/my-secret my-value=s3cr3t
Success! Data written to: kv/my-secret
- 读取一些数据:
$ vault kv get kv/my-secret
Key Value
--- -----
my-value s3cr3t
- 列出键:
$ vault kv list kv/
Keys
----
my-secret
- 删除一个键:
$ vault kv delete kv/my-secret
Success! Data deleted (if it existed) at: kv/my-secret
TTL
与其他机密引擎不同,kv
机密引擎不会强制执行 TTL 过期。取而代之的是,lease_duration
提示消费者应该多久检查一次新值。
如果设置了一个键的 ttl,kv
机密引擎将使用此值作为租约期限:
$ vault kv put kv/my-secret ttl=30m my-value=s3cr3t
Success! Data written to: kv/my-secret
即使设置了 ttl
,机密引擎也不会自行删除数据。 ttl
只是一个参考。