调用私有 GCF

Invoking a private GCF

我正在尝试调用 GCF,根据 the documentation,我将其网络设置设置为“仅允许内部流量”,通过来自同一项目中 GCE 实例的 curl。我收到 403 错误。

根据上述文档:

VM instances inside your project or service perimeter can still reach your function by making requests to its HTTPS endpoint.

如何确保来自同一项目的请求能够按照文档访问私有 GCF,并且不会像我现在看到的那样收到 403 响应?

有 2 个可能的安全层:网络和身份

内部入口是网络安全层:它检查请求是否来自您项目的网络。你的情况应该没问题

第二层是身份。您可以使用 IAM(默认设置)限制对 Cloud Functions 的访问。您可以通过允许具有 cloudfunctions.invoker.

角色的所有用户来使您的云功能 public

当然在这里,public 是指您项目中的任何人,因为入口是内部的,就像在 DMZ.

中一样

检查第二个参数