首页 文章

Google Cloud功能:支持Google Cloud KMS

提问于
浏览
3

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

GCF从服务使用的Pubsub主题接收通知,该主题不应该知道第三方API .

第三方API需要使用基本HTTP身份验证进行身份验证 .

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

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

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

是否可以使用Runtime Configurator或Deployment Manager来配置Google Cloud Function的机密?

谢谢 .

2 回答

  • 2

    是否可以使用Runtime Configurator或Deployment Manager来配置Google Cloud功能的机密?

    没有内置服务可以让您配置此时Google Cloud Functions直接访问的机密,因此您当前使用的方法是暂时处理 Cloud 功能机密的正确方法 . 这可能会随着产品仍处于测试阶段而改变 .

    如果您愿意,可以使用相应的issue tracker向Cloud Function团队发出功能请求 .

  • 2

    仅在过去几个月内推出的另一个解决方案是使用带有Firebase功能的Google Cloud Runtime配置:https://firebase.google.com/docs/functions/config-env

    Firebase for Functions似乎可以访问通过其他方式尚未提供的多个功能 .

    Runtime Configurator不收取使用费,但强制执行以下API限制和配额:

    1200次每分钟查询(QPM),用于删除,创建和更新请求600 QPM以获取监视请求 . 6000 QPM用于获取和列出请求 . 每个用户4MB的数据,包括写入Runtime Configurator服务的所有数据和随附的元数据 . https://cloud.google.com/deployment-manager/pricing-and-quotas#runtime_configurator


    顺便说一句,我发现Firebase for Functions中的这个冲突是滑稽的:

    Firebase SDK for Cloud Functions提供内置的环境配置,使您可以轻松地为项目存储和检索此类数据,而无需重新部署您的功能 .

    片刻之后:

    运行功能后:config:set,必须重新部署功能才能使新配置可用 .


    KMS解决方案是一种可行的替代方案,但它似乎对功能而言代价高昂 . KMS的每个活动密钥每月收费0.06美元,每10,000次操作收费0.03美元 .

    然后,这会将您的 Cloud 功能的成本从每百万次调用0.40美元更改为每百万次调用3.40美元 . 这是一个很大的跳跃 .

相关问题