允许在GCS和S3中创建但不覆盖或删除存储桶中的对象

时间:2016-12-20 22:26:52

标签: amazon-s3 google-cloud-storage

是否有办法允许创建新对象但不删除或覆盖存储桶中的其他现有对象?

我想在不维护后端或签名网址的情况下实现此目的。如果有办法通过对象默认ACL和存储区ACL进行此操作。

设置存储区ACL以允许来自WRITING的{​​{1}}似乎允许它们删除和覆盖,我希望它们只能创建新对象。

注意:我也很欣赏S3的答案。

1 个答案:

答案 0 :(得分:2)

不,没有。现在,对象的上传者是该对象的所有者,对象的所有者始终有权删除自己的对象。您可以让一组用户覆盖彼此的对象,但您目前无法阻止用户覆盖他们之前上传的对象。

请注意,这完全是ACL的问题。不希望覆盖现有对象的用户可以确保不会覆盖现有对象。如果使用XML API,用户将在其上传请求中包含标题“x-goog-if-generation-match:0”,如果已存在具有该名称的对象,则会导致其上载失败。