Перед началом разработки были проанализированы возможные подходы к реализации единой авторизации и централизованного управления доступом.
Использование штатных возможностей Битрикс24
Базовый сценарий с минимальными затратами на внедрение и быстрым запуском.
Преимущества:
- оперативное внедрение без доработок;
- отсутствие необходимости в дополнительной инфраструктуре;
Недостатки:
- ограниченные возможности интеграции с внешними системами;
- отсутствие полноценной реализации SSO;
- низкая масштабируемость при росте числа сервисов;
Интеграция с корпоративным каталогом пользователей
Второй вариант предполагал использование существующей системы управления пользователями (например, Active Directory или LDAP). Такой подход позволял частично централизовать учетные записи и доступы, однако не обеспечивал полноценной единой точки аутентификации для всех корпоративных сервисов.
Ограничения подхода:
- отсутствие единого механизма SSO для разнородных систем;
- сложности при подключении внешних и облачных сервисов;
- ограниченные возможности управления политиками безопасности;
Использование Keycloak
По итогам анализа был выбран подход с внедрением Keycloak в качестве централизованной системы управления идентификацией и доступом (IAM). Данное решение позволило построить единый контур аутентификации для всех корпоративных сервисов, включая Битрикс24.
Ключевые преимущества решения:
- реализация полноценного Single Sign-On (SSO);
- централизованное управление пользователями и ролями;
- масштабируемая архитектура для подключения новых систем;
- гибкая настройка политик безопасности;
- поддержка современных протоколов авторизации;
Keycloak — это промышленная open-source платформа управления доступом, широко используемая в корпоративных ИТ-ландшафтах.
Поддерживаемые стандарты:
- OpenID Connect;
- OAuth 2.0;
- SAML;
Платформа также предоставляет возможности для внедрения многофакторной аутентификации (MFA), управления ролями и правами доступа, а также централизованной настройки политик безопасности. В рамках проекта Keycloak стал не только решением для интеграции с Битрикс24, но и базовым компонентом для построения единой системы управления доступом на уровне всей компании.