为什么我是项目所有者却无法访问云存储对象?

as.*_*as. 7 google-cloud-storage

我是一个特定项目的项目所有者,该项目有一个包含数百个演出对象的存储桶。我最近通过一个失败的gcloud rsync的发现,也有我的桶的一些对象,我可以list,但不cp还是acl get等等,无论从命令行,也没有从云控制台。

例如:

gsutil acl get gs://$MYBUCKET/$SOMEOBJECT  
AccessDeniedException: Access denied. Please ensure you have OWNER permission on gs://$MYBUCKET/$SOMEOBJECT  
Run Code Online (Sandbox Code Playgroud)

我有

  • 已验证我已通过身份验证为正确的用户 ( gcloud auth list)
  • 验证我在项目的角色/所有者成员部分 ( gcloud projects get-iam-policy $PROJECT_ID)
  • 验证存储桶属于项目(实体“project-owners-$PROJECT_ID”具有 projectNumber $PROJECT_ID 和角色 OWNER)。
  • 尽管我是该项目的创建者,但在 google 云控制台中出现了同样的问题

这到底是怎么回事?

Bra*_*ugh 7

对 GCS 资源的访问不是递归的。拥有一个项目或该项目中的存储区并不一定意味着您还拥有对某些特定对象的读取访问权限。拥有存储桶确实意味着您可以列出或删除对象,但仅此而已。

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