是否有"official"解决方案用于将敏感信息(如API密钥)传递给Google Cloud Functions?特别是避免将此信息作为参数传递给函数会很好,因为它对于每次调用都是相同的 . AWS Lambda为此使用加密环境变量built-in solution . Google Cloud Functions是否有类似的方法?
我可以想象使用 Cloud 存储桶或 Cloud 数据存储,但这感觉非常手动 .
是否有"official"解决方案用于将敏感信息(如API密钥)传递给Google Cloud Functions?特别是避免将此信息作为参数传递给函数会很好,因为它对于每次调用都是相同的 . AWS Lambda为此使用加密环境变量built-in solution . Google Cloud Functions是否有类似的方法?
我可以想象使用 Cloud 存储桶或 Cloud 数据存储,但这感觉非常手动 .
4 回答
你可以选择几个选项:
GCP运行时配置 . 设置一个只能由您的服务帐户访问的模式,并将您的秘密存放在那里 . 您可以在部署之前执行此操作 . 您的应用应该能够使用运行时配置API来访问这些 . 你可以使用这个漂亮的库:https://www.npmjs.com/package/@google-cloud/rcloadenv
动态生成JS,包括作为 Cloud 功能构建/部署的一部分的信息,并将该文件作为 Cloud 功能的一部分包含在内 .
使用Google KMS存储密钥并使用KMS API访问密钥
环境变量现在是 Cloud 功能的一部分:
https://cloud.google.com/functions/docs/env-var
如果你're using Cloud Functions with Firebase, you'正在寻找environment configuration .
这样,您可以从Firebase CLI部署配置数据:
然后在您的函数中阅读它:
至于现在,没有办法做到这一点 .