Vault 是否是存储用户敏感信息(例如他们的工资率或个人身份)的正确工具?
“普通”员工/用户只能访问自己的数据,但具有会计角色的用户必须访问所有人的数据。用户通过 ldap 进行身份验证,因此我认为 Vault 是一个不错的选择,因为它可以与 ldap 集成,我可以使用其策略来限制访问。
我无法使用秘密环境变量进行加密,因为即使 DevOps 也不应该访问用户的敏感数据。
答案1
Vault 的安全性非常强,因此您不必担心静态数据的安全加密。
但Vault 不是数据库。这是一个基本的键值存储。您必须想出一个方案,让您可以直接找到您要查找的数据,例如查询某个值的哈希值,例如employee_id
。无论您选择什么属性,都是唯一可以“查询”Vault 的属性。实际上,“检索”会是一个更好的词。
更不用说 Vault 不会自行运行。它又是需要管理的基础设施的一部分,甚至可能是两部分,具体取决于您选择的存储引擎。然后,您必须在其中实现基于最小权限的身份验证和授权。
因此,在了解您的用例和风险情景的详细信息后,我会考虑将敏感数据存储在普通的旧数据库中(并在其中实施严格的身份验证、授权和审计)。
你的应用程序可以在将数据发送到数据库之前对其进行加密。这就是Vault 旨在解决。