31 января 2024

Блог

WSO2: достойная замена ADFS

В текущих реалиях решение ADFS от Microsoft утрачивает свою актуальность. Все больше компаний смотрят в сторону open source решений, в числе которых WSO2. В этом году мы перевели на WSO2 уже 47 продуктов, использующих ADFS для авторизации. Делимся нашим опытом в статье.

В больших компаниях, как правило, обширная внутренняя инфраструктура: это внутренние порталы, хранилища данных, различные сервисы и т. д. В рамках экосистемы продуктов (а у нас таких большинство) удобнее всего обеспечивать единый вход (Single Sign-On, SSO) в систему. Раньше за этот функционал отвечал ADFS. 

Почему стоит отказаться от ADFS?

Перейти на другой сервис мы решили по нескольким причинам:

  • Версия ADFS, которая у нас была, работает на устаревшем и уже не очень безопасном протоколе SAML. Поддержка нового протокола OpenID Connect возможна только на новой версии, а из этого как раз вытекает вторая причина.
  • Вторая причина - проприетарность технологии. ADFS является продуктом Microsoft и в нынешних условиях, когда большинство российских технологических компаний находится под санкциями, обновить его до новой версии невозможно.

Мы поняли, что систему пора менять, обновлять протоколы и укреплять безопасность данных. Варианты решений были следующие:

  • Попытаться обновить ADFS до последней версии
  • Curity
  • Auth0
  • Keycloak
  • WSO2

Почему выбрали WSO2?

WSO2 и Keycloak – это продукты, которые позволяют реализовать Single Sign-On и управлять доступами. С Keycloak мы знакомы не понаслышке, ведь часть наших сервисов переведена на этот сервис, но другая часть разрабатывалась для заказчика, в чьей инфраструктуре уже был WSO2 как стандарт, что склонило чашу весов в сторону этой технологии.

Какие еще плюсы у WSO2:

  • WSO2 – это open source решение, а значит, тут полностью исключается проблема проприетарности.
  • Переход помог бы решить часть имеющихся проблем. В частности - избавиться от дублирования учеток, так как у сотрудников есть одна учетная запись для внутренних ресурсов, а вторая для внешних.
  • WSO2 поддерживает современный механизм авторизации OpenID Connect, что положительно скажется на безопасности.
  • Широкие возможность кастомизации.
  • Это современная технология мирового уровня, которую развивает сообщество.

Бесшовный переход

Мы четко понимали, что не должно возникнуть такого момента, что мы переключим свои более 100 сервисов одномоментно, и все резко станет по-новому. ИТ-экосистема должна развиваться эволюционно, и переход должен быть плавным.

Требовалась последовательная работа:

На старте у нас было 100 сервисов, подключенных к текущему identity provider (у нас это ADFS).

  1. Мы не могли совершить резкий переход, так как это бы вызвало массу проблем. Мы отработали технологию, при которой какой-то период времени авторизация ADFS и WSO2 смогут существовать параллельно – настроили федерацию между WSO2 и ADFS, а потом настроили перенаправление из текущего identity provider в новый. 

    Федеративная аутентификация применяется, когда, например, сотрудникам двух разных компаний нужно иметь доступ к общим сервисам. Она позволит сделать одну организацию главной, хранить там все учетные данные, а остальных участников процессов обращаться к ней. В нашем случае при таком решении приложение, авторизовавшись в одной системе, автоматически авторизовывается и в другой.
  2. Протестировали переключение на тестовом окружении. После проверки качества перешли к переключению в продакшн.
  3. Последовательно в каждом приложении мы переключали авторизацию со старого identity provider на новый. И благодаря тому, что все приложения ходили через старого в новый, то это позволяло сохранять SSO.
  4. При переводе всех сервисов и приложений старый identity provider отключали.
  5. Чтобы сохранить опыт, к которому привыкли пользователи, мы кастомизировали форму входа на WSO2.
  6. По завершении перехода мы держали на контроле все параметры на уровне техподдержки, чтобы убедиться, что все отработано точно, как и задумано.  

Важно отработать технологию так, чтобы пользователи, которые работают в системе, не заметили перехода. Для этого использовали Sidecar-контейнер – паттерн для расширения и улучшения функциональности основного приложения без внесения в него изменений.

Всо2

Какие специалисты были задействованы

  • Архитектор для планирования и работы с командами при переключении приложений и сервисов.
  • DevOps-инженер для работы с инфраструктурой.
  • Техподдержка для мониторинга процесса входа и оперативного решения ошибок.
  • Команды, которые поддерживают сервисы, тимлиды и руководители проектов для внесения и реализации работ в текущие планы.
  • При этом отдельно выделенной для этого рабочей группы не было. Нужна политическая воля, квалификация и внесение нужных задач в регулярную работу команд :)

Почему стоит довериться нам в этой задаче

  • Мы обладаем необходимым опытом и командой специалистов
  • Опыт эксплуатации и реализации приложений и сервисов с использованием ADFS более 10 лет
  • Сертифицированные специалисты по Microsoft
  • Мы реализовали порядка 100 приложений и сервисов c использованием WSO2, Keycloak
  • Провели успешную миграцию более 50 приложений, обеспечивающих критически важные бизнес-процессы в компании

 Мы готовы совместно с вашими специалистами:

  • Провести аудит текущих приложений и их схем авторизации\ аутентификации
  • Выбрать оптимальный с учетом вашей инфраструктуры и задач продукт для реализации SSO
  • Осуществить развертывание и конфигурирование продукта SSO
  • Применив нашу методологию, разработать четкий план миграции и поставить задачи вашим продуктовым командам
  • Взять на себя управление проектом для сопровождения команд и получения запланированного конкретного результат на каждом этапе миграции