2016-11-30 3 views
1

Мне нужно разрешить моим пользователям получать доступ и загружать контент в AWS S3.aws s3 пользователь iam против подписанных URL-адресов

Теперь у меня есть два решения, чтобы сделать:

  1. Создать отдельное ведро для каждого пользователя или хранения данных для каждого пользователя в различных каталогах, в одном ведре.

  2. Разрешить им доступ через подписанный URL-адрес или создать отдельный пользователь IAM для всех?

    Процесс должен быть полностью автоматизированным и масштабируемым (то есть многие пользователи регистрируются или прекращают пользоваться услугами каждый день).

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

ответ

3

У вас может быть только 100 ковшей на каждую учетную запись AWS, всего не для региона, поэтому вы не должны создавать ведро для каждого пользователя.

Используйте клавиши (папки) для организации данных. Предоставьте доступ через подписанные файлы cookie (или URL-адреса, но файлы cookie лучше для каждого пользователя) и выполните аутентификацию в своем приложении (или используйте AWS Cognito). IAM не предназначен для конечных пользователей приложений, а для пользователей сервиса AWS.

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-choosing-signed-urls-cookies.html

+0

Это было то, что я думал, что в первую очередь. Однако ваш намек на AWS Cognito, кажется, идеально подходит для моих нужд. Я займусь этим. Спасибо – Chris

+0

Предел в 100 ковшей теперь только предел * по умолчанию *, теперь вы можете представить свой прецедент для поддержки AWS и запросить увеличение ... но ведро для пользователя по-прежнему не очень хорошая идея. +1 –

+0

Приятно знать о ведрах, я предполагаю, что они получили в регионе fqdn теперь, как и другие сервисы (Beanstalk/ELB), поэтому могут себе это позволить. – NHol

Смежные вопросы