【问题标题】:Rails - Upload private file to Google Cloud StorageRails - 将私有文件上传到 Google Cloud Storage
【发布时间】:2015-06-25 16:33:54
【问题描述】:
我正在开发一个 Rails 项目,上传的文件存储在 Google 的云存储中(通过 Fog)。默认情况下上传的每个文件都选中了“公共链接”复选框,这两个权限分别是所有者为“所有者”和“所有用户”为“读者”(我通过 Google 开发控制台查看了这些设置)。
我想这样当用户上传附件时,默认设置实际上是取消选中“公共链接”复选框,并且“allUsers”没有权限。这可能吗?
【问题讨论】:
标签:
ruby-on-rails
google-cloud-storage
privacy
fog
【解决方案1】:
是的 - 您可以通过更改存储桶上的默认对象 ACL 来完成此操作。您可以使用如下 gsutil 命令执行此操作:
gsutil defacl ch -d allUsers gs://your-bucket
这将删除存储桶的默认对象 ACL 上的 allUsers:R 授权,并且在此之后上传的对象将无法公开读取。
如果您想在运行此命令之前或之后查看存储桶的默认对象 ACL,您可以这样做:
gsutil defacl get gs://your-bucket
【解决方案2】:
对于 :has_attached_file 选项,我添加了这个:
:fog_public => false