我目前正在使用 Web UI 来浏览其中一个存储桶中的文件,而我恰好也是项目所有者。但是我得到一个权限错误
您需要 storage.objects.list 权限才能列出此存储桶中的对象。请求项目或存储桶所有者授予您此权限,然后重试。
作为项目所有者,我完全被难住了。有任何想法吗?
我目前正在使用 Web UI 来浏览其中一个存储桶中的文件,而我恰好也是项目所有者。但是我得到一个权限错误
您需要 storage.objects.list 权限才能列出此存储桶中的对象。请求项目或存储桶所有者授予您此权限,然后重试。
作为项目所有者,我完全被难住了。有任何想法吗?
该角色roles/owner
不授予对存储桶中数据的访问权限。
确定哪些内置 IAM 角色可以执行哪些操作的最佳资源是 Google Cloud Platform IAM Permissions Reference。
在该页面上,CTRL-F 用于storage.objects.list
(或就此而言,您感兴趣的任何其他权限),您将在右侧列中看到授予它的角色。请注意,项目所有者 ( roles/owner
)不在授予此权限的角色列表中。
创建存储桶时,roles/storage.legacyBucketOwner
默认授予项目所有者、编辑者和查看者。然而,这个权限总是可以被撤销,事实上,许多用户选择移除这个权限是为了更精细地控制对存储桶中数据的访问,而不是像虚拟机这样的项目资源。
一个很好的例子是包含敏感 PII 数据的存储桶。您可能不希望可以通过 SSH 连接到项目中的 VM 的人员在范围内读取该数据。
在 GCP Console 中,导航到 IAM Admin 菜单。
选择您的帐户。
在信息面板中单击添加角色
将存储对象管理员角色添加到您的帐户
选择 compute@developer.gserviceaccount.com 或默认帐户。
在信息面板中单击添加成员并添加您的帐户。
您现在应该可以完全访问存储桶
您可以尝试运行此命令
gsutil iam ch 'user:myacc@mydoma.in:legacyObjectOwner' gs://mybucket
它对我有用。
否则,您可以进入 I&AM 并将存储管理员角色分配给您的帐户。
我记得当我使用谷歌存储语音 API 时,即使我是项目所有者,我也需要转到 IAM 控制台将“存储管理员”角色添加到服务帐户。
我了解您没有使用 gsutil。但是此时,也许可以尝试创建服务帐户并授予它正确的权限?希望这将使它对您有用。