我在Google云控制台中创建了一个服务帐户,并选择了角色Storage
/Storage Admin
(即完全控制GCS资源)。
gcloud projects get-iam-policy my_project
似乎indicate实际选择了角色:
- members:
- serviceAccount:my_sa@my_project.iam.gserviceaccount.com
role: roles/storage.admin
- members:
- serviceAccount:my_sa@my_project.iam.gserviceaccount.com
role: roles/storage.objectAdmin
- members:
- serviceAccount:my_sa@my_project.iam.gserviceaccount.com
role: roles/storage.objectCreator
而documentation清楚地表明角色roles/storage.admin
包含权限storage.objects.*
(以及storage.buckets.*
)。
但是,当我尝试将该服务帐户与Google Cloud Storage Client Library for Python结合使用时,会收到以下错误消息:
my_sa@my_project.iam.gserviceaccount.com does not have storage.objects.get access to my_project/my_bucket.
那么,在这种情况下,为什么所选的角色不够?
问题显然是服务帐户与太多角色关联,这可能是以前配置尝试的结果。
这些步骤解决了这个问题:
IAM & Admin
/IAM
下有问题的服务帐户(成员)my_sa
的所有(三)个角色IAM & Admin
/Service accounts
下删除my_sa
my_sa
(再次使用角色Storage
/Storage Admin
)效果如下:
my_sa
在IAM & Admin
/^{Storage Admin
)my_sa
在Storage
/Browser
/my_bucket
/Edit bucket permissions
下显示为成员相关问题 更多 >
编程相关推荐