首页 文章

将敏感信息传递给 Cloud 功能

提问于
浏览
12

是否有"official"解决方案用于将敏感信息(如API密钥)传递给Google Cloud Functions?特别是避免将此信息作为参数传递给函数会很好,因为它对于每次调用都是相同的 . AWS Lambda为此使用加密环境变量built-in solution . Google Cloud Functions是否有类似的方法?

我可以想象使用 Cloud 存储桶或 Cloud 数据存储,但这感觉非常手动 .

4 回答

  • 1

    你可以选择几个选项:

    • GCP运行时配置 . 设置一个只能由您的服务帐户访问的模式,并将您的秘密存放在那里 . 您可以在部署之前执行此操作 . 您的应用应该能够使用运行时配置API来访问这些 . 你可以使用这个漂亮的库:https://www.npmjs.com/package/@google-cloud/rcloadenv

    • 动态生成JS,包括作为 Cloud 功能构建/部署的一部分的信息,并将该文件作为 Cloud 功能的一部分包含在内 .

    • 使用Google KMS存储密钥并使用KMS API访问密钥

  • 1

    环境变量现在是 Cloud 功能的一部分:

    https://cloud.google.com/functions/docs/env-var

  • 1

    如果你're using Cloud Functions with Firebase, you'正在寻找environment configuration .

    这样,您可以从Firebase CLI部署配置数据:

    firebase functions:config:set someservice.key="THE API KEY" someservice.id="THE CLIENT ID"
    

    然后在您的函数中阅读它:

    functions.config().someservice.id
    
  • 7

    至于现在,没有办法做到这一点 .

相关问题