Как сделать приватное ведро на AWS s3? - PullRequest
0 голосов
/ 21 января 2020

Я пытаюсь создать приватное ведро на AWS s3 и читать и писать в него из Android приложения.

Я нашел множество ресурсов и вопросов, но ничего из этого не дало мне полного ответа.

Я сделал приватный ответ, но не знаю, что мне писать в Bucket Privacy, и что мне нужно для доступа к нему из Android app.

Как я могу это сделать?

Подробнее:

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

Все данные на моем сервере, кроме фотографий, я хочу загрузить фотографии в личное хранилище на s3 и просмотреть их URL-адреса, сохраненные на моем сервере . Могу ли я сделать это?

Ответы [ 3 ]

1 голос
/ 23 января 2020

Обычная архитектура для этого:

  • Хранить корзину Amazon S3 приват (без политики Bucket)
  • Пользователи приложения Android предоставляют их данные для входа в приложение, которые аутентифицируются на вашей серверной службе
  • После аутентификации ваша серверная служба может создавать временные учетные данные с использованием AWS Security Token Service ( STS) - этим учетным данным назначаются разрешения, которые предоставляют доступ к Amazon S3 (например, только для определенного пути в определенном сегменте)
  • Мобильное приложение может затем использовать эти временные учетные данные непосредственно для общаться с Amazon S3 для загрузки / загрузки объектов

Вы можете использовать Amazon Cognito для аутентификации и предоставления учетных данных, или вы можете кодировать свой собственный процесс аутентификации (например, проверка к вашей собственной базе данных).

Ссылки:

Если вы только wi sh для просмотра фотографий , тогда для внутреннего сервера будет проще создать предварительно подписанные URL-адреса Amazon S3 , которые разрешат ограниченный по времени доступ к частным объектам в Amazon S3.

См .: Предварительно подписанные URL-адреса Amazon S3

0 голосов
/ 21 января 2020

Это можно сделать как:

  1. созданием политики сегмента для указанного c пользователя IAM
  2. созданием политики ACL для учетной записи, а затем делегированием разрешений указанному c пользователь
0 голосов
/ 21 января 2020

Ограничить доступ к роли IAM для корзины S3. Используйте эту роль в Android приложении.

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