授予 GCP Cloud Function (CF) 的正确权限是什么,以便它只能从另一个 CF 调用?

What is the correct Permission to give GCP Cloud Function (CF) so that it's callable ONLY from another CF?

我需要一个云函数 (CF) 来调用另一个受保护的 CF。受保护意味着它只能被其他 CF 调用,不能从 Internet 调用。

受保护的 CF: 我在创建它时禁用了 "Allow unauthenticated invocations"。 我现在需要为这个函数赋予正确的角色和权限,以便它可以从其他 CF 访问。

我几乎尝试了所有选项,但总是从调用者那里收到 403。

有什么想法吗?谢谢!

您可以通过向调用函数标识授予 Cloud Functions Invoker 角色来指定接收函数接受来自其他函数的请求。有关此 here.

的更多信息

Cloud Functions 运行 下的特定身份,由它们 运行 下的服务帐户提供。默认情况下,此服务帐户与 App Engine 相同,PROJECT_ID@appspot.gserviceaccount.com。因此,通过将调用者角色赋予该服务帐户,您将允许所有其他函数调用该函数。您可能希望为每个函数提供不同的 identity/service 帐户,以便以更精细的方式指定访问权限。有关此 here.

的更多信息