Закрепить SSL на Amazon S3
Возможно ли (через IAM, политику ведра или иначе) заставить Amazon S3 только обслуживать контент по протоколу HTTPS/SSL и отказывать в любом регулярном, незашифрованном доступе HTTP?
Ответы
Ответ 1
Я считаю, что это может быть достигнуто с помощью политики ведра. Отклоните все HTTP-запросы к рассматриваемому ведру, используя условие aws:SecureTransport: false
.
Следующий тест не тестируется, но он должен дать вам представление о том, как настроить его для вашего дела.
{
"Statement":[
{
"Action": "s3:*",
"Effect":"Deny",
"Principal": "*",
"Resource":"arn:aws:s3:::bucketname/*",
"Condition":{
"Bool":
{ "aws:SecureTransport": false }
}
}
]
}
Ответ 2
Здесь вы разрешаете свой входящий трафик, но отказываетесь от него. Если вы хотите вернуться, просто удалите оператор 2 nd:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::yourbucketnamehere/*"
},
{
"Sid": "PublicReadGetObject",
"Effect": "Deny",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::yourbucketnamehere/*",
"Condition":{
"Bool":
{ "aws:SecureTransport": false }
}
}
]
}
Не забудьте поставить название своего ведра yourbucketnamehere
.
Теперь вам нужно установить сертификат SSL. Вся информация может быть найдена здесь.