VPN и учетные данные AWS - PullRequest
       13

VPN и учетные данные AWS

0 голосов
/ 31 августа 2018

Мы разрабатываем приложение для Android, которое не будет распространяться ни в одном магазине. На самом деле он встроен в медицинское устройство, которое будет распространено среди наших пользователей (то есть пациентов). Таким образом, мы контролируем аудиторию. Даже если терминал украден, он будет отключен на сетевом уровне (SIM-карта заблокирована). Все коммуникации будут проходить через выделенный APN (в основном соединение через виртуальную частную сеть). Таким образом, мы можем обеспечить связь только наших распределенных устройств с нашими серверными ресурсами. Также мы можем контролировать IP-адреса парка устройств. Что касается сервисов AWS, мы используем S3 из приложения Android для хранения некоторых файлов пациентов. Мы, вероятно, расширимся на другие сервисы AWS. Мы явно используем Android SDK в устройстве.

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

Какие есть варианты подключения к AWS при условии, что мы запускаем через выделенную APN?

Чтобы наложить некоторые ограничения, мы бы предпочли не регистрировать каждое устройство до того, как оно сможет взаимодействовать с нашими сервисами AWS (я так понимаю, именно так работает Cognito User Pool: есть пул предварительно зарегистрированных пользователей / идентификаторов) , Вместо этого мы предпочли бы, чтобы идентификация устройства была получена в момент первого подключения.

Наша лучшая ставка на данный момент - использование Cognito Identity Pools, что похоже на выдачу удостоверений без какой-либо предварительной регистрации. Рассматриваются 2 варианта: использование доступа «неаутентифицированный / гостевой» или создание «Поставщика аутентификации разработчика» для выполнения проверки личности запрашивающей стороны перед тем, как пул идентификаторов будет выдавать токены. Как только устройство авторизовано, оно обменивается токенами с AWS STS, чтобы получить временные учетные данные для любой службы AWS, авторизованной для этого удостоверения.

Теперь у меня есть вопросы :) Имеет ли смысл использовать Cognito Identity Pool здесь? Можем ли мы использовать только неаутентифицированный / гостевой доступ (при условии, что мы находимся внутри VPN)? Или реализовать кусок аутентификации в середине необходим? Правильно ли я понимаю рабочий процесс с STS? Любая другая мысль?

Большое спасибо за вашу помощь и время, проведенное в этом посте.

Удачного кодирования!

Приветствия

Фабрис

...