【问题标题】:how should I configure "block public access" on Amazon S3?我应该如何在 Amazon S3 上配置“阻止公共访问”?
【发布时间】:2020-09-24 15:24:21
【问题描述】:
我正在使用回形针和 ruby on rails 将图像从我的网站上传到 AWS S3,并且我的 web 应用程序托管在 heroku 上。我应该在存储桶设置下检查阻止公共访问吗?
目前我已阻止所有公共访问,但无法上传图片。当我取消选中阻止所有公共访问时,我可以做到。我应该为 S3 设置什么才能让我的 heroku 图片上传应用正常工作?
【问题讨论】:
标签:
heroku
amazon-s3
ruby-on-rails-5
paperclip
amazon-iam
【解决方案1】:
像这样更改您的存储桶策略并尝试
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "S3Permissions",
"Action": "s3:*",
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::awsexamplebucket/*",
"arn:aws:s3:::awsexamplebucket"
]
}
]
}
【解决方案2】:
不确定您在 Heroku 上的应用是做什么的,但我认为 Heroku 应用会使用 IAM 凭证与 S3 通信。您需要在 S3 存储桶所在的账户中创建 IAM 用户,并使用 S3 put 操作。