我如何使用Hashicorp Vaultpipe理我的应用程序秘密?

我对Hashicorp Vault的产品感到非常兴奋,但是我无法理解它如何适应我们现在的build筑。 毫无疑问,需要在每次部署时手动开启电子仓库,这对安全性来说是一个很大的好处,但是,当电子仓库初始密封时,应用程序如何反应呢?

例如,如果应用程序A依赖于Vault生成的数据库凭证进行初始化,那么此应用程序在部署Vault时如何反应? 旋转等待检查密封状态?

另外,其他人如何在生产中预先安装保险库? 例如,我们有一个身份validation服务器,它依赖于在启动时必须从Vault中获取的单一一致的系统密钥。 如何在部署保险柜之后安全地确保这个秘密可用?

为了logging,我们正在使用docker-composeecs compose来部署Vault和其他一些服务。

没有必要在部署之间密封保pipe库。 保险柜需要一个非密封的保险库来续租,阅读秘密,创build凭证等。在正常使用期间,保险库通过身份validation和授权进行保护。

当发现重大入侵时,您应该密封您的金库。 密封保险箱可以通过丢弃重build的主密钥来帮助减less损失。 这可防止Vault运行,直到风险得到缓解。 密封不撤销Vault颁发的凭据。

您还询问了如何导入预先存在的秘密,以及如何“在部署保险柜之后安全地确保这个秘密可用?”:

您应该为您的预先存在的秘密发出写入命令,以在保pipe库启封后导入它们。 您可以通过阅读来确保秘密的存在。 使用CLI或API时,读写操作通常是安全的。

 $ vault write secret/single-consistent-system-secret value=secret-stuff Success! Data written to: secret/single-consistent-system-secret $ vault read secret/single-consistent-system-secret Key Value lease_duration 2592000 value secret-stuff