HashiCorp Vault 密封问题

8
我开始使用Hashicorp的Vault来管理秘密,并对Vault密封的日常操作有些疑问。我的工作流程包括两个认证后端:具体用户通过写入权限访问Vault以添加新的秘密,而服务器则通过只读权限访问所需的秘密。
1)在正常情况下,Vault是否保持未密封状态?我相信应该是这样的,因为动态配置的服务器不必协调解封。
2)密封的目的是为了将员工踢出来轮换密钥,在入侵的情况下保险吗?
3)保证Vault进程始终运行的最佳做法是什么?如果Vault进程停止运行,Vault会密封。此外,在高可用配置中,如果一个Vault节点的进程死亡,它会为所有人密封Vault吗?
2个回答

7

我在Vault Google Group上提出了这个问题,以下是最好的回答:

1)在正常情况下,Vault是否保持未封存状态?我认为应该是的,因为动态配置的服务器不需要协调解封。

是的。一旦Vault初始化并解封,它就“通常”保持未封存状态。

2)密封的目的是将员工退出以旋转密钥,并在发生入侵的情况下吗?

Vault的密封使得停止Vault的所有服务成为一个轻松的事情。它需要特定数量的未封存密钥持有者才能使Vault再次运行。

3)确保Vault进程始终运行的最佳实践是什么?如果它停止运行,Vault会被封存。此外,在高可用配置中,如果一个Vault节点的进程停止了,它会为所有人密封Vault吗?

没有官方的最佳实践建议。但是,在专用实例/群集中运行Vault,并且对其内存的访问非常有限/无限制是不错的选择。使用支持HA的后端运行Vault也是不错的选择。如果群集中的任何节点关闭或者Vault进程重新启动,则Vault将处于密封状态,并需要执行解封操作才能使其运行。

最好的祝福, Vishal


2
取自https://www.vaultproject.io/docs/concepts/seal.html
  1. "在正常情况下,Vault是否保持未密封状态?"-

Vault服务器启动时会处于密封状态。 在此状态下,Vault被配置为知道如何访问物理存储的位置和方式,但不知道如何解密任何内容。

解除密封是构建主密钥所必需的过程,以读取解密密钥以解密数据,从而允许访问Vault。

在未解封之前,Vault几乎无法进行任何操作。 例如,认证,管理挂载表等都不可能。唯一可能的操作是解封Vault并检查解封的状态。

  1. "密封的目的是将密钥轮换外包给工作人员,并防范入侵吗?" -

这样,如果发现入侵,Vault数据可以快速锁定以尝试最小化损害。 没有主密钥碎片的访问权限,就无法再次访问它。

  1. "因为如果Vault服务器停止,则Vault将被密封?" - 是的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接