澄清GCP中的“列表” IAM许可

时间:2019-12-08 17:29:43

标签: google-cloud-platform google-iam

仅此问题的扩展:What's the difference between Project Browser role and Project Viewer role in Google Cloud Platform

@John Hanley已经提供了一个很好的答案。 但是需要进一步澄清:“列表”许可的含义是什么? “列出”是指“您可以列出/查看它”,但意味着“您无法访问它”吗? 如果是这样,则是IAM角色:

  

角色/浏览器

其中包含权限(https://cloud.google.com/iam/docs/understanding-roles#project-roles):

  

resourcemanager.projects.list

应该能够查看所有项目的资源,包括Cloud Storage(作为项目的子资源)!为什么然后该答案指出具有该角色您无法列出存储桶中的对象。?我希望您可以(只是)看到所有嵌套的资源!

谢谢

4 个答案:

答案 0 :(得分:1)

根据官方文档linklink

  

resourcemanager.projects.list权限允许用户列出   他们拥有的项目。

     

例如,storage.buckets.list权限允许成员列出您项目中的存储桶

要列出存储桶的内容,您需要storage.objects.list

答案 1 :(得分:0)

因此,我发现此问题What's the difference between Project Browser role and Project Viewer role in Google Cloud Platform的答案具有误导性:

  

storage.buckets.list->   您将看到此角色仅具有权限   列出存储桶中的内容。没有授予查看权限   存储桶中对象的内容。

这不是事实!该角色授予您仅列出存储桶的权限。 为了列出存储桶的内容,需要一个角色:

  

roles / storage.objectViewer

最糟糕的是,在Google控制台中,您会看到一条消息,指出要查看该对象,需要“ storage.buckets.list”权限。那不是GCP错误吗?

答案 2 :(得分:0)

列表特权的工作方式是显示顶级级别,而不显示层次结构级别,浏览允许浏览内容但不读取内容,这是不同的访问级别。

列出与浏览不一样,您可以列出存储分区(例如,您具有存储分区的列表),但不必浏览这些内容。

答案 3 :(得分:0)

resourcemanager.projects.list

允许您在包含项目(通常是组织或文件夹)的父资源下列出项目。换句话说,您可以为给定的文件夹或组织调用此API: https://cloud.google.com/storage/docs/json_api/v1/buckets/list

storage.buckets.list

允许您在包含存储桶(通常是项目)的父资源下列出存储桶。换句话说,您可以为给定的项目调用此API: {{3}}