Всем привет. Не знаю даже, в какой форум это написать.
В общем, возникла тут у нас необходимость засекьюрить доступ к одному кусочку приложения.
Вкратце — приложение multitenant, multitier. Есть конечный потребитель, его "личный кабинет". В личный кабинет могут входить все сотрудники конечного потребителя (это малый бизнес, как правило).
Кроме этого, в его же личный кабинет могут входить любые сотрудники того реселлера, через кого потребитель зарегистрирован (имперсонация).
А также все сотрудники над-реселлера, который объединяет регион, в котором реселлер зарегистрирован.
А также все сотрудники оператора платформы, которые имеют доступ к хабу, в котором живут регионы.
А также сотрудники службы поддержки вендора платформы.
В обшем, получается довольно много народу. В большинстве случаев это неважно, т.к. почти все сервисы, доступные там — облачные. Ущерб нанести можно, а вот "украсть себе" — нельзя. Ну, как нельзя, к примеру, "украсть" терабайты места в OneDrive, даже зная имя/пароль пользователя.
Но вот думаем добавить торговлю лицензиями, а с ними беда — если ключик прочёл посторонний, то всё — он может спокойно его активировать для себя. И нормального способа отличить законную активацию от незаконной у нас нету.
Пока придумалось заставлять людей проходить через 2FA — то есть при попытке посмотреть ключик, мы отправляем СМС на номер пользователя и всё такое.
Вопрос теперь: есть ли какие-то готовые коробочные сервисы 2FA, которые можно относительно быстро прикрутить к веб-приложению?
Чтобы стоимость эксплуатации была не заоблачной, и чтобы не было вот этого вот "ну, тогда давайте вся база пользователей будет жить у нас", как у Azure AD.
И чтобы покрытие было международным — мы торгуем на всех континентах, кроме Антарктиды.
Заранее благодарен.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
S>Вопрос теперь: есть ли какие-то готовые коробочные сервисы 2FA, которые можно относительно быстро прикрутить к веб-приложению? S>Чтобы стоимость эксплуатации была не заоблачной, и чтобы не было вот этого вот "ну, тогда давайте вся база пользователей будет жить у нас", как у Azure AD. S>И чтобы покрытие было международным — мы торгуем на всех континентах, кроме Антарктиды.
S>Вопрос теперь: есть ли какие-то готовые коробочные сервисы 2FA, которые можно относительно быстро прикрутить к веб-приложению? S>Чтобы стоимость эксплуатации была не заоблачной, и чтобы не было вот этого вот "ну, тогда давайте вся база пользователей будет жить у нас", как у Azure AD.
В простейшем случае в сервисе амазона cognito можно хранить только email пользователя и телефон, если mfa делать через смс.
Но я как подобает лентяю долго не разбирался, email там нужен только чтобы слать письмо по восстановлению пароля и другим рутинным операциям(мне лень самому это писать). Скорее всего достаточно будет хранить у себя в базе id пользователя в амазоне и самому заниматься рассылкой ссылок восстановления пароля.
Для MFA по смс телефон придётся им отдать, скорее всего можно сделать через google authenticator и не давать даже телефон.