GCE实例无法从服务帐户

时间:2017-09-29 09:03:21

标签: google-compute-engine service-accounts google-iam

我正在尝试使用服务帐户从GCE实例设置对云存储桶的读/写访问权限,但不获取权限。我做了以下事情:

  • 创建了服务帐户,假设是'my-sa'
  • 创建了一个水桶,比方说'my-bucket'
  • 在我的项目的IAM控制台中,将角色“云存储管理员”分配给服务帐户
  • 通过控制台创建一个新的GCE实例,分配给服务帐户'my-sa'。然后,访问范围自动设置为cloud-platform
  • 使用gcloud compute ssh作为我的用户(项目所有者)
  • 连接到实例
  • 运行gsutil ls gs:// my-bucket

预期行为:获取存储桶中的项目列表

观察到的行为

gsutil需要大约5秒的时间来思考,然后给出: AccessDeniedException:403 my-sa@my-project.iam.gserviceaccount.com没有storage.objects.list访问存储桶my-bucket。

我尝试过的事情:

  • 实例上的gcloud auth列表确实显示了服务帐户,并将其显示为活动
  • 我为服务帐户添加了更多权限(由项目所有者决定),没有任何区别
  • 我也无法使用实例的其他权限。当我向服务帐户提供Compute Engine管理员角色时,我无法从实例运行gcloud计算实例列表
  • 我已删除.gsutil目录以确保缓存已清除
  • 使用默认的Compute Engine服务帐户,我可以列出存储桶,但不能写入(按预期方式)。当我从控制台添加云存储读/写访问范围时,我也可以编写

我真的不知道如何再调试这个,所以任何帮助都会得到很多回应

0 个答案:

没有答案