为了账号安全,请及时绑定邮箱和手机立即绑定

如何为 HTTP 触发器验证谷歌云功能?

如何为 HTTP 触发器验证谷歌云功能?

Go
当年话下 2022-11-28 16:57:40
我有一个功能应用程序,它托管在我的 GCP 项目中,并且启用了身份验证。此应用程序将根据事件从 Jfrog 容器注册表 Webhook 触发。我在这里面临的问题是对 HTTP 请求进行身份验证/授权。我尝试使用“Authorization: bearer”标头,效果很好。但该令牌似乎在 60 分钟后过期。问:是否有一种永久方式(没有过期)来授权/验证云功能 HTTP 请求?Jfrog webhooks 无法以编程方式创建令牌,因为它是一个简单的 HTTP POST 触发器,可以接受额外的标头。我发现很难从 GCP 文档中找到解决方案。我确实有使用“roles/cloudfunctions.invoker”角色创建的服务帐户。Jfrog artifactory webhooks参考:https ://www.jfrog.com/confluence/display/JFROG/Webhooks
查看完整描述

1 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

正是出于这个原因,我写了那篇文章。它基于 ESPv2 和 Cloud Run,但API Gateway是该技术堆栈的托管版本。原理和OpenAPI spec是一样的。

该解决方案将安全级别从短期令牌 (1h) 降级为长期令牌(无限制)。但是您可以使用 API 网关来确保 API 密钥检查和查询转发。

一个更简单的模式是删除对 Cloud Functions 的身份验证检查(并将其公开)并在您的函数本身中执行该 API 密钥(实际上是随机字符串比较)。


在这两种情况下,API 都是可公开访问的(API 网关或云功能),并且在 DDoS 攻击的情况下,没有任何东西可以保护您的服务(和您的资金)。设置正确的 Cloud Functions Max 实例以防止出现意外情况。


查看完整回答
反对 回复 2022-11-28
  • 1 回答
  • 0 关注
  • 82 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信