【问题标题】:Elastic Beanstalk S3 permission on standard role: still permission denied on file access标准角色的 Elastic Beanstalk S3 权限:文件访问权限仍然被拒绝
【发布时间】:2016-07-07 14:56:37
【问题描述】:

尝试让 EB 与 S3 存储桶一起使用。 以为我已遵循所有说明,但无法上传 pdf 以显示(当前“权限被拒绝”)。我之前在 heroku + S3 上做过这个,所以知道它在理论上是有效的。

设置

  • Ruby EB,单实例。使用默认应用创建
  • 添加了paperclip demo app
  • 应用程序:paperclipdemo3 环境:paperclipdemo3-dev
  • 实例配置文件 (aws-elasticbeanstalk-ec2-role)。标准服务 配置文件(aws-elasticbeanstalk-service-role)
  • 附加了对此角色的 AmazonS3FullAccess
  • 在同一区域创建的 S3 存储桶

错误 查看上传的文件(pdf)时给出 AccessDeniedAccess Denied5CDDC975006C7C62h3ohBvPu8hXYIZkwLsgF/k0akNuLjyaOpbBzgsxmgtesQ/UJBlOH6phRrsr0tPowNFBFZ7LCI7M=

上传的文档 S3 路径

根据生成的html页面

https://s3-ap-southeast-2.amazonaws.com/paperclipdemo3bucket1/var/app/current/public/pdf/1/original/testupload_2page_doc1.pdf?1458545227

试过

  • 修复了端点/区域配置中的“抱歉出了点问题”
  • 按照自定义存储桶名称等文档中的建议添加特定策略,但决定何时变得简单:
  • 向 aws-elasticbeanstalk-ec2-role 添加 S3 完全访问权限(这似乎是此处定义的“最简单”:"SO S3 permissions"
  • 使 S3 存储桶世界可读(即每个人),它会拒绝相同的访问这肯定可以工作!?

只是无法让它工作。打赌它很明显!?

希望其他人能比我更快地发现,任何想法表示赞赏

编辑 1 - 我注意到人们谈论看到 logs in EB console,但我所能做的就是下载最后 100 行或完整的 EC2 日志。我的日志都没有提到 S3 错误(除了上传文件的回形针),没有返回码。 我还注意到我的 S3 存储桶没有写入任何日志(即使在同一区域附加了一个单独的日志存储桶)

回形针配置

 config.paperclip_defaults = {
      :storage => :s3,
      :s3_region => 'ap-southeast-2',
      :s3_permissions => :private,
      :s3_protocol => 'https',
      :s3_host_name => 's3-ap-southeast-2.amazonaws.com',
      :s3_endpoint => 's3-ap-southeast-2.amazonaws.com',
      :s3_credentials => {
        :bucket => ENV['AWS_BUCKET'],
        :access_key_id => ENV['AWS_ACCESS_KEY_ID'],
        :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY'],
      }
    }

角色

角色 aws-elasticbeanstalk-ec2-role 的策略

EB 配置环境变量

S3 示例上传文件权限

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-ec2 amazon-elastic-beanstalk


    【解决方案1】:

    我混合使用 S3 策略和 ACL。这个配置是罪魁祸首

      :s3_permissions => :private,
    

    如果它被删除,它就会公开!

    这有一个很好的解释:https://thewebfellas.com/blog/protecting-your-paperclip-downloads 此处列出了 ACL:http://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html

    【讨论】:

      猜你喜欢
      • 2021-11-28
      • 2021-07-25
      • 2020-11-03
      • 2013-04-28
      • 2019-07-16
      • 2017-03-25
      • 2015-05-10
      • 2018-10-01
      相关资源
      最近更新 更多