Ограничить доступ на запись в файл JSON на сервере AWS S3 - PullRequest
0 голосов
/ 07 марта 2019

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

Проблема

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

Файл JSON

{
  "females": [
    {
      "id": 1,
      "name": "First Name",
      "actions": [
        {
          "action_1": 123,
          "action_2": 456,
          "action_3": 789
        }
      ]
    }, ...    
}

Пользователи могут изменять значения, расположенные в массиве действий.

Любые рекомендации о том, как ограничить доступ для записи файла JSON только к этому приложению?

Ответы [ 2 ]

2 голосов
/ 07 марта 2019

Cloudfront здесь не поможет.

Решение -

  • для аутентификации пользователей вашего приложения (Amazon Cognito поможет вам) ИЛИ используйте Amazon Cognito с анонимным пользователем.

  • Дайте вашей роли Amazon Cognito разрешение на чтение и запись в корзину S3

  • удаление политик доступа из S3 (чтобы сделать корзину частной))

Таким образом, только пользователи приложения смогут читать и записывать файлы.

1 голос
/ 07 марта 2019

взгляните на следующее: Ограничение доступа к контенту Amazon S3 с использованием идентификатора доступа к источнику

Вы можете использовать CloudFront для маскировки и / или создания слоя между вашим контентом (в S3) и пользователь / ы.Это позволяет лучше контролировать управление доступом, а не хранить и выдавать фактические ссылки на URL-адреса S3.

...