为什么不能作为项目所有者访问云存储对象?

我是一个特定项目的项目所有者,它有一个有数百个演出对象的水桶。 我最近发现一个失败的gcloud rsync,我的存储桶中有一些对象,我可以list但不是cpacl get等,既不是从命令行也不是从云控制台。

例如:

 gsutil acl get gs://$MYBUCKET/$SOMEOBJECT AccessDeniedException: Access denied. Please ensure you have OWNER permission on gs://$MYBUCKET/$SOMEOBJECT 

我有

  • 经过validation,我作为正确的用户进行了身份validation( gcloud auth list
  • validation我在项目的angular色/所有者成员部分( gcloud projects get-iam-policy $PROJECT_ID
  • validation该存储桶属于项目(实体“project-owners- $ PROJECT_ID”具有projectNumber $ PROJECT_ID和angular色OWNER)。
  • 尽pipe我是该项目的创build者,但在Google云端控制台中也出现了同样的问题

究竟是怎么回事?

访问GCS资源不是recursion的。 在该项目中拥有一个项目或一个存储桶并不一定意味着您也可以读取某些特定的对象。 拥有桶意味着你可以列出或删除对象,但就是这样。

对象的所有者始终是上传它的用户。 默认情况下,对象上的ACL将与存储桶的“默认对象ACL”设置保持一致,但是上传者可以在上传过程中select其他ACL。