阻止 Google Cloud Storage 帐户所有者对用户存储桶对象的可见性

Preventing Google Cloud Storage account owner visibility into user bucket objects

我正在创建一个将用户数据存储在 Google 存储桶中的应用程序。首先,我想为每个用户创建一个存储桶。

作为应用程序/帐户所有者,我希望能够看到用户的存储桶存在,但我不想访问该存储桶的内容。

Google 云存储是否提供此选项?我预计这取决于 IAM 设置,但我不确定最佳方法或最佳实践。

您可以创建自定义角色并将其附加到您正在使用的服务帐户 and/or 用户帐户。

在该自定义角色上,您只能添加所需的存储桶权限:storage.buckets.list

对服务帐户和用户帐户应用最小权限原则是一种非常好的安全做法。自定义角色可以帮助我们。

Here 我们有一个包含所有可用权限的列表。您只能创建具有所需权限的自定义角色。

[更新]

每个项目都至少需要一名管理员 (project-owner),而这个人将拥有超能力。因为,明天您可能需要更改权限:例如:列出存储桶和列出对象但看不到对象。没有管理员权限,您将无法执行。

因此,为了防止角色 project-owner 的人也能看到存储桶的内容,可以对对象进行加密。这样,只有拥有加密密钥的人才能使用存储桶中的内容。查看有关加密的更多信息 here

再见