【问题标题】:Vault fail to auto unseal after consul snapshot restore领事快照还原后保险库无法自动解封
【发布时间】:2020-04-29 01:49:17
【问题描述】:

所以基本上,我已经在 AWS 的 kubernetes 集群中建立了一个带有 Consul/Vault 的架构。当 Pod 启动时,我的保管库会使用 AWS KMS 自动解封。

最近我做了一些关于使用 consul 快照备份 vault 的测试。

我测试的场景是:

  1. 首先拍摄 Vault consul snapshot save vault.prod.snap 的快照
  2. 然后删除 vault 执行 consul kv delete -recurse vault/
  3. 删除保管库状态集和 pod
  4. consul 快照恢复 vault.prod.snap
  5. 最后重新创建保险库状态集

结果:

在自动开封期间,我在第三个键上收到错误 500,上面写着: 正文 {“错误”:[“无法解密加密的存储密钥:密码:消息身份验证失败”]}

我尝试了另一个不使用命令 kv delete -recurse vault/ 清理保管库的测试 我基本上只是删除了 UI 和恢复中的几个策略。这种情况似乎可以正常工作,只是当我从“零”恢复时,我的保险库无法再开封。

有人可以给我一些提示吗?

【问题讨论】:

  • 执行 consul restore 后,提供的未密封密钥不再有效

标签: consul hashicorp-vault


【解决方案1】:

3天后我终于解决了这个问题

修复以下问题后,我的保险库能够再次解封:

  1. 重复节点 ID :https://github.com/hashicorp/consul/issues/4741
  2. Consul 服务器必须获得具有足够权限的 ACL 令牌

对于第一个问题,我重用了一个 ruby​​ 脚本并将其添加到 consul docker 映像中,以便为每个 consul 生成一个永久节点 ID。

关于第二个问题,我的代理 ACL 策略没有授予代理进行必要更新所需的权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-02
    • 1970-01-01
    • 1970-01-01
    • 2016-06-23
    • 1970-01-01
    • 2020-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多