Централизованная авторизация нужна там, где десятки сервисов и растущие требования к безопасности делают управление доступами хрупким. В материале показываем, как построить SSO на базе Keycloak и OpenID Connect с подключением LDAP/Active Directory и едиными ролями. Статья для архитекторов и ИТ-команд: разберём архитектуру, интеграции и практические настройки.
LDAP — базовый протокол каталогов (Active Directory, OpenLDAP), который хранит учётные записи и группы и обеспечивает базовую аутентификацию и разграничение прав.
Однако при росте сервисов и гибридной инфраструктуре проявляются ограничения:
В итоге доступы применяются неоперативно, SSO расползается по костылям, а архитектура становится хрупкой и дорогой в сопровождении.
Keycloak – open-source IAM-сервер, который подключается к LDAP/AD, выступает провайдером OpenID Connect/OAuth 2.0/SAML, управляет сессиями, ролями и политиками (включая 2FA).
Keycloak применяют там, где нужно:
Keycloak не заменяет LDAP/AD, а надстраивается над ним — это шлюз авторизации с явным контролем и гибкой конфигурацией под сервисы.
Ниже — базовая схема архитектуры авторизации с использованием Keycloak как прослойки между LDAP и корпоративными сервисами. Она отражает поток аутентификации и авторизации в типичной инфраструктуре.

OpenID Connect (OIDC) – расширение OAuth 2.0 для аутентификации, широко поддерживаемое корпоративными системами (GitLab, Grafana, Kubernetes, Argo CD и др.).
Преимущества OIDC:
В Keycloak настраиваются клиенты OIDC: форматы токенов, маппинг атрибутов/ролей, валидация сессий и политики времени жизни.
Jira и Confluence
Jira умеет подключаться к LDAP/AD напрямую, но внешние группы редактировать нельзя, а синхронизация и кэш часто задерживают изменения.
Confluence часто берёт пользователей из Jira, и права фактически зависят от каталога и групп, видимых в Jira.
GitLab
GitLab поддерживает LDAP и OIDC; при LDAP-подключении типичны задержки синхронизации групп и неконсистентность ролей. Интеграция GitLab ↔ Keycloak по OIDC позволяет:
В результате снижается нагрузка на администраторов и ускоряется онбординг/оффбординг пользователей.
Kerberos применяют в доменных средах для взаимной аутентификации без передачи паролей; RADIUS — на сетевом уровне (VPN, Wi-Fi).
Keycloak не заменяет Kerberos/RADIUS, а дополняет их на прикладном уровне:
Это повышает гибкость и расширяет архитектурные сценарии.
Внедрение Keycloak и централизованной модели не отменяет операционного администрирования:
Ключ к устойчивости — повторяемые сценарии, прозрачные процессы и определённые роли администраторов, а не «полный автомат» любой ценой.
Чтобы обеспечить управляемость и предсказуемость доступа, важно рассматривать не только архитектуру, но и жизненный цикл учётной записи: от создания до удаления. Ниже — схема этого процесса в связке с HR-системой, LDAP и Keycloak.

Для десятков тысяч пользователей и множества доменов Keycloak выступает единым шлюзом авторизации. Он помогает:
Keycloak — это не «внедрили и забыли», а живой компонент архитектуры, требующий мониторинга, обновлений и встраивания в процессы.
Как связаны objectGUID из Active Directory и sub в Keycloak?
objectGUID — уникальный неизменяемый идентификатор объекта в Active Directory.
В Keycloak поле sub — это уникальный идентификатор пользователя, который передаётся сервисам в OIDC-токене.
Связь следующая: AD → Keycloak (User Federation) считывает objectGUID. Через User Attribute Mapper можно назначить objectGUID источником sub.
Это гарантирует, что sub не изменится при:
Может ли Keycloak работать как Identity Provider по SAML при использовании LDAP/AD?
Да. Keycloak может быть не только OIDC-провайдером, но и SAML Identity Provider, даже если источником пользователей является LDAP/AD.
Сценарий:
Когда выбирать SAML:
Как работает Keycloak внутри?
Keycloak состоит из нескольких ключевых компонентов:
Процесс работы:
Можно ли использовать RADIUS вместе с Keycloak?
Да, но косвенно. Keycloak не является RADIUS-сервером, однако работает через адаптеры.
Варианты:
Ограничения:
Чем отличается прямая LDAP-аутентификация от OIDC через Keycloak?
LDAP/AD обеспечивает базовую проверку логина и пароля и отдаёт группы, но сам по себе не предоставляет современную модель SSO, токенов и ролей. При расширении количества сервисов это становится узким местом.
LDAP остаётся источником учётных записей, но роль центра авторизации и SSO лучше решается через Keycloak и OpenID Connect. Это снижает нагрузку на каталог, упрощает интеграции и даёт современный контроль доступов.
Может ли Keycloak заменить Active Directory?
Нет. AD остаётся каталогом, а Keycloak — прослойкой авторизации. Keycloak — это слой SSO, OIDC/SAML, ролей и токенов, а не каталог.
Можно ли использовать Keycloak и OpenLDAP вместо AD?
Да, Keycloak работает с OpenLDAP полностью.
Но ограничения:
Если вы внедряете SSO на базе Keycloak и OIDC или хотите связать LDAP/AD с Jira, GitLab и другими сервисами — поможем спроектировать и внедрить решение под ваш контекст. Мы делаем архитектуру авторизации, интеграции и сопровождение с передачей регламентов и шаблонов.
Напишите нам – обсудим, как сделать доступы управляемыми и предсказуемыми.
13.06.2025 (обн. 06.11.2025, 17.11.2025)