上传后撤销对对象的读取访问权限

上传后撤销对对象的读取访问权限

是否可以使用 Google Cloud Storage 实现“单向”日志文件备份方案:服务帐户应该能够通过 gsutil rsync 上传对象,但之后不应该能够下载这些对象?

所有预设的 ACL 都暗示请求者将拥有上传对象的 OWNER 角色

答案1

是的,但这并不简单。GCS 的所有权模型不可撤销地将所有权授予上传对象的帐户。为了让您在不保留读取权限的情况下上传对象,您需要发挥一点创造力。

第一种选择:让您的记录器从另一个管理帐户请求签名 URL。当您使用签名 URL 上传对象时,生成该 URL 的帐户拥有该对象,而不是上传者。这允许您向用户出售签名 URL,该 URL 可用于上传,但以后不能用于读取对象。

第二种选择:移动对象。虽然原始对象归上传者所有,但如果将对象复制到其他地方并删除原始对象,则执行复制的帐户将成为新所有者。您甚至可以将对象复制到相同的对象名称。您可以使用 Google Cloud Pub/Sub 通知或 Google Cloud Functions 设置一个小触发器,每当将对象上传到存储桶时,都会将该对象复制到自身以更改所有权。

相关内容