docker-如何使用Hashicorp Vault管理我的应用程序机密?

我对Hashicorp Vault的产品感到非常兴奋,但是我很难确定它是否适合我们当前的体系结构.毫无疑问,每次部署时都需要手动打开保管库,这极大地提高了安全性,但是当保管库最初被密封时,应用程序将如何做出反应?

例如,如果应用程序A依赖于Vault生成数据库凭证才能初始化,那么在Vault被密封的情况下部署该应用程序意味着如何反应?检查密封状态时是否等待旋转?

此外,其他人如何在生产中使用某些秘密预填充Vault?例如,我们有一个身份验证服务器,它依赖于一个一致的系统密码,该密码必须在启动时从Vault中获取.部署保险柜后,如何安全地确保此机密可用?

作为记录,我们正在使用docker-compose和ecs compose部署Vault和其他服务.

最佳答案
无需在部署之间密封您的保管库.保管箱需要未密封的保管库来更新租约,读取机密,创建凭据等.在正常使用期间,保管库通过身份验证和授权来保护.

当检测到重大入侵时,应密封您的库.密封金库可以通过丢弃重建的主密钥来最大程度地减少损坏.这样可以防止保险柜在风险减轻之前运行. Sealing不会撤销Vault颁发的凭据.

您还询问了有关导入先前存在的机密以及如何“在部署Vault后安全地确保此机密可用的信息?”:

您应为已存在的机密发布写命令,以在打开保管库后将其导入.您可以通过阅读来安全地确保该秘密存在.使用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

相关文章

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Li...
1、什么是docker?答:docker是开源的应用容器引擎;开发人员把他们的应用及依赖包打包发布到容器当中。...
1、什么是namespace? 答:名称空间,作用隔离容器 2、namespace隔离有那些? 答:ipc:共享内存、消息队...
1、Docker能在非Linux平台(Windows+MacOS)上运行吗? 答:可以 2 、如何将一台宿主机的docker环境...
环境要求: IP hostname 192.168.1.1 node1 项目规划: 容器网段:172.16.10.0/24 NGINX:172.16.10.10...
文档上传地址:https://files.cnblogs.com/files/lin-strive/07-docker%E8%B7%A8%E4%B8%BB%E6%9C%BA%E7...