0

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

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

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

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

我没有找到关于这个主题的文档。你有什么建议?

谢谢

4

0 回答 0