是否可以为同一存储桶中的不同文件夹指定不同的ACL?

时间:2017-09-26 12:46:23

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

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

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

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

  1. 首次上传时,从客户端(iOS / Android)设置每个文件特定的ACL。
  2. 让Cloud功能监听新文件上传,然后相应地修改它的ACL。
  3. 同样,我没有在官方文档中找到任何线索来实现上述任何解决方案,所以任何指针都将非常感激。提前谢谢!

1 个答案:

答案 0 :(得分:1)

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

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

第二种解决方案也很好,但是对象的ACL不正确的时间窗口非常短。这对你来说也许不是问题。

一个不错的变化可能是让用户将对象上传到" staging"使用正确的ACL将对象移动到其生产位置,然后删除暂存版本,然后让Cloud Function响应该上载。