从 PubSub 推送订阅向云函数进行身份验证

Bre*_*ski 5 google-cloud-pubsub google-cloud-functions

我们使用 PubSub 进行排队,利用指向http 触发的云函数的推送订阅。根据文档,Cloud Run 和 App Engine 都将验证来自 PubSub 的请求,未列出云功能。我们已经使用了其他谷歌服务,比如调度程序来调用需要身份验证的函数,但在 PubSub 上还没有成功。

我的问题是,云函数是否支持通过订阅目标帐户集从 PubSub 进行身份验证,或者是否需要该函数读取并处理 JWT 本身以进行身份​​验证?

gui*_*ere 6

你需要不同的东西:

  • 具有 role/cloudfunctions.invoker 的服务帐户
  • 勾选Enable authentication
  • 选择您的服务帐户
  • 在受众字段中添加云函数 URL(如云函数中提供)。 这是 Ricco 答案中缺失的部分

在此输入图像描述


编辑1

PubSub 需要拥有在服务帐户上生成令牌的授权。检查这个的第一步。在那里,它展示了如何将 pubsub 服务代理服务帐户授予令牌创建者。

  • 感谢@guillaume 与我一起度过的所有时间并解决了这个问题。本例中的问题是观众字符串。我使用与端点相同的字符串,该字符串比函数上定义的触发器更长的路径。这对于以后的人来说应该是一个很好的参考。 (3认同)