kv put
kv put
命令将数据写入 K/V 机密引擎中的指定路径。
如果使用 K/V v2,该命令会在指定位置创建新版本的机密。如果使用 K/V v1,此命令将给定的秘密存储在指定位置。
无论使用哪个版本的 K/V 引擎,如果指定路径上尚不存在该值,则调用者使用的令牌必须具有“创建”功能的 ACL 策略。如果该值已存在,则调用者使用的令牌必须具有“更新”功能的 ACL 策略。
例子
向键 "creds" 写入数据:
$ vault kv put secret/creds passcode=my-long-passcode
要写入的数据也可以从一个磁盘上的文件读取,文件名前加一个 "@" 前缀,例如:
$ vault kv put secret/foo @data.json
或者也可以通过 "-" 符号从 stdin 读取:
$ echo "abcd1234" | vault kv put secret/foo bar=-
可用标志
除了全局可用的标准标志以外,也可以配置下列标志:
输出选项
-field
(string: "")
只返回指定字段的数据。此选项优先级高于其他格式指令。结果的尾部没有换行符,使其适合通过管道与其他进程集成使用。-format
(string: "table")
- 按照指定格式打印输出。合法的格式有table
、json
或yaml
。也可以通过环境变量VAULT_FORMAT
设定该值。
命令选项
-cas
(int: 0)
- 配置是否要求使用 Check-And-Set 操作。如果忽略则允许进行写操作。如果设置为 0 那么只有在数据不存在时允许写入。如果设置为非零值那么只有当键的当前版本与指定值一致时允许写入。默认值为 -1