服务帐户没有storage.objects.get访问Google Cloud Storag

2024-05-22 21:49:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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.

那么,在这种情况下,为什么所选的角色不够?


Tags: projectcom角色myservicegooglesastorage
1条回答
网友
1楼 · 发布于 2024-05-22 21:49:48

问题显然是服务帐户与太多角色关联,这可能是以前配置尝试的结果。

这些步骤解决了这个问题:

  • 删除了IAM & Admin/IAM下有问题的服务帐户(成员)my_sa的所有(三)个角色
  • IAM & Admin/Service accounts下删除my_sa
  • 重新创建my_sa(再次使用角色Storage/Storage Admin

效果如下:

  • my_saIAM & Admin/^{下显示一个角色(Storage Admin
  • my_saStorage/Browser/my_bucket/Edit bucket permissions下显示为成员

相关问题 更多 >

    热门问题