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