Hashicorp Vault 客户端最佳实践

Hashicorp Vault client best practise

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

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

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

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