kv patch

注意,该命令仅适用于 K/V Version 2 机密引擎,无法使用于 Versoin 1。

kv patch 命令将数据写入 K/V v2 机密引擎中的指定路径,可以是任何类型的数据。与 kv put 命令不同,patch 命令结合现有数据进行部分更新,而不是整体替换。

例子

如果想要对键 "creds" 上已有的数据添加一个额外的键值对(ttl=48h):

$ vault kv patch secret/creds ttl=48h
Key              Value
---              -----
created_time     2019-06-06T16:46:22.090654Z
deletion_time    n/a
destroyed        false
version          6

请注意:如果使用的是 kv put 命令,需要同时指定现有数据以及想要额外添加的新数据才能达到于上述 patch 命令等价的效果:

$ vault kv put secret/creds ttl=48h passcode=my-long-passcode

要写入的数据也可以从一个磁盘上的文件读取,文件名前加一个 "@" 前缀,例如:

$ vault kv patch secret/creds @data.json

或者也可以通过 "-" 符号从 stdin 读取:

$ echo "abcd1234" | vault kv patch secret/foo bar=-

可用标志

输出选项

  • -field (string: "") 只返回指定字段的数据。此选项优先级高于其他格式指令。结果的尾部没有换行符,使其适合通过管道与其他进程集成使用。
  • -format (string: "table") - 按照指定格式打印输出。合法的格式有 tablejsonyaml。也可以通过环境变量 VAULT_FORMAT 设定该值。

命令选项

  • -method (string: "patch") - 设置使用的更新方法。可用的选项有 patchrwpatch 方法使用 HTTP PATCH 请求执行部分更新。rw 方法会首先读取机密数据,在内存中进行更新后再写回新版本数据。
  • -cas (int: 0) - 配置是否要求使用 Check-And-Set 操作。该标志仅在使用 patch 方法时有效。如果机密或是机密引擎上设置了 cas_requiredtrue 那么该标志必须使用。为使 patch 操作成功执行,-cas 必须设定成机密当前的版本号。如果使用 rw 方法那么该标志设定的值将被忽略,取而代之的是使用读取机密时得到的机密版本号。

results matching ""

    No results matching ""