Цель: все пользователи могут просматривать, загружать и удалять файлы .jpg и .png из (и только из) файлов example.herokuapp.com и example.com.
Вопрос 1: Что из этого следует проверить?
Вопрос 2: Нужна ли политика корзины?
Я попробовал это, но, похоже, это не дало никакого эффекта:
{
"Version": "2012-10-17",
"Id": "Policy1464968545154",
"Statement": [
{
"Sid": "Stmt1464968483613",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:PutObject",
"Resource": [
"arn:aws:s3:::herokuwebucator/*.jpg",
"arn:aws:s3:::herokuwebucator/*.png"
],
"Condition": {
"StringLike": {
"aws:Referer": [
"https://example.herokuapp.com/*",
"https://www.example.com/*"
]
}
}
}
]
}
Вопрос 3 : Как должна выглядеть моя конфигурация CORS? В настоящее время я попробовал это, но не смог заставить его работать.
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>example.herokuapp.com</AllowedOrigin>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>example.com</AllowedOrigin>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Вопрос 4: Есть ли что-то еще, что мне нужно сделать?
Я тестирование, пытаясь загрузить изображение с localhost, а затем из example.herokuapp.com. Это должно произойти сбой от localhost и преуспеть от example.herokuapp.com. Для всех различных конфигураций, которые я пробовал, он либо успешно выполняется в обоих местах, либо не работает в обоих местах.
И, чтобы было ясно, я использую свои настоящие домены вместо example.com и example.herokuapp. .com.