使用 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 来保存该加密密钥。
我目前是 运行 通过 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 来保存该加密密钥。