Vault 架构 - 多环境

问题描述

我目前正在考虑如何在多种环境中正确部署 Vault:开发、暂存和生产。每个环境都有自己的集群。这里有多个选项:

  • 一个全球保险库 (Vault Cloud)
  • 每个环境一个保管库(在集群中运行)
  • 一个全局保管库 (Vault Cloud) 和每个环境一个保管库(在集群中运行)

许多人建议每个环境有一个保险库。但是,特定于该环境的外部资源(S3、DB...)呢?如果我们使用 terraform 销毁/重新创建集群,我们将丢失机密,而我们没有销毁外部资源,因此我不确定存储凭据的正确位置。以下是一些用例:

  • Stripe API 凭据(由多个 env 共享的秘密):如果通过 staging 和 prod 共享,例如,我猜它应该在全局 Vault 中?也许它应该从全局“同步”到本地?
  • MysqL 即服务用户凭据(外部机密):如果我们将凭据存储在环境保管库中,则每次重建集群时都会丢失凭据,而 MysqL 即服务是集群“外部”的。但也许这就是我们应该期待的?
  • Redis operator K8S(本地机密):由于服务只存在于环境集群中,我猜凭据应该坚持环境保险库
  • Dev S3 存储桶(外部机密):与 MysqL 数据库相同,如果我们将凭据存储在 Dev 集群中,那么每次使用 terraform 部署时都会丢失凭据。也许我们应该期待这个或存储在全球保险库中?

我没有找到有关此主题的文档。您有什么建议?

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...