Актуальность внедрения Single Sign-On (SSO)
Single Sign-On (SSO) — это механизм централизованной аутентификации, позволяющий пользователю войти в систему один раз и получить доступ ко всем подключённым сервисам без повторного ввода учётных данных. Технически SSO реализуется на базе открытых стандартов — OpenID Connect, OAuth 2.0, SAML — что обеспечивает совместимость с большинством современных платформ, включая 1С:Предприятие, 1С:Предприятие Элемент, 1С:Битрикс и другие.
Наличие у компании двух или нескольких веб-пространств является типичным сценарием, при котором внедрение SSO даёт значительные преимущества. Ниже приведены основные причины и выгоды.
Улучшение пользовательского опыта (UX). Пользователи (ваши клиенты, партнёры или сотрудники) не должны дважды проходить аутентификацию при переходе между сайтом и B2B-порталом. SSO позволяет войти один раз и получить доступ ко всем связанным сервисам без повторного ввода логина и пароля. Это особенно важно для B2B-аудитории, где удобство напрямую влияет на лояльность.
Повышение безопасности. Уменьшается количество паролей, которые пользователи хранят или записывают.
- централизованное управление сессиями и возможность мгновенного отзыва доступа (например, при увольнении партнёра);
- снижается риск фишинга и утечек из-за слабых или повторяющихся паролей.
Техническая и бизнес-гибкость. Вы можете использовать современные стандарты (OpenID Connect, SAML), поддерживаемые как 1С:Элемент, так и Битрикс (через модули или интеграции).
- Легко добавить новый сервис в ту же SSO-инфраструктуру без перестройки всей системы аутентификации
Поддержка федеративной идентификации. Если ваши B2B-клиенты используют собственные корпоративные IdP (например, Azure AD, Keycloak или Blitz Identity Provider), SSO позволяет им входить в ваш портал через их внутреннюю систему — это критически важно для крупных заказчиков
Таким образом, для компании с B2B-порталом и публичным сайтом, SSO — не просто «удобство», а стратегический элемент цифровой экосистемы, который повышает безопасность, снижает затраты и делает взаимодействие с клиентами более профессиональным и бесшовным.
Выбор сервера авторизации
Выбор сервера авторизации является фундаментальным решением при построении архитектуры SSO, определяющим не только техническую реализацию, но и соответствие бизнес-требованиям. Несмотря на то, что в рамках описанного ниже кейса мы покажем успешную интеграцию на базе Keycloak, реальная эксплуатация требует учета множества факторов: от требований законодательства до наличия внутренней экспертизы. На российском рынке наиболее часто выбор стоит между международным open-source стандартом и сертифицированными отечественными решениями. Далее мы приводим сравнительный анализ двух популярных платформ — Keycloak и Blitz Identity Provider. Они решают единую задачу управления доступом, но предполагают разные подходы к внедрению, поддержке и соблюдению нормативных требований, что поможет вам определить оптимальный инструмент для вашего ИТ-ландшафта.
Сходства
|
Критерий |
Общие черты |
|
Функциональность IAM/SSO |
Оба решения реализуют централизованную аутентификацию и единую систему управления доступом (IAM), поддерживают Single Sign-On (SSO). |
|
Многофакторная аутентификация (MFA) |
Поддерживают различные методы MFA: от OTP и SMS до аппаратных ключей и ЭП. |
|
Поддержка внешних IdP |
Возможность подключения внешних провайдеров идентификации: соцсети, Госуслуги (ЕСИА) в Blitz; OpenID Connect / SAML IdP в Keycloak. |
|
Самообслуживание пользователей |
Оба предоставляют пользователям личные кабинеты для смены паролей, управления сессиями, привязки аккаунтов и настройки 2FA. |
|
Гибкость интеграции |
Поддерживают стандартные протоколы: OpenID Connect, OAuth 2.0, SAML (в той или иной степени). |
|
Контроль доступа |
Оба позволяют настраивать политики доступа к приложениям и API на основе ролей, атрибутов или условий. |
|
Аудит и безопасность |
Ведут журналы событий безопасности, позволяют отслеживать попытки входа и действия пользователей. |
Отличия
|
Критерий |
Blitz Identity Provider |
Keycloak |
|
Происхождение и лицензирование |
Российское ПО, коммерческое, зарегистрировано в Реестре российского ПО, сертифицировано ФСТЭК. |
Международный open-source проект (Apache License 2.0), разрабатывается Red Hat. |
|
Соответствие российскому законодательству |
Полностью соответствует требованиям 152-ФЗ, ФСТЭК, может использоваться в госсекторе и критически важных инфраструктурах РФ. |
Не имеет официальной сертификации в РФ, не входит в Реестр российского ПО. |
|
Поддержка ЕСИА и Госуслуг |
Нативная поддержка ЕСИА как внешнего IdP. |
Требуется ручная настройка через OpenID Connect (возможно, но без официальной поддержки). |
|
Локализация и поддержка |
Русскоязычный интерфейс, техподдержка на русском языке, ориентация на российский рынок. |
Англоязычная документация и сообщество; локализация возможна, но требует усилий. |
|
Дизайн и UX |
Глубокая кастомизация внешнего вида, темы оформления, адаптация под корпоративный стиль. |
Интерфейс можно кастомизировать, но требует знаний FreeMarker/HTML/CSS. |
|
Производительность и масштабируемость |
Заявлена высокая производительность (>1000 RPS на один сервер), горизонтальное масштабирование. |
Масштабируется, но производительность зависит от конфигурации и используемого хранилища (например, PostgreSQL vs embedded H2). |
|
Развёртывание и экосистема |
Коммерческое решение с поддержкой и консалтингом. |
Бесплатное, но требует экспертизы DevOps и безопасности для продакшена. |
|
Авторизация (Fine-grained) |
Основано на политике доступа, но детали реализации менее гибкие по сравнению с Keycloak. |
Встроенные Authorization Services с поддержкой ресурсов, scopes, policies, UMA. |
Выше мы привели структурированное сравнение ключевых характеристик обоих решений. Этот анализ позволит соотнести особенности каждой платформы с приоритетами вашего проекта и сделать выбор, обоснованный как с технической, так и с бизнес-точки зрения. Итак, мы рекомендуем,
✅ использовать Keycloak, если:
- У вас нет требований к Российской сертификации.
- У вас есть команда DevOps/разработчиков, способная настроить и поддерживать open-source решение.
- Вам нужны гибкие механизмы авторизации (UMA, fine-grained permissions) и расширенные возможности по управлению API-доступом.
- Вы хотите минимизировать лицензионные расходы и использовать свободное ПО.
- Ваш стек технологий уже включает Kubernetes, Quarkus, Red Hat или другие совместимые платформы.
✅ использовать Blitz Identity Provider, если:
- Ваша организация находится в России и обязана соблюдать российское законодательство (152-ФЗ, ФСТЭК, ГОСТ).
- Вы работаете в госсекторе, банковской сфере или критической инфраструктуре, где требуется сертифицированное ПО.
- Вам нужна нативная интеграция с ЕСИА (Госуслуги).
- Важна русская техподдержка, быстрое реагирование и готовые решения «под ключ».
- Требуется визуальная кастомизация экранов аутентификации без глубоких технических знаний.
Описание кейса
В представленном ниже кейсе рассматривается реализованное нами решение типичной проблемы разрозненных систем, на примере сценария, когда клиенты вынуждены отдельно авторизоваться на публичном сайте. Описанное решение устранило барьеры для пользователей при переходе с сайта на портал и обратно, а также снизило нагрузку на службу поддержки сократив количество запросов на восстановление и администрирование паролей.
Технический вызов при постановке исходной задачи звучал следующим образом: объединить две разнородные платформы в единую систему аутентификации без глубокого вмешательства в сам продукт. Решением стало внедрение Single Sign-On (SSO) через сервер авторизации Keycloak.
Для отработки сценария без рисков для боевых данных были развернуты локальные инстансы Keycloak, демо-версия продукта АКАМ:Портал и копия сайта компании АКАМ на Битрикс. Ниже приведено описание работ, выполненных в рамках кейса
Настройка и администрирование Keycloak
Пропустим описание процесса создания realm и пользователя для него, т.к. есть достаточно подробное описание этой части настройки на сайте https://www.keycloak.org/, и сразу перейдем к шагу по заведению нового клиента для АКАМ:Портал.
Заполним параметры аутентификации
Укажем параметры подключения к АКАМ:Портал в сети
задаем параметры пользователя:
- Имя
- Фамилия
- Имя пользователя (Логин ), ключ связи со связанными клиентами, в нашем случае (сайт АКАМ , АКАМ:Портал)
- E-mail, ключ связи со связанными клиентами
Сохраняем настройки и подключаем таким же образом клиента - сайт AKAM.
Настройка клиента АКАМ:Портал
В настройках подключения АКАМ:Портал, в панели управления, переходим в пункт меню Пользователи -> Списки пользователей выбираем в открывшемся списке, список пользователей нашего приложения (AKAM:Портал)
Добавляем новый сервис ODIC и выполним его подключение
В настройках приложения АКАМ:Портал и включаем использование сервиса внешних учетных записей
Выбираем подключенный сервис внешних учетных записей
В настройках формы аутентификации проверяем правильность расположения на форме пользователя кнопок входа в сервисы
Готово. Проверим работу авторизации в приложении
Выберем вариант входа “Войти через Тестовую систему аутентификации”, переходим на форму авторизации через SSO и проходим авторизацию на ней
Аутентификация прошла успешно, и мы перешли в портал
Настройка клиента - Сайт АКАМ
Для подключения сайта к серверу авторизации, будем использовать готовое решение из каталогов решений 1С-«Битрикс» позволяющее подключить сервис внешних учетных записей
Создаем тестовую страницу на сайте ssotest.php и используем включенную отладку для демонстрации работы и тестовые данные, скомпонованные по инструкции к модулю:
<?$APPLICATION->IncludeComponent(
"anighr:openidconnect",
"",
Array(
"AUTH_URL" => "http:// 10.1.0.01:8080/realms/AKAM/protocol/openid-connect/auth",
"CLIENT_ID" => "bitrix",
"CLIENT_SECRET" => "o85nygichgoveighvri8gcoe4f9x4rcvhbt",
"CREATE_USER_IF_NOT_FOUND" => "Y",
"DEBUG" => "Y",
"EMAIL_FIELD" => "email",
"ENABLE_REDIRECT" => "N",
"FIRST_NAME_FIELD" => "given_name",
"FULL_NAME_FIELD" => "name",
"LAST_NAME_FIELD" => "family_name",
"PROVIDER_NAME" => "AKAM",
"REDIRECT_COMPONENT_URI" => "http:// 10.1.0.03/ssotest.php",
"REDIRECT_URI" => "/?from=ssotest.php",
"SCOPES" => "openid profile email",
"SEARCH_BY_EMAIL" => "Y",
"TOKEN_URL" => "http://10.1.0.01:8080/realms/AKAM/protocol/openid-connect/token",
"USERINFO_URL" => "http:// 10.1.0.01:8080/realms/AKAM/protocol/openid-connect/userinfo",
"USERNAME_FIELD" => "preferred_username"
)
);?>
В итоге получим следующий результат при переходе на тестовую страницу сайта
По кнопке “Войти через Тестовая система аутентификации” переходим на страницу авторизации через SSO
Проходим авторизацию, и нас переадресует на сайт, но уже с логином и паролем
И самый приятный БОНУС для пользователя - авторизовавшись с помощью SSO, в любом из клиентов, пользователь может выполнить бесшовный (БЕЗ ПОВТОРНОГО ВВОДА ЛОГИНА И ПАРОЛЯ) переход между клиентами, в нашем примере, с сайта АКАМ на АКАМ:Портал
Выводы:
- Техническая реализуемость: Кейс подтвердил возможность бесшовной интеграции разнородных платформ через стандартные протоколы (OpenID Connect) на базе Keycloak, позволяя организовать вход «в один клик» без глубокого вмешательства в код продуктов и нарушения их целостности.
- Стратегическая ценность SSO: Внедрение единой системы аутентификации трансформирует набор разрозненных веб-ресурсов (сайт на Битрикс и B2B-портал на 1С:Элемент) в единую цифровую экосистему, что критически важно для улучшения пользовательского опыта (UX), повышения безопасности и снижения операционных затрат на техническую поддержку.
- Контекст выбора инструмента: Несмотря на успешность демонстрации с Keycloak, финальный выбор сервера авторизации должен диктоваться требованиями бизнеса и регуляторов: Keycloak оптимален для гибкости и экономии лицензионных средств, тогда как для госсектора, критической инфраструктуры и соблюдения 152-ФЗ предпочтительнее сертифицированные российские решения (например, Blitz Identity Provider) пример работы с которым мы планируем показать в следующей статье.
