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).
- Мы не могли совершить резкий переход, так как это бы вызвало массу проблем. Мы отработали технологию, при которой какой-то период времени авторизация ADFS и WSO2 смогут существовать параллельно – настроили федерацию между WSO2 и ADFS, а потом настроили перенаправление из текущего identity provider в новый.
Федеративная аутентификация применяется, когда, например, сотрудникам двух разных компаний нужно иметь доступ к общим сервисам. Она позволит сделать одну организацию главной, хранить там все учетные данные, а остальных участников процессов обращаться к ней. В нашем случае при таком решении приложение, авторизовавшись в одной системе, автоматически авторизовывается и в другой. - Протестировали переключение на тестовом окружении. После проверки качества перешли к переключению в продакшн.
- Последовательно в каждом приложении мы переключали авторизацию со старого identity provider на новый. И благодаря тому, что все приложения ходили через старого в новый, то это позволяло сохранять SSO.
- При переводе всех сервисов и приложений старый identity provider отключали.
- Чтобы сохранить опыт, к которому привыкли пользователи, мы кастомизировали форму входа на WSO2.
- По завершении перехода мы держали на контроле все параметры на уровне техподдержки, чтобы убедиться, что все отработано точно, как и задумано.
Важно отработать технологию так, чтобы пользователи, которые работают в системе, не заметили перехода. Для этого использовали Sidecar-контейнер – паттерн для расширения и улучшения функциональности основного приложения без внесения в него изменений.
Какие специалисты были задействованы
- Архитектор для планирования и работы с командами при переключении приложений и сервисов.
- DevOps-инженер для работы с инфраструктурой.
- Техподдержка для мониторинга процесса входа и оперативного решения ошибок.
- Команды, которые поддерживают сервисы, тимлиды и руководители проектов для внесения и реализации работ в текущие планы.
- При этом отдельно выделенной для этого рабочей группы не было. Нужна политическая воля, квалификация и внесение нужных задач в регулярную работу команд :)
Почему стоит довериться нам в этой задаче
- Мы обладаем необходимым опытом и командой специалистов
- Опыт эксплуатации и реализации приложений и сервисов с использованием ADFS более 10 лет
- Сертифицированные специалисты по Microsoft
- Мы реализовали порядка 100 приложений и сервисов c использованием WSO2, Keycloak
- Провели успешную миграцию более 50 приложений, обеспечивающих критически важные бизнес-процессы в компании
Мы готовы совместно с вашими специалистами:
- Провести аудит текущих приложений и их схем авторизации\ аутентификации
- Выбрать оптимальный с учетом вашей инфраструктуры и задач продукт для реализации SSO
- Осуществить развертывание и конфигурирование продукта SSO
- Применив нашу методологию, разработать четкий план миграции и поставить задачи вашим продуктовым командам
- Взять на себя управление проектом для сопровождения команд и получения запланированного конкретного результат на каждом этапе миграции