【问题标题】:Rails Marketplace app - AWS PermissionsRails Marketplace 应用程序 - AWS 权限
【发布时间】:2015-02-10 09:49:42
【问题描述】:

我在 Rails 4 / Paperclip 上有一个市场应用程序,并且正在使用 AWS S3 进行图像存储。我希望图片网址为 https(否则我的 ssl 证书会在某些浏览器上显示警告)

根据有关 paperclip AWS settings 的文档,它说“s3_protocol:为您的 S3 资产生成的 URL 的协议。可以是“http”、“https”或空字符串以生成与协议相关的 URL。默认值当您的 :s3_permissions 为 :public_read(默认)时为 'http',当您的 :s3_permissions 为其他任何值时为 'https'。"

根据上述,不同的 s3_permissions 在canned acl 部分下。

我的问题是对于我希望多个用户能够上传图片的市场,我应该使用 public-read-write 设置吗?这听起来不太安全——这是否意味着任何人都可以编辑图像或删除它?

理想情况下,我想要一个权限,其中只有图像所有者(卖家)或存储桶所有者(我)可以覆盖图像并且“AllUsers”读取图像。我应该使用哪个设置?还是我应该做点别的?

我的回形针设置:

config.paperclip_defaults = {
  :storage => :s3,
  :s3_credentials => {
    :bucket => ENV['S3_BUCKET_NAME'],
    :access_key_id => ENV['AWS_ACCESS_KEY_ID'],
    :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
  },
    :s3_protocol => :https,
    :s3_permissions => :public_read_write
}

【问题讨论】:

    标签: ruby-on-rails amazon-s3 paperclip


    【解决方案1】:

    我使用默认的 public_read,所有上传都通过控制器(用户通过 devise 和 pundit 进行身份验证)和回形针上传到带有 AWS 访问凭证的存储桶。

    【讨论】:

    • 但是对于https,我不能使用public_read。我需要使用其他之一。
    猜你喜欢
    • 2018-07-10
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    • 2014-08-29
    • 2011-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多