仅此问题的扩展: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(作为项目的子资源)!为什么然后该答案指出具有该角色您无法列出存储桶中的对象。?我希望您可以(只是)看到所有嵌套的资源!
谢谢
答案 0 :(得分:1)
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}}