У меня есть сервер, который должен предоставить клиенту временные учетные данные AWS. Учетные данные будут передаваться с использованием HTTPS.
Клиент должен иметь возможность загружать файлы S3, а также загружать их. У меня есть следующая проблема:
У меня есть несколько пользователей, обращающихся ТОЛЬКО к их собственному каталогу: /Users/someUser/myfile.png
Вы можете установить политики, чтобы разрешить или запретить S3 вообще, но вы не можете предоставить только доступ к определенному пути.
Что я должен делать по этому поводу? Будет ли достаточно HTTPS-передачи?
Тогда мой второй вопрос. Если я слышу «временные учетные данные», у меня есть ключ, который действует в течение нескольких часов, а затем истекает. Но я не уверен, что IAM действительно построен для этого. Должен ли я предоставлять те же учетные данные для всех пользователей? Или я создаю пару ключей для каждого клиента?
Сервер работает с PHP, клиентом с Objective-C.
Вы можете указать разрешения для пути в Amazon S3. Для получения дополнительной информации см. Следующее:
Использование политик IAM
Кроме того, если вы хотите создать «временные учетные данные», вы можете использовать службу маркеров безопасности AWS. Эта служба позволяет создавать учетные данные, которые длится от 1 до 36 часов, и вы можете поместить политику в эти учетные данные, чтобы ограничить их доступ. Для получения дополнительной информации об услуге см.
Справочник API службы поддержки токенов
Наконец, есть статья, написанная для SDK Mobile SDK, которая делает что-то подобное. Он имеет сервер для выдачи временных учетных данных пользователям, использующим ведро Amazon S3. Он ограничивает пользователей «подпапкой» ведра, а также ограничивает их действия. Вы можете прочитать и этот образец здесь:
Управление учетными данными для мобильных приложений
Надеюсь, это поможет вам получить необходимую информацию.