Hashicorp保管库中的一次性机密



任何秘密引擎都有可能拥有一个";一次性使用";暗语

我有一个为用户生成rsa密钥对的命令,并希望他们检索自己的私钥。我显然可以把它打印出来,或者写入文件等,但我认为如果它存储在";一次性使用";保险库中的位置?然后用户可以通过UI检索它,并知道没有其他人查看过它。如果其他人查看了它,他们将需要重新生成。

基本上,我们能拥有一把只能读取一次的保险箱钥匙吗?

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

# 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

其将生成令牌。

有了该令牌,用户将能够登录到保险库并只检索一次rsa信用,因为该令牌之后将无效。

现在,您可以保证只从目标用户使用了cred,因为包装的令牌只能打开一次。

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

更多信息

最新更新