访问Google Cloud Functions归档时提示‘无权限访问归档’错误排查求助
排查GCP Cloud Function「Don't have permission to access the archive」权限错误
尝试访问前同事创建的GCP Cloud Function时,触发「Don't have permission to access the archive」权限错误,已完成以下操作但问题未解决:
- 将项目关联至正确的计费账户
- 为创建该Cloud Function的邮箱(当前GCP登录ID与创建者为同一账号)授予权限
排查步骤
1. 检查Cloud Function关联的GCS存储桶权限
Cloud Function的部署归档文件存储在Google Cloud Storage(GCS)桶中,错误提示的「archive」即指向该文件:
- 打开GCP控制台的Cloud Storage,找到对应项目的存储桶(通常命名为
[PROJECT_ID].appspot.com,或自定义桶) - 查看桶的权限配置:确保当前登录账号拥有
storage.objects.get权限(可通过授予Storage Object Viewer角色实现) - 定位到函数对应的归档文件(格式通常为
us-central1-[FUNCTION_NAME]-[随机哈希值].zip),直接确认该文件的读取权限是否对当前账号开放
2. 验证项目IAM中的账号角色
即使是原创建者账号,也可能因项目IAM政策变更丢失权限:
- 进入项目的IAM & Admin页面,找到当前登录的账号条目
- 确认账号拥有以下至少一个角色:
Cloud Functions Developer:具备云函数的完整管理权限Cloud Functions Viewer:仅查看和访问云函数的权限Editor/Owner:项目级的全局权限角色
- 若角色缺失,直接添加对应角色后重新尝试访问
3. 检查Cloud Function的专属权限设置
Cloud Function支持单独配置权限,不依赖项目IAM的全局设置:
- 进入目标Cloud Function的详情页面,切换到权限标签页
- 确认当前账号在函数的权限列表中,且拥有
Cloud Functions Invoker(调用函数)或Cloud Functions Viewer(查看函数)权限 - 若未找到当前账号,点击添加权限,输入账号邮箱,选择对应角色后保存
4. 排查组织级权限限制
如果项目隶属于GCP组织,可能存在组织级政策限制:
- 联系组织管理员,确认是否有IAM约束政策(如
constraints/iam.allowedPolicyMemberDomains)限制了账号的权限范围 - 检查是否启用了VPC Service Controls,若启用,需确认当前访问环境在允许的访问边界内
5. 清除会话缓存重试
浏览器缓存的旧权限会话可能导致权限校验异常:
- 退出GCP控制台,清除浏览器缓存后重新登录
- 使用浏览器的隐身/隐私模式打开控制台,尝试访问目标函数
内容的提问来源于stack exchange,提问作者Ravi
相关产品推荐
相关产品推荐

