Hashicorp保险库中的一次性使用秘密

时间:2020-09-15 10:21:49

标签: hashicorp-vault

任何秘密引擎都可以使用“一次性使用”密码吗?

我有一个命令可以为用户生成一个rsa密钥对,并希望他们检索其私钥。我显然可以将其打印出来,或写入文件等,但是认为如果将其存储在Vault中的“一次性使用”位置会很好吗?然后,用户可以通过UI检索它,并且知道没有其他人查看过它。如果其他人观看了,则需要重新生成。

基本上我们可以拥有只能读取一次的保管库密钥吗?

1 个答案:

答案 0 :(得分:1)

例如,您可以创建只能访问该机密的策略

# policy: rsa
path "secret/rsa" {
  capabilities = ["read"]
}

,然后为该策略创建一个包装的令牌,例如

$ vault token create -policy=rsa -num_uses=1 -wrap-ttl=120
Key                              Value
---                              -----
wrapping_token:                  s.9QFJ8mRxGJD0e7kFfFIbdpDM
wrapping_accessor:               S0zKNUr2ENbnCtj0YyriO31b
wrapping_token_ttl:              2m
wrapping_token_creation_time:    2019-12-17 09:45:42.537057 -0800 PST
wrapping_token_creation_path:    auth/token/create
wrapped_accessor:                VmBKXoc19ZLZlHGl0nQCvV6r

这将生成一个包装的令牌。

您可以将其提供给最终用户,他们可以使用

VAULT_TOKEN="s.3Kf3Xfn58Asr3bSDkRXATHrw" vault unwrap

这将生成令牌。

使用该令牌,用户将只能登录到Vault并检索一次rsa凭据,因为此后令牌将无效。

现在,您可以保证目标用户只使用了凭据,因为包装的令牌只能被包装一次。

注意:如果最终用户通过UI,则创建令牌时可能需要调整num_uses,因为UI可能会使用令牌执行多个动作。

more info