Я пытаюсь загрузить изображение на ведро s3, используя ruby на рельсах и скрепке, но это не работает. Я пробовал почти все в Интернете.
Я знаю, что есть много вопросов по этому поводу, ноЯ пробовал большинство из них, но ничего не помогло, пожалуйста, просмотрите вопрос, потому что я перечислил то, что я пробовал в вопросе
Я установил пользователя 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 для конфигурации рельсов
Примечание: я использую user_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
Когда я проверяю журнал ведра, я получаю это