无法在Resource Manager中找到文件夹权限,API调用返回403错误
解决Resource Manager API文件夹列表403权限问题
问题描述
调用Resource Manager API获取文件夹列表时,返回403权限拒绝错误:
{ "error": { "code": 403, "message": "The caller does not have permission", "status": "PERMISSION_DENIED" } }
官方文档明确要求调用者对指定父资源拥有resourcemanager.folders.list权限,但在IAM控制台中,无法在Resource Manager分类下找到该单独权限或相关的文件夹专属权限/角色。
可行解决方案
- 采用预定义角色替代:Google Cloud IAM未提供单独的
resourcemanager.folders.list权限选项,需为用户或服务账号授予包含该权限的预定义角色,常用选项包括:roles/resourcemanager.folderViewer:具备文件夹只读访问权限,包含resourcemanager.folders.listroles/resourcemanager.folderEditor:具备文件夹编辑权限,同样包含该列表权限roles/resourcemanager.organizationViewer:若父资源为组织层级,该角色也覆盖文件夹列表权限
- 确认权限授予范围:必须将角色授予在**目标文件夹的父资源(组织或上级文件夹)**上,而非子文件夹,因为
resourcemanager.folders.list是针对父资源下的子文件夹列表操作 - 等待权限生效:IAM权限变更后通常需要1-5分钟生效,若刚完成授权就测试,建议等待片刻后重试
权限验证
授予角色后,可通过以下方式快速验证权限是否生效:
- 使用gcloud命令行测试:
gcloud resource-manager folders list --parent=[你的父资源ID]
- 重新调用目标API,检查是否能正常返回文件夹列表
内容的提问来源于stack exchange,提问作者linu elias
相关产品推荐
相关产品推荐

