Google Cloud Storage Bucket数据传输失败权限问题求助
问题解决思路与步骤
核心原因
报错里提到的project-720965328418@storage-transfer-service.iam.gserviceaccount.com是GCP存储传输服务的专属系统服务账号,它不属于项目创建的普通服务账号,所以你在项目IAM列表里找不到它是正常的。传输任务的执行主体是这个系统SA,不是你自己的账号,因此你自己的自定义角色权限不影响它的操作,必须单独给这个SA配置目标GCS桶的权限。
解决步骤
- 打开GCS控制台,定位到你要导入数据的目标存储桶,进入权限页面。
- 点击「添加权限」,在「新成员」输入框中填入报错里的完整SA邮箱:
project-720965328418@storage-transfer-service.iam.gserviceaccount.com。 - 在「角色」下拉框中选择合适的权限角色:
- 最简单的是直接选择存储对象查看器(
roles/storage.objectViewer),这个角色包含storage.buckets.get以及传输任务需要的其他基础存储权限。 - 如果你想最小化权限,也可以选择「自定义角色」,单独添加
storage.buckets.get权限。
- 最简单的是直接选择存储对象查看器(
- 保存权限设置,等待2-5分钟让权限生效,之后重试创建传输任务即可。
补充说明
你自己的自定义角色权限是用于个人操作GCP资源的,但存储传输任务是由GCP后台的系统服务账号执行的,两者权限相互独立,所以必须给这个系统SA单独配置桶的访问权限。
内容的提问来源于stack exchange,提问作者kri_5463
相关产品推荐
相关产品推荐

