google-cloud-platform - 如何启用 GitHub Webhook 调用 Google Cloud 函数
问题描述
我设置了一个 GitHub Webhook,它是我的 Cloud Function 的触发器,所以每当使用这个 GithHub Webhook 对存储库进行更改时,都会调用 Cloud Function。它适用于未经身份验证的访问,但是当使用经过身份验证的访问时,必须进行一些设置。
我已经尝试在 GCP 中使用 Service Accounts,其中服务帐户只能调用特定的 Cloud Function,但问题是我无法明确将此服务帐户分配为 GitHub 的 Webhook。
注意:我考虑过使用承载令牌并将其添加到我的云函数中,这将提供一层安全性,但这不会阻止云函数被调用,对吧?
解决方案
是的,您需要通过 Google 帐户(服务帐户或用户帐户)进行身份验证并获得 IAM 授权才能调用该函数。遗憾的是,Github webhook 不支持服务帐户密钥文件来生成安全令牌,然后安全地调用您的 Cloud Functions。
但是,您可以使用 API 密钥(您可以将其添加到 WebHook 的 URL)。我写了一篇今天也适用于API Gateway的文章(我的文章中使用的 ESPv2 的托管版本)
推荐阅读
- python - Python 的 not() 函数不是普通函数?
- asp.net - IIS 用# 符号重写
- docker-compose - 如何从 docker-compose.yml 文件执行多个命令
- c# - 较小的字符串给出较大的文件大小
- python - 如何让 VSCode 始终运行 main.py
- python - Python C API:尝试使用 MSVC 的示例模块时访问冲突
- python - 为什么 Matplotlib 的颜色图的结构不同?
- c++ - x86 上需要 std::memory_order_acquire 栅栏吗?
- php - 在 Laravel 中使用 Office365 直接发送 SMTP
- r - 如何将保存为字符串的序列转换为数字?