У меня установлена следующая политика корзины:
{
"Version": "2008-10-17",
"Id": "My access policy",
"Statement": [
{
"Sid": "Allow only requests from our site",
"Effect": "Allow",
"Principal": { "AWS": "*"},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my_bucket/*",
"Condition": {
"StringLike": {
"aws:Referer": [" http://mydomain.com/*"," http://www.mydomain.com/*"]
}
}
},
{
"Sid": "Dont allow direct acces to files when no referer is present",
"Effect": "Deny",
"Principal": {"AWS": "*" },
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my_bucket/*",
"Condition": {
"Null": {"aws:Referer": true }
}
}
]
}
Я также настроил аутентификацию строки запроса , но похоже, что у меня не может быть и того, и другого. Если у меня есть политика корзины, настроенная на отклонение любого запроса, исходящего не из моего домена, мой временный URL-адрес с использованием проверки подлинности строки запроса также не будет обслуживаться. Итак, мой вопрос, как я могу получить и то, и другое? Есть ли способ проверить параметры URL-адреса и посмотреть, есть ли у него параметр под названием «Подпись» и в этом случае не применять политику реферера?