根据Google文档,“ allAuthenticatedUsers”成员将包括经过身份验证的任何人,包括常规gmail帐户。因此,我为该成员指定了“云功能调用者”角色,以为任何经过身份验证的用户都应该能够调用我的Google云功能。那是行不通的。我得到以下结果:
错误:禁止。您的客户端无权从此服务器获取URL / function-1。
我已经证明,如果我将“ Cloud Functions Invoker”角色授予“ allUsers”,则可以调用该功能。因此,我知道该功能有效(这是Google Cloud创建的默认功能)。
那么,为什么不授予“ allAuthenticatedUsers”成员“ Cloud Functions Invoker”角色用于Google云功能呢?我想念什么?
谢谢
答案 0 :(得分:0)
您不应该根据Cloud Functions Docs在项目级别应用allUsers
和allAuthenticatedUsers
(请参阅“控制项目中所有功能的访问”中的注释)。您可以尝试将此方法应用于您要保护的单个功能吗?
答案 1 :(得分:0)
您可以将此角色应用于单个功能。
如果您想保护项目上的所有资源,我的意思是,如果您不想允许功能,云运行,存储(...)等GCP资源上的所有用户,可以激活{{3 }}。有了它,allUsers被禁止。
答案 2 :(得分:0)
正确答案
信用归约翰·汉利所有。我需要在承载令牌授权标头中使用id_token而不是我的access_token。
我不确定如何将此问题标记为已回答。我不能接受评论,也不能接受自己的回答。我的目的是通过将此问题标记为已回答但我不能解决,以帮助遇到相同问题的其他人。奇怪!
请尽可能将答案标记为正确。