我有一个使用Hashicorp Vault存储用户名和密码密码的应用程序。该应用程序部署到云托管平台,并将令牌作为环境变量传递。在应用程序启动时,使用令牌从保险库读取密钥,并用于打开与远程服务的会话。远程服务的应用程序和会话是长期存在的。如果一切顺利,应用程序很少重新启动,因此很少从Vault读取。当应用程序重新启动时,令牌可能已过期而导致失败。
是否有关于客户应如何使用保险库的最佳实践指南?令牌生存期可以延长,但生命周期越长,安全性就越差。应用程序可以在每次需要时重新建立与远程服务的会话,但这样效率很低。还有另外一个我不考虑的选择吗?任何想法都将不胜感激。
答案 0 :(得分:4)
您应该使用App Roles而不是传入普通令牌。在此,您将角色ID烘焙到您的应用程序中,然后在您的环境变量中为该角色部署一个秘密ID。
然后,您的应用可以将这些组合在一起,以便在启动时从Vault获取真实令牌,并在令牌运行时定期续订。