AWS S3 Static Site Hosting ACL и разрешения - PullRequest
1 голос
/ 10 марта 2019

Это относится к Размещение статического сайта на AWS S3 - предоставление доступа только для чтения и AWS S3 Bucket Permissions - доступ запрещен , но с тех пор, как эти ответы появляются, AWS изменил некоторые способов настройки статического хостинга сайтов.

Мне любопытно, правильно ли настроены права доступа и не оставлены ли дыры в безопасности. Я могу получить доступ к статическим html-файлам в корзине S3 прямо сейчас, так что веб-доступ для общественных работ, и я загружаю файлы в веб-интерфейсе AWS, а не через оболочку.

Настройка AWS довольно проста для статического сайта, но я хочу проверить: правильно ли настроены ACL и разрешения для статического сайта?

1) Вкладка «Свойства» настроена для статического хостинга веб-сайтов: «Bucket Hosting».

2) На вкладке «Разрешения»

а) Публичный доступ:

enter image description here

b) В Списке контроля доступа есть доступ для владельца корзины, но нет доступа для других учетных записей AWS или общественности.

c) Политика Bucket помечена как «Public», а JSON является стандартным:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AddPerm",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::example.com/*"
        }
    ]
}

d) Я не установил конфигурацию CORS.

1 Ответ

2 голосов
/ 10 марта 2019

Да, ваша политика и параметры общедоступного доступа являются правильными для сайта, который намеренно делает все своих объектов общедоступными (чтение, но не просмотр / запись / удаление) через политику корзины.

Обратите внимание, что в качестве побочного эффекта этих правильных настроек S3 не вернет 404 Not Found, если запрошен несуществующий объект. Вместо этого он вернет 403 Forbidden. Реального обходного пути для этого не существует, поскольку S3 считает, что анонимный запросчик не уполномочен определять , почему объект не может быть загружен (может быть из-за небытия или по какой-то другой причине), если только s3:ListBucket также предоставляется, и вы не хотите этого делать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...