我正在使用paper clip和ruby on rails从我的网站上传图片到AWS S3,我的webapp托管在heroku上。我应该在 bucket 设置下检查阻止公共访问吗?
目前我有BLOCK ALL PUBLIC ACCESS,但我无法上传图片。当我取消勾选block all public access时,我就可以上传图片了。我应该为S3设置什么,以便我的heroku图像上传应用程序工作?
改变你的桶政策,像这样,并尝试
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "S3Permissions",
"Action": "s3:*",
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::awsexamplebucket/*",
"arn:aws:s3:::awsexamplebucket"
]
}
]
}
不知道你在Heroku上的应用是怎么做的,但我认为,Heroku应用会使用IAM凭证与S3对话。而你需要在S3 bucket所在的账户中创建IAM用户,并使用S3放动作。