Google HTTP 云函数 returns 403

Google HTTP Cloud Function returns 403

我使用无服务器框架来管理我的云功能。其中一些是 HTTP 类型的。最近,所有 HTTP 功能都开始失败并出现 403 错误。无论您是在浏览器中输入 URL 还是使用云调度程序触发它。它唯一起作用的地方是云控制台中函数的测试选项卡,当您单击“测试函数”按钮时。

有没有可能 Identity Aware Proxy has been enabled for the Cloud Function URLs? If you navigate to Cloud Console 然后到 "Security" 和 "Identity-Aware Proxy",你应该可以看到 IAP 设置以及 Cloud Function 是否被 IAP 保护。

如果这不是原因,我会建议在您的函数中放置一些日志记录,以明确函数是否被调用,然后在函数执行的某处返回 403(表明函数本身,而不是身份基础设施)或者如果函数从未被调用(403 是在 Cloud Function 之外生成的),在这种情况下,您可能需要联系 Cloud Support 寻求帮助(如果 IAP不是原因)。

所以,我没有找到错误的原因,但通过删除函数并重新部署它来解决。

serverless remove
serverless deploy

Google Cloud Functions 添加了一些新的 IAM 功能,不确定最近的时间,现在新功能默认没有 public 访问权限。

万一有人来这里我想我会在这里分享这些信息。

要调用您的函数,您首先必须为该函数添加权限,您可以通过在函数列表中选择该函数并将 allUsers 添加到 Cloud Invokes 角色来执行此操作,您可以逐步查看在:

https://lukestoolkit.blogspot.com/2020/06/google-cloud-functions-error-forbidden.html