У меня есть эта политика, которая должна разрешать доступ только из моего веб-приложения. Однако, если я введу URL объекта на S3, я все равно смогу получить к нему доступ.
Что еще нужно настроить, чтобы обеспечить доступ к элементам в моем контейнере только из моего веб-приложения.
{
"Id": "Policy15721415129441",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt15721415129441",
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::BUCKET_NAME/*",
"Condition": {
"StringLike": {
"aws:Referer": "https://localhost:55723/*"
}
},
"Principal": {
"AWS": [
"arn:aws:iam::ACC_NO:root"
]
}
}
]
}
Конфигурация CORS
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>https://localhost:55723</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>