Key / Value
kv
机密引擎是一个通用的键值存储,用于在 Vault 使用的物理存储中存储任意秘密。该后端可以以两种模式之一运行;可以将其配置为存储密钥的单个值,或者可以开启版本控制并存储每个键的一定数量版本的值。
KV 版本 1
当运行非版本化的 kv
机密引擎时,只有最近写入的值会被保存下来。非版本化 kv
的好处是减少了每个键的存储大小,因为不需要存储额外的元数据或历史记录。此外,发送到以这种方式配置的引擎的请求将具有更高的性能,因为对于任何给定的请求,存储调用更少并且不需要用锁。
KV 版本 2
在运行 kv
引擎的 v2 时,每个键可以保留可配置的版本数的值。默认为 10 个版本。可以检索旧版本的元数据和数据。此外,Check-and-Set 操作可用于避免无意中覆盖数据。
当一个版本被删除时,底层数据不会被删除,而是被标记为已删除。可以撤销删除已删除的版本。要永久删除版本的数据,可以使用 destroy 命令或调用 API。此外,可以通过删除元数据命令或调用 API 来删除键的所有版本和元数据。这些操作中的每一个都可以进行单独的访问权限控制,从而限制谁有权软删除、取消删除或完全删除数据。
我们将用两个独立的节来分别讲述两个版本的 kv
引擎。