Ответ 1
Следует отметить, что добавление файла index.html в ведро ничего не делает. Этот файл будет просто указан вместе со всеми другими файлами при просмотре корня ведра.
Кроме того, установка уровней доступа в ведре так, чтобы "каждый" не мог читать, означает, что каждый новый файл, который вы загружаете в свое ведро, должен иметь свое разрешение, установленное на "все", прежде чем его можно будет просмотреть. Это непрактично, если вы регулярно добавляете файлы.
Лучшее решение состоит в том, чтобы сначала установить уровни доступа в ведре, чтобы лишить доступ для чтения "каждый", но затем создать политику ведра, которая позволяет всем читать то, что внутри ведра. Таким образом, никто не сможет перечислить содержимое вашего ведра, но любые новые файлы, которые вы добавите, будут доступны для чтения всем, у кого есть ссылка на этот файл.
Вот как выглядела бы политика ведра. Замените "my_bucket" на ваше имя в виде ведра, и вам хорошо идти.
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my_bucket/*"
}
]
}