Google Cloud Platform 中的 Project Browser 角色和 Project Viewer 角色有什么区别

What's the difference between Project Browser role and Project Viewer role in Google Cloud Platform

根据控制台弹出窗口,项目浏览器角色具有对项目资源的浏览访问权限,而项目查看者具有对这些资源的读取访问权限。

这是否意味着使用浏览器角色我只能列出存储在项目存储桶中的文件名,但我需要查看者角色才能下载这些文件?

根据docs

项目浏览器角色有"Read access to browse the hierarchy for a project, including the folder, organization, and Cloud IAM policy. This role doesn't include permission to view resources in the project."

Does this mean that with the browser role I can only list the filenames stored in the project's buckets but I need viewer role to download those files?

浏览器角色 roles/browser 无权访问 Google 云存储。您不能列出存储桶中的对象。查看者角色 roles/viewer 无权查看(下载)Google 云存储对象。

为了更好地理解角色,您需要知道角色包含哪些权限。

如果您担任 roles/browser 角色并查看权限:

gcloud iam roles describe roles/browser

你会发现这个角色有以下六种权限:

description: Access to browse GCP resources.
etag: AA==
includedPermissions:
- resourcemanager.folders.get
- resourcemanager.folders.list
- resourcemanager.organizations.get
- resourcemanager.projects.get
- resourcemanager.projects.getIamPolicy
- resourcemanager.projects.list
name: roles/browser
stage: GA
title: Browser

请注意,此角色没有 Google 云存储的权限。

相比之下,如果您查看 roles/viewer 的权限,您会发现此角色拥有 721 个权限。我已将此列表限制为仅存储权限:

storage.buckets.list

您将看到此角色仅具有列出存储桶内容的权限。未授予查看存储桶中对象内容的权限。

要查看(下载)Google 云存储对象,您需要 storage.objects.get 权限。这包含在角色 roles/storage.object.viewerroles/storage.objectAdminroles/storage.adminroles/storage.legacyObjectReader.