Как можно ограничить чтение файлов в папке AWS S3 Bucket?
Всем привет.
У меня есть S3 Bucket, в нём я создал две папки: User1PhotosFolder и User2PhotosFolder. В каждой этой папке хранятся фотографии пользователей.
Также есть веб-сайт, на котором эти фоточки загружаются и отрисовываются. Например, пусть у User1 (который залогинился на мой веб-сайт) есть фотография my-secret-photo.jpg, которая лежит в папке User1. Можно ли как-то поставить ограничения, чтобы другой юзер не смог получить доступ к этому фото? Соответственно User1 не должен иметь доступа к папке User2. Я видел, что в Амазоне есть в метадатах некий ключ X-Amz-Security-Token, можно ли как-то через него ограничивать доступ?
Иван Шумов
@inoise Куратор тега Amazon Web Services
Solution Architect, AWS Certified, Serverless
Вопрос весь в том через что происходит аутентификация. Если у вас туда ходит ваш скрипт под своими кредами то вы обречены на реализацию логики в своем приложении. Если же использовать, например, Cognito то можно задавать пользователю права и получать данные по его токену. В любом случае всегда можно создавать временные токены с ограниченными правами
Иван Шумов, временные ссылки наверно не подойдут. Предположим, я создал временную ссылку, которая живёт 30 минут. Предположим, что в системе я хочу удалить доступ юзера User1 к папке User2. В таком случае, он в течении 30 минут ещё будет иметь доступ к этой ссылке.
А можно ли ограничить число запросов к временной ссылке? То есть можно ли сделать так, чтобы обратиться к этой ссылке можно было только один раз?
Написано
Иван Шумов
@inoise Куратор тега Amazon Web Services
NameOf Var, Нет. Чтобы такое сделать надо себе голову свернуть. Обычно просто ставится максимально короткий период времени