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") - 按照指定格式打印输出。合法的格式有 tablejsonyaml。也可以通过环境变量 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 字段。可以通过多次使用该选项来指定多个键,每次指定一个键

results matching ""

    No results matching ""