首页 > 解决方案 > 如何启用 GitHub Webhook 调用 Google Cloud 函数

问题描述

我设置了一个 GitHub Webhook,它是我的 Cloud Function 的触发器,所以每当使用这个 GithHub Webhook 对存储库进行更改时,都会调用 Cloud Function。它适用于未经身份验证的访问,但是当使用经过身份验证的访问时,必须进行一些设置。

我已经尝试在 GCP 中使用 Service Accounts,其中服务帐户只能调用特定的 Cloud Function,但问题是我无法明确将此服务帐户分配为 GitHub 的 Webhook。

注意:我考虑过使用承载令牌并将其添加到我的云函数中,这将提供一层安全性,但这不会阻止云函数被调用,对吧?

标签: google-cloud-platformgoogle-cloud-functionsinvoke

解决方案


是的,您需要通过 Google 帐户(服务帐户或用户帐户)进行身份验证并获得 IAM 授权才能调用该函数。遗憾的是,Github webhook 不支持服务帐户密钥文件来生成安全令牌,然后安全地调用您的 Cloud Functions。

但是,您可以使用 API 密钥(您可以将其添加到 WebHook 的 URL)。我写了一篇今天也适用于API Gateway的文章(我的文章中使用的 ESPv2 的托管版本)


推荐阅读