Google Cloudfunction:支持Google Cloud KMS

我正在使用带有Pubsub触发器的Google Cloud Function(GCF),该触发器向第三方API发送HTTP请求。

GCF接收来自Pubsub主题的通知,该主题由不应该知道第三方API的服务使用。

第三方API需要使用基本HTTP身份validation进行身份validation。

为了不必在源代码中对密码进行硬编码,我每次部署我的函数时都使用Google KMS生成新的encryption密钥。 每次实例化函数时,我都使用Google Cloud KMS来解密秘密。

对于使用KMS解密,我必须为NodeJS Google API提供服务帐户的私钥。

我今天的主要问题是,如果我希望GCF正常工作,我必须将我的私钥推送到GCloud Bucket。

是否可以通过使用Runtime Configurator或Deployment Manager来configurationGoogle Cloud Function的机密?

谢谢。

是否可以通过使用Runtime Configurator或Deployment Manager来configurationGoogle Cloud Function的机密?

目前没有内置的服务可以让您configurationGoogle Cloud Functions直接访问的机密,因此您目前使用的方法是暂时处理云端function秘密的正确方法。 这可能会随着产品还处于testing阶段而改变。

如果需要,可以使用适当的问题跟踪器向Cloud Function团队发出function请求。

另一个只在过去几个月才出现的解决scheme是使用Google Cloud Runtime Configuration和Firebase for Functions: https ://firebase.google.com/docs/functions/config-env

Firebase for Functions似乎提供了一些尚未通过其他方式提供的function。

运行时configuration程序不收取使用费用,但强制执行以下API限制和配额:

  • 每分钟1200个查询(QPM)用于删除,创build和更新请求
  • 600 QPM的手表请求。
  • 6000 QPM获取和列表请求。
  • 每个用户有4MB的数据,包括写入Runtime Configurator服务的所有数据以及相应的元数据。

https://cloud.google.com/deployment-manager/pricing-and-quotas#runtime_configurator


顺便说一句,我发现在Firebase for函数中有这样的冲突:

Firebase SDK for Cloudfunction提供了内置的环境configuration,使您可以轻松地为您的项目存储和检索这种types的数据, 而无需重新部署您的function。

过了一会儿:

运行functions:config:set必须重新部署函数以使新的configuration可用。


KMS解决scheme是一个可行的替代scheme,但function似乎很昂贵。 KMS按每个活动密钥每月0.06美元计算,以及每10,000次操作0.03美元。

这样就可以将云function的成本从每百万次调用0.40美元改为每百万次调用3.40美元。 这是相当的跳跃。

Interesting Posts