Мультитенантность на IAC: как мы настроили Keycloak Organizations под B2B-платформу

Platform Engineering. Архитектура платформ

Другое
Системы прав доступа
API
Java
Архитектурные паттерны
Отказоустойчивость
Методы и техника разработки ПО
Масштабирование с нуля
Архитектуры / другое
Инфраструктура как сервис (IaaS), платформы как сервис (PaaS)
Технологии “быстрых решений”, “быстрого прототипирования”
Enterprise-системы
Application security
Безопасная коммуникация, культура
Безопасность
Безопасность инфраструктуры

Программный комитет ещё не принял решения по этому докладу

Целевая аудитория

- архитекторы и техлиды, которые внедряют или поддерживают мультитенантные решения - backend-разработчики, DevOps и платформенные инженеры - команды, использующие Keycloak или планирующие его использовать как IDM/IdP - инженеры в B2B-продуктах, особенно SaaS-платформах - все, кто хочет избежать наших ошибок и ускорить свой путь

Тезисы

В этом докладе я расскажу, как мы в стартапе построили мультитенантную систему для B2B-платформы коммуникаций, где каждый тенант соответствует компании или её продукту. Мы использовали Keycloak как центр управления пользователями, ролями, политиками доступа и интеграциями со сторонними IDP.

Система создаёт и настраивает тенанты через IaC, а фронт полностью управляет этой магией через наш backend, который в свою очередь общается с Keycloak.
По пути мы прошли через ад из тонкостей конфигурации Keycloak, проблемы с консистентностью, пересечениями политик, масштабированием реалмов, безопасностью и многим другим.

Доклад будет полезен тем, кто хочет понять, как строить мультитенантные решения на Keycloak (и чего лучше не делать), как автоматизировать управление тенантами через IaC и как связать всё это с живыми бизнес-системами, не потеряв разум.

Начал писать на Java в 14 лет — с увлечения геймдевом: придумывал игры, собирал маркетплейсы, пробовал всё, что только можно было реализовать кодом. Любопытство быстро превратилось в профессию: в 17 лет я уже работал Java-разработчиком в Т-Банке и строил надёжные финтех-системы.

Сегодня я техлид и architecture owner команды сегментов. Мы отвечаем за взыскание по 10+ ключевым кредитным продуктам банка с портфелем на триллионы рублей. Кроме этого, я вхожу в архитектурный комитет и reliability-команду Collection, где мы думаем о масштабируемости, инженерной эволюции и надёжности всей экосистемы.

Видео

Другие доклады секции

Platform Engineering. Архитектура платформ