从 PubSub 推送订阅对云功能进行身份验证

时间:2021-02-01 22:39:51

标签: google-cloud-functions google-cloud-pubsub

我们正在使用 PubSub 进行排队,利用指向 http 触发 云函数的推送订阅。根据 this 文档,Cloud Run 和 App Engine 都将验证来自 PubSub 的请求,但未列出云函数。我们曾使用其他 Google 服务(例如调度程序)来调用需要身份验证的函数,但在 PubSub 中却没有这样做。

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

2 个答案:

答案 0 :(得分:3)

你需要不同的东西:

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

enter image description here


编辑 1

PubSub 需要获得授权才能在服务帐户上生成令牌。检查 first step on this。在那里,它展示了如何将 pubsub 服务代理服务帐户授予令牌创建者。

答案 1 :(得分:0)

Pub/Sub 订阅支持对使用“推送”的订阅使用服务帐户身份验证。

要使用服务帐户,只需指定云功能的端点,启用身份验证并添加用于向云功能发送请求的服务帐户。确保服务帐户具有访问 PubSub 和云功能的适当权限。

enter image description here