Google cloud storage Google云存储混淆了ACL/IAM和旧版权限

Google cloud storage Google云存储混淆了ACL/IAM和旧版权限,google-cloud-storage,Google Cloud Storage,我有一个桶,我希望它的内容可以公开阅读。但是,我不希望用户能够通过从URL中删除keyname来列出所有内容 为了简单起见,请假设我正在通过控制台设置这些权限 为alluser设置Storage Object Viewer,允许我访问对象并列出内容 设置存储旧式对象读取器用于allusers允许我访问对象,但不列出内容 这对我来说似乎很奇怪,为什么该许可是“遗留”许可?这是否意味着它将在未来被删除?这对我来说是一个非常重要的功能 此外,如果不删除它,我如何确保将来发布到此bucket的所有内容都

我有一个桶,我希望它的内容可以公开阅读。但是,我不希望用户能够通过从URL中删除keyname来列出所有内容

为了简单起见,请假设我正在通过控制台设置这些权限

  • alluser
    设置
    Storage Object Viewer
    ,允许我访问对象并列出内容
  • 设置
    存储旧式对象读取器
    用于
    allusers
    允许我访问对象,但不列出内容
  • 这对我来说似乎很奇怪,为什么该许可是“遗留”许可?这是否意味着它将在未来被删除?这对我来说是一个非常重要的功能

    此外,如果不删除它,我如何确保将来发布到此bucket的所有内容都继承该bucket的权限


    提前感谢。

    它是“遗留”,因为它与通过遗留读取器角色在对象上授予的IAM之前的权限完全匹配

    我不能确定这些遗留角色的计划是什么(共有5个),但如果它们被弃用,肯定需要一个弃用期和一个公告

    如果您不喜欢使用“遗留”角色(或者在没有完全适合您的用例的策划角色的任何情况下),您始终可以创建一个具有所需权限集的自定义角色。

    至于“我如何确保将来发布到此bucket的所有内容都继承该bucket的权限”。bucket IAM策略始终由bucket中的所有对象继承。由于您有一个角色将“storage.objects.get”授予bucket策略上的allUsers,因此它将应用于bucket中的所有对象