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