kv metadata
注意,该命令仅适用于 K/V Version 2 机密引擎,无法使用于 Versoin 1。
kv metadata
命令包含一组与 Vault 的 Key/Value 机密引擎交互的子命令,用以获取挂载于指定路径上的 K/V Version 2 机密引擎的元数据信息以及版本信息。
可用标志
Usage: vault kv metadata <subcommand> [options] [args]
# ...
Subcommands:
delete Deletes all versions and metadata for a key in the KV store
get Retrieves key metadata from the KV store
put Sets or updates key settings in the KV store
kv metadata delete
kv metadata delete
命令删除指定键的所有版本数据以及元数据。
例子
删除键 "creds" 的所有版本数据以及元数据:
$ vault kv metadata delete secret/creds
Success! Data deleted (if it existed) at: secret/metadata/creds
kv metadata get
kv metadata get
命令读取指定键机密的版本化元数据。如果指定键不存在会返回错误。
例子
读取键 "creds" 的元数据:
$ vault kv metadata get secret/creds
========== Metadata ==========
Key Value
--- -----
cas_required false
created_time 2019-06-28T15:53:30.395814Z
current_version 5
delete_version_after 0s
max_versions 0
oldest_version 0
updated_time 2019-06-28T16:01:47.40064Z
====== Version 1 ======
Key Value
--- -----
created_time 2019-06-28T15:53:30.395814Z
deletion_time n/a
destroyed false
====== Version 2 ======
Key Value
--- -----
created_time 2019-06-28T16:01:36.676912Z
deletion_time n/a
destroyed false
...
kv metadata put
kv metadata put
命令可以用来在 K/V v2 机密引擎上创建一个空白的新键或是更新键配置。
例子
在 K/V v2 引擎上创建一个名为 "creds" 的空白键:
$ vault kv metadata put secret/creds
Success! Data written to: secret/metadata/creds
设置键 "creds" 的最大版本数:
$ vault kv metadata put -max-versions=5 secret/creds
Success! Data written to: secret/metadata/creds
注意:如果未设置,则使用引擎配置的最大版本。一旦机密的版本超过配置的最大允许数,最旧的版本将被永久删除。
对键 "creds" 启用 Check-and-Set 约束:
$ vault kv metadata put -cas-required secret/creds
注意:一旦 check-and-set 被启用,对该键的写操作都需要添加 cas
参数。否则,会默认使用引擎配置的值。
设置键 "creds" 的生存时长:
$ vault kv metadata put -delete-version-after="3h25m19s" secret/creds
注意:如果没有设置该值,那么会使用引擎配置的 Delete-Version-After 值。如果显式将键的 Delete-Version-After 值设置为大于引擎设置的值,那么会使用引擎设置的值。对 Delete-Version-After 设置的变更只会应用于新版本的键数据。
输出选项
-format
(string: "table")
- 按照指定格式打印输出。合法的格式有table
、json
或yaml
。也可以通过环境变量VAULT_FORMAT
设定该值。
子命令选项
-cas-required
(bool: false)
- 如果设置为true
那么所有写操作都要指定cas
参数。如果设置为false
那么会使用引擎配置的值。默认为false
-max-versions
(int: 0)
- 每个键允许保留的版本数。如果忽略,那么会使用引擎配置的最大版本数。一旦一个键的版本数超过了配置的允许值那么最旧的版本将被永久删除-delete-version-after
(string: "0s")
- 通过设置该值配置所有写入这个键的新版本经过多长时间后将被删除。如果忽略,那么将使用引擎配置的delete_version_after
值。可使用 Go 语言时长格式-custom-metedata
(string: "")
- 使用一个键值对设置custom_metadata
字段。可以通过多次使用该选项来指定多个键,每次指定一个键