Алексей Хмельницкий, RooX: Новая норма — отдельная система аутентификации и авторизации клиентов

28.12.2022
Интервью TAdviser о CIAM: разнице в подходах к аутентификации сотрудников и клиентов, принципах разработки CIAM-систем, об ожидаемых и неочевидных перспективах.
TAdviser: Почему в последнее время выросла потребность в системах авторизации и аутентификации внешних пользователей?
Алексей Хмельницкий: Прежде чем ответить на ваш вопрос, хотелось бы вспомнить историю. Задачи, связанные с аутентификацией клиентов, появились одновременно с появлением популярных интернет-ресурсов. В конце 90-х логинить пользователей нужно было на форумы и порталы, чуть позже, в 2000-е годы, — в многочисленные личные кабинеты, а в 2010-е начался расцвет смартфонов и мобильных приложений.

Дальше некоторые специалисты ищут корреляции с пандемией, но, на мой взгляд, на аутентификацию она заметно не повлияла. Еще до 2020 года многие миллионы людей совершали покупки на маркетплейсах, заходили в банк через приложение и пользовались Госуслугами. Просто цифровые ценности за последние пару лет стали нормой для общества, а цифровым активам стал требоваться удобный и безопасный доступ.

Вместе с тем предметная область накопила техническую базу, лучшие практики и выросла в самостоятельный сегмент под названием CIAM — Customer Identity and Access Management. В результате для современной архитектуры цифровых платформ отдельная система авторизации и аутентификации клиентов становится нормой.
TAdviser: Какие принципиальные особенности имеет разработка CIAM-систем?
Алексей Хмельницкий: Надо сказать, что на старте здесь многих ждет ловушка. Она исходит из тезиса «любой junior-разработчик напишет форму логина». Действительно, нередко аутентификация пользователей зарождается как простой модуль или микросервис в составе цифровой инфраструктуры. Вход по логину и паролю с кодом по SMS в качестве второго фактора или вход через соцсеть можно реализовать на основе бесплатной библиотеки или легкого Open Source проекта. Многим кажется, что это и есть вся аутентификация.

Сложности появляются при попытке выйти за рамки простых задач: добавить вход по электронной цифровой подписи (ЭЦП), организовать бесшовную аутентификацию между сервисами (Single Sign-on), разработанными разными командами, осуществлять авторизацию в зависимости от должности в компании, выполнять асинхронные проверки при регистрации и так далее. И делать все это в соответствии со стандартами безопасности, подходом Application Security, не забывая про UX. Так что первой особенностью разработки CIAM я бы назвал высокую техническую сложность.

Вторая особенность — необходимость выдерживать высокую и волнообразную нагрузку. Клиентов у компании обычно в разы больше, чем сотрудников, и приходят они неравномерно. На приток клиентов влияют акции, зарплатные дни, слухи на бирже и т.д.. Доступность CIAM, кстати, должна быть даже выше, чем у бизнес-системы, к которой пытается обратиться пользователь.

Кроме того, CIAM-система должна обеспечить отличный клиентский UX. Аутентификация — это первая и наиболее часто используемая функция ваших приложений. Если говорить утрированно, пользователь ничего не сделает, пока не войдет, поэтому сценарии взаимодействия пользователя с CIAM должны быть тщательно продуманы.

В RooX UIDM сценарии позволяют не ограничиваться вариантами «логин+пароль с двухфакторной аутентификацией или без нее». В нашей системе можно строить произвольные сценарии аутентификации в виде графа с развилками и слияниями при выполнении заложенных условий. При этом система спроектирована в соответствии с подходом API-First, поэтому можно писать интерфейс аутентификации с использованием любой технологии. А благодаря SDK разработчики получают простую интеграцию с сервером RooX UIDM.

И, наконец, надо отметить, что хорошая CIAM-система должна позволять находить компромисс между безопасностью и удобством для пользователей. Но поскольку такие системы, как правило, стоят между злоумышленниками и чувствительными данными, цена ошибки высока. Это тоже приходится учитывать в разработке.


Интервью полностью на TAdviser.ru.
Подробнее о системе аутентификации и авторизации RooX UIDM