IAM-система для страховой компании
- Analyst
- Backend
- DevOps
- Tech support
- Java 17
- Keycloak 17
- REST
- Spring Boot 3
- Spring Security
- Keycloak
- LDAP
- ApacheDS
- Jaxb
- jUnit
- Oracle pl/sql
- PostgreSQL
У вас есть задача?
Давайте обсудим?
О клиенте
Крупнейшая российская страховая группа. В портфеле клиента больше 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, получив безопасное хранение и управление конфиденциальными данными в инфраструктуре облачных сред.