0

我有一个使用 Hashicorp Vault 存储用户名和密码秘密的应用程序。该应用程序被部署到云托管平台并传递一个令牌作为环境变量。在应用程序启动时,使用令牌从保管库中读取密钥,并用于打开与远程服务的会话。远程服务的应用程序和会话是长期存在的。如果一切顺利,应用程序很少重新启动,因此很少从 Vault 中读取。当应用程序确实重新启动时,令牌可能已经过期,从而导致失败。

是否有关于客户应如何使用保险库的最佳实践指南?令牌的生命周期可以延长,但生命周期越长,安全性就越受损。应用程序可以在每次需要时重新建立与远程服务的会话,但这将是低效的。还有其他我不考虑的选择吗?任何想法将不胜感激。

4

1 回答 1

5

您应该使用App Roles而不是传入普通令牌。在此,您将角色 id 烘焙到您的应用程序中,然后在您的环境变量中为该角色部署一个秘密 id。

然后,您的应用程序可以结合这些以在启动时从 Vault 获取真正的令牌,并在该令牌运行时定期更新该令牌。

于 2017-10-06T08:48:16.847 回答