operator generate-root
operator generate-root
命令通过组合多个密钥持有人的密钥(例如 Shamir)来生成新的根令牌。使用 -dr-token
或 -recovery-token
选项时,可以以相同的方式生成 DR(灾难恢复)操作令牌或恢复令牌。
要开始生成根令牌,需要满足一下任意一个条件:
- 一个通过
-otp
标志提供的 base64 编码的一次性密码 (OTP)。使用-generate-otp
标志生成一个可用值。返回的令牌会与该一次性密码进行按位异或(XOR)后返回。使用-decode
标志输出最终值。 - 在
-pgp-key
标志中包含 PGP 密钥或 keybase 用户名的文件。生成的令牌使用此公钥加密。
可以在命令行上直接提供解封密钥作为命令的参数。如果 key 指定为“-”,则命令将从 stdin 读取。如果 TTY 可用,该命令将提示输入文本。
例子
为生成根令牌预先生成一个一次性密钥(OTP):
$ vault operator generate-root -generate-otp
开始生成根令牌:
$ vault operator generate-root -init -otp="..."
输入一个解封密钥来继续根令牌生成的过程:
$ vault operator generate-root -otp="..."
可用标志
除了全局可用的标准标志以外,也可以配置下列标志:
输出选项
-format
(string: "table")
- 按照指定格式打印输出。合法的格式有table
、json
或yaml
。也可以通过环境变量VAULT_FORMAT
设定该值。
命令选项
-cancel
(bool: false)
- 重置根令牌生成进度。这将抛弃所有已提交的解封密钥以及配置项。-decode
(string: "")
- 解码并输出生成的根令牌。该选项需要将-otp
标志设置为初始化期间使用的一次性密钥。如果值为“-”,则从 stdin 读取未解码的令牌。-generate-otp
(bool: false)
- 生成并打印一个高熵的适合用作-init
标志参数值的一次性密钥。-nonce
(string: "")
- 初始化阶段使用的随机值。输入每个解封密钥时必须输入相同的随机值。-otp
(string: "")
- 与-decode
或是-init
标志一同使用的一次性密码-pgp-key
(keybase or pgp)
- 指向磁盘上一个包含二进制或 base64 编码 PGP 公钥的文件路径。这也可以使用格式keybase:<username>
指定为 Keybase 用户名。设置该标记时,生成的根令牌将使用给定的公钥进行加密和 base64 编码。-status
(bool: false)
- 在不提供解封密钥的情况下打印当前尝试的状态。默认为false
。-dr-token
(bool: false)
- 生成 DR (灾难恢复)操作令牌-recovery-token
(bool: false)
- 生成恢复操作令牌