Как защитить свое мобильное приложение с помощью Cognito Sync, чтобы его нельзя было реконструировать и использовать в мошеннических приложениях

Я разрабатываю игру для мобильных приложений с помощью Unity, и в настоящее время я внедряю AWS NET SDK для Cognito Sync, чтобы позволить игрокам сохранять свои сохраненные данные в сети на случай, если они переустановят приложение или сменят телефон.

У меня есть опасения по поводу безопасности Cognito Sync, так как кажется, что для автоматического подключения к службе Cognito Sync требуется только предоставить ему идентификатор пула удостоверений; в то время как я использую руководство в документации в качестве ссылки.

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

Есть ли в AWS Cognito встроенный механизм для предотвращения этого? Если нет, то как мне самому предотвратить это?

Спасибо.


person Alex    schedule 08.06.2016    source источник


Ответы (1)


Я хотел бы уточнить одну вещь, прежде чем начать свой фактический ответ. API-интерфейсы Cognito Sync — это аутентифицированные API, и их можно вызывать только с действительными учетными данными AWS разработчика или временными учетными данными AWS из службы Cognito Federated Identity.

Ваш идентификатор пула удостоверений используется службой Cognito Federated Identity для получения временных учетных данных. Эти временные учетные данные продаются в зависимости от типа удостоверения, которое вы создаете. Аутентифицированные удостоверения — это удостоверения, которые сначала используют одного из поддерживаемых поставщиков аутентификации, а затем получают учетные данные. Неаутентифицированные или гостевые удостоверения напрямую связываются со службой для получения временных учетных данных. Привилегии, связанные с этими учетными данными, являются производными от соответствующей роли, которую разработчики настраивают для пула удостоверений.

Рекомендуемый подход к созданию безопасных приложений — убедиться, что вы используете аутентифицированные удостоверения в своем приложении. Неаутентифицированные роли следует использовать только для предоставления доступа только для чтения, если это необходимо.

Я надеюсь это имеет смысл. Подробнее об этих концепциях можно прочитать в нашем руководстве для разработчиков. .

person Chetan Mehta    schedule 10.06.2016
comment
Я использую временные учетные данные AWS. В идеале я хотел бы, чтобы неаутентифицированные учетные записи могли синхронизировать данные для своего приложения, и я настроил его для этого. Я просто беспокоюсь о том, что этой щедростью могут злоупотребить. - person Alex; 15.06.2016