Компания RedLab приняла участие в реализации проекта по разработке IAM-системы для страховой компании. В этой статье делимся кейсом.
О клиенте
Крупнейшая российская страховая группа. В портфеле клиента больше 200 инновационных решений, которые гарантируют безопасность инвестиций и имущества, а также множество решений для защиты рисков бизнеса. Компания предоставляет услуги по страхованию для 31 млн людей и 125 тыс. компаний.
О проекте
Для управления учетными записями, процессами авторизации и аутентификации внутренних и внешних пользователей страховая компания использует IAM-систему (Identity and Access Management). С течением времени программный продукт перестал соответствовать требованиям бизнеса в части контроля доступов к информационным ресурсам и безопасности данных.
Описание задачи
К моменту обращения клиент имел устаревшую IAM-систему. Требовалось актуализировать существующее решение, а именно область управления ролями и информационными данными, и добавить новый современный функционал:
Реализовать опцию управления пользователями: создание и отключение учетных записей, контроль их доступа к информационным ресурсам.
Обеспечить мониторинг действий сотрудников: обнаружение подозрительной активности или попыток несанкционированного доступа.
Повысить безопасность данных: соответствие международным стандартам и российским законам, защита информации от внешних атак и утечки данных.
Реализация
После изучения требований к продукту и архитектуре специалисты RedLab смоделировали статический вид новой системы, создав Sequence и Component диаграммы. Далее приступили к разработке целевых сервисов под управлением IAM-системы:
Разработали сервис аутентификации пользователей. Предусмотрели обратную совместимость с предыдущим решением, чтобы упростить процесс перехода на новую архитектуру.
Перевели сервисы с Java 11 LTS на Java 17 LTS, в итоге скорость выполнения запросов в коде стала более высокой, а обработка данных — проще.
Реализовали провайдер для Keycloak для отправки сообщений по аудиту в Kafka, которых помог анализировать и отслеживать активность пользователей.
Настроили GitLab CI flow и построили взаимодействие с AD лесами через подход Spring-Data (spring-ldap), что упростило работу. В случае обрыва сети повторные запросы начали идти с помощью spring-retry.
Создали сервис для получения данных о внутренних и внешних пользователях компании. Благодаря решению клиент стал видеть статусы учетных записей, текущие права в разных областях, список контрактов и другое.
Начали использовать фреймворк Spring Boot v3, который сократил время развертывания проекта.
Предложили клиенту внедрить CI/CD в legacy проект. Нововведение позволило быстро вносить правки в старую систему и разбираться с возникающим проблемами.
Провели рефакторинг секретов в Vault для интеграции с Banzai Cloud Pipeline, получив безопасное хранение и управление конфиденциальными данными в инфраструктуре облачных сред.
Результат
С помощью обновленной IAM-системы страховая компания легко управляет учетными записями пользователей, контролирует их права доступа к конфиденциальной информации и системам. Поскольку целевые сервисы под управлением IAM-системы постоянно меняются и требуют переконфигурирования, продолжаем расширять и обновлять продукт.