Как отключить список ведений облачного хранилища Google из элемента управления acl?
Мы используем облачное хранилище Google в качестве нашей CDN.
Тем не менее, любой посетитель может перечислить все файлы, набрав: http://ourcdn.storage.googleapis.com/
Как его отключить, пока все файлы в корзине по-прежнему доступны для чтения по умолчанию?
Мы предварительно установили ACL, используя
gsutil defacl ch -g AllUsers:READ
5 ответов
Ваш дефак выглядит хорошо. Проблема, скорее всего, заключается в том, что по какой-то причине AllUsers также должен иметь READ, WRITE или FULL_CONTROL в самой корзине. Вы можете очистить их с помощью такой команды:
gsutil acl ch -d AllUsers gs://ourcdn
В панели инструментов GCP:
- забраться в свое ведро
- нажмите вкладку "Разрешения" и войдите.
- в списке членов найдите "allUsers", измените роль с Storage Object Viewer на Storage Legacy Object Reader
тогда листинг должен быть отключен.
Загрузить пустой index.html
файл в корне вашего ведра. Откройте настройки корзины и нажмите " Изменить конфигурацию веб-сайта" - установите index.html в качестве главной страницы.
Это предотвратит распечатку каталога.
Ваша команда установила для списка ACL объекта по умолчанию значение READ, что означает, что объекты будут доступны любому. Чтобы пользователи не могли перечислять объекты, вы должны убедиться, что у них нет списка ACL в самой корзине.
gsutil acl ch -d AllUsers gs: // yourbucket
должен сделать это. Возможно, вам придется запустить аналогичную команду для AllAuthenticatedUsers; просто взгляните на ведро ACL с
gsutil acl get gs://yourbucket
и это должно быть понятно.
Если вы используете корзину для статического веб-сайта (или нет), вы можете указать (с помощью gsutil) GCP Cloud Storage, какой файл использовать в качестве «индексного» файла, чтобы XML-файл со списком всего содержимого не отображался. и вместо этого ваш файл index.html. См. https://cloud.google.com/storage/docs/gsutil/commands/web.