Разрешить нескольким пользователям доступ к личной папке S3 с использованием ролей IAM - PullRequest
0 голосов
/ 22 февраля 2019

Я хочу сделать следующее:

  • иметь один контейнер
  • иметь возможность для нескольких пользователей добавлять / читать / получать доступ к объектам с определенным префиксом папки проекта
  • Не разрешать другим пользователям доступ к объектам, к которым они не принадлежат

Так, например, если у вас есть проект с идентификатором 1, несколько пользователей могут создавать объекты под ним:

user_1 создан 1/image_1.jpg

user_2 прочитан 1/image_1.jpg

user_2 создан 1/image_2.jpg

Однако пользователи, которые этого не делаютпринадлежать «проекту», не может:

НЕ РАЗРЕШЕНО user_3 read 1/image_1.jpg

Все, что я нашел в Интернете, вращается вокругкаждый пользователь имеет свою собственную папку, создавая роль IAM, которая разрешает доступ только к объектам с префиксом идентификатора пользователя.Этот подход создает пользовательских папок , я хочу папок проекта .

1 Ответ

0 голосов
/ 23 февраля 2019

Типичная архитектура:

  • Когда приложение хочет отобразить частный объект или предоставить ссылку на частный объект, оно генерирует Предварительноподписанный URL .
  • Этот предварительно подписанный URL обеспечивает ограниченный по времени доступ к частному объекту.
  • Пользователи могут использовать ссылку для просмотра /скачать объект.Например, его можно использовать в теге <img> для отображения изображения или в теге <a> для предоставления ссылки.

  • Когда пользователь хочет загрузить объект , затем загрузить объекты с использованием предварительно назначенных URL-адресов .Это может контролировать, куда загружается объект, тип файла, максимальный размер и т. Д.

Таким образом, приложение полностью контролирует , над какими объектами пользовательзагрузка / выгрузка, которая дает гораздо более детальный контроль, чем необходимость создания правил IAM для каждой комбинации пользователя, проекта, папки, объекта и т. д. Предварительно подписанный URL-адрес может использоваться для прямого доступа к S3, но только для выполнениячто приложение разрешило.

...