【发布时间】:2019-09-25 20:08:12
【问题描述】:
我正在尝试使用 ruby on rails 和回形针将图像上传到 s3 存储桶上,但它不起作用我几乎尝试了网络上的所有内容。
我知道对此有很多问题,但我已经尝试了其中的大部分,但没有任何效果请查看问题,因为我列出了我在问题中尝试过的内容
我确实设置了 IAM 用户并且用户有 AmazonS3FullAccess 政策
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
]
}
我确实对存储桶设置了策略
{
"Version": "2012-10-17",
"Id": "Policy1557294263403",
"Statement": [
{
"Sid": "Stmt1557294241958",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::726051891502:user/borroup-admin"
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::borroup",
"arn:aws:s3:::borroup/*"
]
}
]
}
我确实在存储桶上设置了 CORS 配置编辑器
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>
我确保此存储桶的所有公共访问设置都设置为 false
这是 ruby on rails 配置
注意:我为此使用用户 access_key_id 和 secret_access_key
config.paperclip_defaults = {
storage: :s3,
path: ':class/:attachment/:id/:style/:filename',
s3_host_name: 's3.us-east-2.amazonaws.com',
s3_credentials:{
bucket:'borroup',
access_key_id: '************',
secret_access_key:'***************************',
s3_region:'us-east-2'
}
}
Aws::S3::Errors::AccessDenied in PhotosController#create
【问题讨论】:
标签: ruby-on-rails ruby amazon-s3 paperclip aws-sdk