为什么授予“allAuthenticatedUsers”成员“云函数调用者”角色不适用于谷歌云函数?

mj2*_*j21 2 oauth-2.0 google-cloud-platform google-cloud-functions

根据 Google 文档,“allAuthenticatedUsers”成员将包括任何经过身份验证的人,包括常规 gmail 帐户。所以我给了那个成员“云函数调用者”角色,认为任何经过身份验证的用户都应该能够调用我的谷歌云函数。那是行不通的。我得到以下结果:

错误:禁止 您的客户端无权从此服务器获取 URL /function-1。

我已经证明,如果我将“云函数调用者”角色授予“allUsers”,则可以调用该函数。所以我知道该功能有效(这是谷歌云创建的默认功能)。

那么为什么不授予“allAuthenticatedUsers”成员“云函数调用者”角色对谷歌云函数起作用呢?我错过了什么?

谢谢

mj2*_*j21 7

正确答案

归功于约翰汉利。我需要在不记名令牌授权标头中使用 id_token 而不是我的 access_token。

我不确定如何将此问题标记为已回答。我不能接受评论,也不能接受我自己的答案。我的目的是通过将此问题标记为已回答来帮助其他有同样问题的人,但我不能这样做。奇怪的!

如果可以,请将答案标记为正确。


pet*_*ina 0

根据Cloud Functions 文档,您不应在项目级别应用allUsers和(请参阅“控制项目中所有函数的访问”中的注释)。您可以尝试将此应用于您想要保护的单个功能吗?allAuthenticatedUsers