Как я хочу управлять различными пользовательскими файлами на Amazon S3? - PullRequest
0 голосов
/ 01 сентября 2018

Допустим, я создаю службу загрузки файлов и хочу, чтобы только Пользователь1 видел файлы User1 по запросу, а Пользователь2 - файлы User2 и т. Д.

Я могу нормально загружать файлы, но я хочу разрешить только зарегистрированному пользователю иметь доступ к его / ее файлам. Создаю ли я собственного пользователя IAM в AWS одновременно с тем, как я создаю его на своем веб-сайте, или я использую предопределенные URL-адреса?

Не совсем уверен, как это работает.

Ответы [ 2 ]

0 голосов
/ 01 сентября 2018

Обычно вы управляете разрешениями в вашем приложении - поэтому у вас есть собственная база данных с информацией о том, какому файлу S3 принадлежит какой пользователь, метаданными и т. Д.

Тогда вам нужен только один пользователь IAM. Вы никому не передаете свои ключи доступа AWS / IAM.

Когда пользователь хочет загрузить файл, вы даете ему предварительно назначенный URL-адрес S3. Или файлы S3 могут быть доступны для публичного чтения, и вы просто даете им URL, если это подходит для вашего варианта использования.

0 голосов
/ 01 сентября 2018

Я бы не давал пользователям прямой доступ к API AWS S3, поэтому я бы не создавал учетную запись пользователя IAM для каждого из ваших пользователей. Я бы порекомендовал хранить файлы каждого пользователя под префиксом по их идентификатору, просто чтобы упростить очистку старых пользователей, определить, сколько места использует каждый пользователь и т. Д.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...