Как мобильное приложение должно проходить аутентификацию в AWS - PullRequest
1 голос
/ 10 апреля 2019

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

Моим первым решением было создание пользователя IAM, выделенного для мобильного приложения, и встраивание его учетных данных в мобильное приложение.код.Приложение аутентифицирует себя в AWS, используя встроенные учетные данные.Это работает, однако AWS предлагает избегать встраивания учетных данных непосредственно в приложение.

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

Однако я не понимаю, почему гостевая идентификационная информация Cognito более безопасна, чемвстроенные учетные данные.Мобильное приложение получает временные учетные данные AWS, отправляя идентификатор пула идентификаторов Cognito, который представляет собой долгосрочное «число» , встроенное в мобильное приложение.Если кто-то сможет найти этот идентификатор пула удостоверений, он сможет получить учетные данные AWS и получить доступ к ресурсам AWS в качестве моего официального мобильного приложения.Кажется, что нет никакой разницы между встроенными долгосрочными учетными данными AWS и расширенным доступом к Cognito.

Почему решение Cognito лучше, чем встроенные учетные данные AWS?

1 Ответ

1 голос
/ 10 апреля 2019

Если вы создаете неаутентифицированный доступ с использованием пула идентификаторов, вы разрешаете доступ общественности к вашим ресурсам AWS.Убедитесь, что вы тщательно написали свою политику, и не будет иметь значения, используете ли вы одного пользователя IAM или cognito без аутентификации, если речь идет о безопасности.

Использование федеративной идентификации обеспечит вам такие преимущества, как получение статистики использования и добавление триггеров к событиям.Также имейте в виду, что создание одного пользователя IAM, а затем разрешение нескольким людям использовать эти учетные данные - это «хакерский» способ сделать то, для чего была разработана идентификационная информация cognito федеративная без аутентификации.Вы можете столкнуться с неожиданными осложнениями позже, если AWS решит ограничить такое поведение IAM.

...