【问题标题】:Is it possible to specify different ACLs for different folders in the same storage bucket?是否可以为同一个存储桶中的不同文件夹指定不同的 ACL?
【发布时间】:2018-03-07 17:00:31
【问题描述】:

我想为同一个 Google Cloud 存储桶中的两个不同文件夹指定不同的默认 ACL 级别。这是否可能,或者是否有一些可用的解决方法?

似乎可以使用gsutil acl 命令为不同的文件夹追溯指定不同的ACL 级别,而只能对整个存储桶使用gsutil defacl 命令。对吗?

我一直在集思广益,但尚未找到任何支持的一些潜在解决方法:

  1. 首次上传时,从客户端(iOS/Android)设置每个文件的特定 ACL。
  2. 让 Cloud Function 监听新文件上传,然后相应地修改其 ACL。

再次,我在官方文档中没有找到任何关于实现上述任何解决方案的线索,因此任何指针都将不胜感激。提前致谢!

【问题讨论】:

    标签: google-cloud-storage acl firebase-storage google-cloud-functions gsutil


    【解决方案1】:

    目前,ACL 只能应用于单个对象,而 IAM 策略只能应用于整个存储桶或单个对象。

    您提出的两个解决方案都很合理,但都有缺点。第一个解决方案是最好的,但前提是您信任 iOS 用户设置好的权限。客户端可能会设置不同的权限。这不一定是个问题,因为可能客户端已经拥有数据,如果他们是恶意的,已经可以在任何它想要的地方共享它,但这是需要注意的。

    第二个解决方案也很好,但是对象的 ACL 会出现错误的时间窗口非常小。这对您来说也可能不是问题。

    一个不错的变化可能是让用户将对象上传到“暂存”存储桶,然后让云函数通过使用正确的 ACL 将对象移动到其生产位置来响应该上传,然后删除暂存版本。

    【讨论】:

    • 非常感谢您的反馈!您是否有任何示例代码,或者可以向我指出如何从客户端或云功能设置 ACL 的正确文档?是否可以直接从云函数中使用 gsutil?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    • 2021-03-07
    • 1970-01-01
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多