Google Cloud Function v2无法找到Cloud Run Invoker角色,如何公开访问?
解决Google Cloud Function v2公开访问的403问题
- 明确核心逻辑:Cloud Function v2底层基于Cloud Run,公开访问需给
allUsers授予Cloud Run Invoker角色,而非v1版本的Cloud Functions Invoker。
方法一:用gcloud命令快速设置(推荐,避开控制台筛选bug)
执行以下命令,替换[FUNCTION_NAME]和[REGION]为你的函数名与部署区域:
gcloud run services add-iam-policy-binding [FUNCTION_NAME] \ --member="allUsers" \ --role="roles/run.invoker" \ --region=[REGION]
方法二:通过控制台正确操作
不要依赖角色分类导航,直接搜索全称即可找到目标角色:
- 进入目标v2函数详情页,切换到「权限」标签
- 点击「添加权限」,在「新成员」输入框填写
allUsers - 在「角色」搜索框直接输入
Cloud Run Invoker,搜索结果会直接显示该角色 - 确认配置后保存,等待1分钟左右让权限生效
权限验证
用curl访问函数URL,或在控制台权限页确认allUsers已拥有Cloud Run Invoker角色,此时即可正常访问,不再返回403错误。
内容的提问来源于stack exchange,提问作者JustADude
相关产品推荐
相关产品推荐

