好吧,这让我把头发拔了,我简直不敢相信它是如此复杂...
因此,要达到主题的目的,而又不授予用户对所有存储桶中所有文件的读取访问权限(proj中的其他存储桶都具有敏感数据)
我导航到存储桶->权限,并将用户添加为Storage Object Viewer,希望这样做就足够了(以后如果您有直接链接,这似乎就足够了-也许还有api),但是该用户试图浏览控制台卡在https://console.cloud.google.com/storage/browser?project=xyz(存储桶浏览器页面)上。消息是:“您无权查看此项目中的“存储浏览器”或“存储设置”页面”
如何赋予用户访问列表存储区的权限(并因此通过控制台中的UI路径,而又不授予对所有存储的常规读取访问权限?)没有所谓的“存储浏览器”或类似角色...甚至可以创建自定义角色,但需要什么权限。显然storage.objects.list
不是。
答案 0 :(得分:2)
快速解答:
您需要使用以下自定义角色:
storage.buckets.list
Rant答案: 终于找到了完整的权限参考。 https://cloud.google.com/storage/docs/access-control/iam-permissions
看起来很容易,因为知道有storage.bucket ...权限。但是,使用UI仍然是创建角色的噩梦。模态添加权限很小,只能按角色^^过滤。我不知道具有这些权限的角色,但我知道确切的权限。每页显示10个18xx权限。幸运的是,存储许可的使用期限非常接近尾声,因此添加服务栏+反向排序仅需要2个页面步骤。哇,这就像他们不想让人们理解这一点。
答案 1 :(得分:1)
resourcemanager.projects.get
和 storage.buckets.list
权限。Storage Admin
,如果他们需要读取对象/写入对象/更新权限/完全配置存储桶的存储桶或 Storage Viewer
用于只读访问)。您可以使用个人电子邮件地址轻松测试这一点,并查看权限是否正确以及您没有造成数据泄露。
我的用例:我需要让第三方开发人员访问存储我们营销网站资产的存储桶。他不应该访问任何其他存储桶,但应该可以自由添加/删除此营销存储桶中的资产。因此,我分配了开发人员 Storage Object Admin
角色。