首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hashicorp Vault --您应该在kv中存储客户提供的秘密吗?

Hashicorp Vault --您应该在kv中存储客户提供的秘密吗?
EN

Stack Overflow用户
提问于 2020-04-18 08:58:57
回答 2查看 623关注 0票数 3

我需要存储用户提供给我的非常敏感的秘密(用于身份验证到第三方API的username+password+certificate)。

我首先考虑的是AWS秘密管理器,它非常昂贵,IMHO主要用于基础设施机密(数据库密码、API密钥、.)而不是客户提供的秘密。现在,我决定使用AWS KMS (并使用信封加密将加密的秘密存储在数据库(AWS RDS)中)和Hashicorp Vault。

根据我所读到的,我得出的结论是,Vault KV主要用于基础设施机密,Vault Transit可能在某种程度上相当于AWS KMS (更好地用于客户提供的秘密)。

由于我正在构建一个非常小的应用程序,如果我决定使用Vault KV,那么我根本不需要数据库。但我不确定Vault KV是否合适。

对于这个用例,我应该注意到Vault KV是否存在一些限制或可能的问题?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2020-12-22 13:07:29

关于KMS

AWS KMS实际上只用于管理主密钥。参数存储将使用遮罩下的KMS来管理其加密密钥。如果您在AWS中部署Vault,您可能也会使用KMS来解封并作为主密钥。您可能不想直接使用KMS (因为其他解决方案为您提供了每个秘密/路径策略、秘密版本控制、审计日志、所有您可能希望/需要的特性,而KMS不会直接提供这些特性)

金库KV机密引擎与Vault中转机密引擎

金库密钥-值机密引擎允许您存储秘密,而Vault管理加密、审计日志、访问(如果使用KV v2的话还有版本)。

传输机密引擎可以被看作是“加密为服务”:

  • 您可以调用它来创建一个密钥环(把它看作是一个数据加密密钥,其中包含旋转机制,因此也就是密钥环。)
  • 然后您可以使用密钥环引用来加密一些内容,并获得一些加密的密码文本,您可以将其存储在数据库或文件中。或者您可以进行反向操作,并使用密钥环引用(一些密码文本)调用它,并要求它对其进行解密并获取数据(假设您有正确的策略)
  • ;或者,如果您要加密/解密的数据是“大的”(取决于您的用例),您可以使用它获取您可以用于本地加密/解密数据的数据密钥。(您获得密钥,加密或解密它,但您不需要处理加密密钥安全性:金库为您管理,这样您就可以从内存中清除它,并在下次从Vault取回它)

您应该使用Vault还是AWS SSM参数存储?

就像很多事情一样:视情况而定。这取决于你的标准。我确实喜欢这两种情况,但是对于不同的用例,所以让我列出我在这两者之间看到的主要区别,希望它能给您提供足够的上下文来做出选择:

  • 是否已管理?:是完全管理的,而且成本低廉,因此这是您不必考虑的负担。如果Parameter满足了您的需求,那么它就会给您一些宝贵的时间来处理其他事情。

  • 访问管理:保险库提供了许多身份验证选项,并且易于对策略进行推理。如果IAM策略足以覆盖所有用例以授予对这些秘密的最小访问权限,则Parameter是一个很好的选择。否则,Vault会帮你搞定的。--

  • 别忘了Vault提供了许多其他的秘密/加密工具。它们可能会使您的项目受益(但请检查一下)

我的经验法则是:如果AWS足够了,而且除了简单的秘密存储之外,您没有任何其他需要,那么SSM参数存储听起来是个不错的主意。

如果您有其他加密需求,或者其他一些身份验证/策略需求,这将使构建在IAM< Vault之上的工作更具挑战性。

如果您有很多秘密要存储/加密/解密,Vault的传输秘密引擎可以对数据进行加密/解密,而用于存储这些加密blob的常规DB将非常完美地工作。

票数 0
EN

Stack Overflow用户

发布于 2021-01-27 16:32:33

好奇您为什么要避免AWS SSM。如果您有大量的数据需要加密和存储,但只是好奇,这可能有点限制。

看起来,如果您想要避免秘密管理器的成本,那么加密的RDS数据库不会给您带来太多好处。

AWS秘密经理似乎相当合理,除非你有一个非常大的音量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61286584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档