我们正在使用Vault来存储我们的应用程序机密和配置。当我们的应用程序(Java)启动时,脚本可以完成从Vault获取机密和配置并将其存储在本地以供应用程序读取的所有魔力。该脚本使用AWS IAM角色对Vault进行身份验证。
现在我们正处于这样一种情况:应用程序需要随时随地读取Vault中的秘密,而不仅仅是在启动时。为此,我需要它能够在每个请求上进行相当多的身份验证。值得一提的是,该应用程序也可能在开发人员计算机上运行,因此无论进行何种身份验证 - 它都需要在EC2实例以及本地开发环境中运行。
我目前倾向于创建用户名和密码,将它们存储在Vault中以便应用程序在启动时获取。然后,应用程序可以使用该用户名/密码在需要时对Vault进行身份验证。 我也在考虑AppRole,但通过简单的用户/密码设置,它无法真正看到它的优势。
这个用例的最佳解决方案是什么?任何建议都将受到高度赞赏!
谢谢, Yosi
答案 0 :(得分:0)
AWS关于存储机密的建议是使用AWS Systems Manager Parameter Store。
在具有指定角色的Amazon EC2实例上运行的软件可以使用这些凭据访问参数存储以检索应用程序机密。
参数存储也可以在EC2之外使用 ,但仍需要一些AWS凭证才能对参数存储进行身份验证。