使用 GCP 秘密管理器管理云中的数百个秘密 运行

Using GCP secret manager for hundreds of secrets in Cloud Run

我目前是 运行 通过 Google 的云 运行 平台的 SaaS。每个客户都有自己的 API 凭据,这些凭据需要安全存储,并在使用我的程序期间进行检索。

我想使用 Google 的 Secret Manager 作为存储这些 API 凭据的方法,但是我的问题是新机密的创建和检索似乎无法扩展。我目前在部署新 Cloud 运行 修订版期间将凭据添加为环境变量(链接到 Secret Manager 机密),但是我不想每次创建新凭据时都必须这样做。如果客户增加到数百个,这不是一个实用的解决方案。

我也有动态检索环境变量的问题。由于在构建时客户 ID 号未知,因此无法动态检索 process.env['API_USER_(customerID)'].

等变量

有没有一种方法可以添加和检索机密,而无需每次都创建新的 Cloud 运行 修订版?或者我只是为我的用例使用了错误的工具?

您可以读取和写入 Secret Manager,而无需在 Cloud 中将值定义为卷或环境变量 运行。

这是一个 API 调用来执行服务以获取秘密。有图书馆。我在这里看到的主要问题是成本可能意味着这么多的秘密。


你也可以问问自己这个设计是否正确。您还可以想象将 API 凭据加密保存在某个地方(例如在 Firestore 中与其他客户数据一起)并使用 Cloud KMS 来存储加密密钥。或 Secret Manager 来保存该加密密钥。