Дата актуальности: 06:02:20 ()
Exchange Web Services (EWS) долгие годы являлся основным протоколом для программного доступа к почтовым ящикам‚ календарям и контактам в Exchange Online. Однако Microsoft объявил о планах постепенного вывода EWS из эксплуатации в пользу более современного и безопасного интерфейса – Microsoft Graph API. В этой статье мы разберём‚ что именно меняется‚ когда это произойдёт‚ какие последствия могут возникнуть и как подготовиться к переходу.
Что такое EWS и зачем он использовался?
- EWS (Exchange Web Services) – SOAP‑based API‚ позволяющий выполнять операции чтения‚ записи и управления элементами Exchange (сообщения‚ встречи‚ задачи‚ контакты).
- Широко применялся в корпоративных приложениях‚ скриптах PowerShell‚ мобильных клиентах и сторонних решениях для синхронизации.
- Преимущества: зрелость‚ обширная документация‚ поддержка почти всех функций Exchange.
- Недостатки: reliance on SOAP‚ сложная аутентификация (Basic‚ NTLM‚ OAuth)‚ ограниченная производительность по сравнению с REST‑подходами.
Почему Microsoft прекращает поддержку EWS?
- Стратегия «cloud‑first» – переход к единому‚ масштабируемому Graph API‚ который охватывает не только Exchange‚ но и SharePoint‚ Teams‚ OneDrive и другие сервисы Microsoft 365.
- Безопасность – Graph поддерживает современные протоколы аутентификации (OAuth 2.0‚ conditional access‚ MFA) и избавляется от устаревших методов‚ таких как Basic authentication.
- Производительность и масштабируемость – REST‑based JSON payloads легче парсятся‚ лучше кэшируются и обеспечивают меньшую задержку.
- Упрощение разработки – единая конечная точка‚ единая модель разрешений и богатый набор SDK для различных языков.
Таймлайн вывода EWS из эксплуатации
- Анонс: Май 2024 г. – Microsoft опубликовал дорожную карту‚ указав‚ что поддержка EWS будет постепенно прекращаться.
- Фаза 1 (ограничение новых клиентов): С 1 января 2025 г. новые приложения‚ регистрируемые в Azure AD‚ не смогут использовать EWS без явного исключения.
- Фаза 2 (отключение Basic authentication): С 1 июля 2025 г. Basic authentication для EWS полностью отключён в Exchange Online.
- Фаза 3 (полное выключение EWS endpoint): С 30 сентября 2026 г. конечная точка
https://outlook.office365.com/EWS/Exchange.asmxбудет недоступна для всех клиентов. - Текущая дата : Мы находимся в периоде‚ когда EWS всё ещё работает‚ но уже близко к окончательному отключению. Рекомендуется завершить миграцию до конца сентября 2026 г.
- Корпоративные приложения‚ построенные на .NET‚ Java‚ Python или других платформах‚ использующие EWS Managed API или raw SOAP-запросы.
- Скрипты администрирования (например‚ PowerShell-модуль
ExchangeWebServicesили скрипты‚ использующиеNew-WebServiceProxy). - Сторонние решения для резервного копирования‚ миграции‚ архивации и синхронизации с мобильными устройствами.
- Внутренние инструменты DevOps‚ которые выполняют автоматизированное создание/обновление календарных событий или обработку входящей почты.
- Потеря доступа к данным: После 30 сентября 2026 г. все запросы к EWS будут возвращать HTTP 410 Gone или 403 Forbidden.
- Нарушение бизнес‑процессов: Автоматические уведомления‚ синхронизация календарей‚ обработка входящих заявок могут остановиться.
- Штрафы и SLA: Некоторые контракты с провайдерами облачных услуг могут включать штрафы за простои‚ вызванные устаревшими интеграциями.
- Соберите список всех приложений‚ скриптов и сервисов‚ которые обращаются к EWS.
- Определите‚ какие именно операции выполняются (чтение писем‚ создание встреч‚ управление контактами и т.д.).
- Оцените объём трафика и частоту вызовов.
- Перейдите с Basic authentication на OAuth 2.0 с использованием
Azure ADприложений и delegated или application permissions. - Для приложений‚ работающих от имени пользователя‚ используйте delegated permissions (
Mail.ReadWrite‚Calendars.ReadWriteи т.д.). - Для фоновых сервисов и daemon‑приложений – application permissions с необходимыми правами (
Mail.ReadWrite.All‚Calendars.ReadWrite.All). - Настройте условный доступ и MFA там‚ где это возможно.
- Используйте официальные SDK:
Microsoft Graph .NET Client Library‚Microsoft Graph Java SDK‚Microsoft Graph Python SDKи др. - Замените SOAP‑запросы на соответствующие Graph‑эндпоинты:
- Получение сообщений:
GET /users/{id}/messages - Создание встречи:
POST /users/{id}/events - Управление контактами:
GET /users/{id}/contactsи т.д.
- Получение сообщений:
- Выполните нагрузочное тестирование‚ сравнив latency и throughput между EWS и Graph.
- Обработайте пагинацию и ограничения throttling (Graph использует HTTP 429 с заголовком
Retry-After). - Разбейте миграцию на этапы по приложениям или по типам операций.
- Запустите параллельный режим: новое приложение пишет в обе системы (EWS и Graph) на короткий период‚ проверяя согласованность данных.
- Подготовьте скрипты отката‚ которые позволят быстро вернуться к EWS в случае критической ошибки (доступен до 30 сентября 2026 г.).
- Обучите службу поддержки и конечных пользователей новым сообщениям об ошибках и процедурам восстановления.
- Настройте логирование всех вызовов к Graph (Azure Monitor‚ Application Insights).
- Создайте оповещения о росте частоты ошибок 4xx/5xx‚ о превышении лимитов throttling и о попытках обращения к устаревшему EWS endpoint.
- Регулярно проверяйте дату истечения поддержки в центре сообщений Microsoft 365.
- Могу ли я продолжать использовать EWS после 30 сентября 2026 г.‚ если получу специальное разрешение от Microsoft?
- Нет. После указанной даты конечная точка EWS будет полностью выключена на уровне инфраструктуры; исключения не предусмотрены.
- Нужно ли мне менять аутентификацию‚ если я уже использую OAuth с EWS?
- Да. Хотя EWS поддерживает OAuth‚ после выключения endpoint все OAuth‑токены станут бесполезными. Необходимо перейти на Graph и получить новые токены с соответствующими scopes.
- Есть ли разница в функциональности между EWS и Graph для календарей?
- Graph покрывает большинство операций календаря (CRUD над событиями‚ просмотр занятости‚ работу с календарными группами). Некоторые редко используемые свойства (например‚ определенные расширенные MAPI‑свойства) могут требовать использования Exchange Web Services через
Exchange.asmxв гибридных сценариях. Для таких случаев Microsoft рекомендует использоватьExchange Online PowerShellилиREST APIс расширенными свойствами. - Как быстро я могу ожидать ответа от Graph по сравнению с EWS?
- В среднем Graph обеспечивает аналогичную или чуть меньшую задержку благодаря JSON‑payload и HTTP/2. Однако точные показатели зависят от региона‚ нагрузки и сложности запроса.
- Нужно ли мне переоформлять лицензии?
- Нет. Доступ к Graph включён в те же лицензии Microsoft 365‚ что и доступ к Exchange Online и EWS. Изменения касаются только способа доступа.
Кто затронет изменение?
Последствия несвоевременной миграции
Как подготовиться к переходу?
Инвентаризация существующих интеграций
Выбор целевого API
Для большинства сценариев рекомендуется перейти на Microsoft Graph API. В отдельных случаях‚ где требуется низкоуровневый доступ к почтовым ящикам (например‚ экспорт всего содержимого ящика)‚ можно рассмотреть REST API Exchange Online (отдельный endpoint‚ но также основанный на REST/JSON).
Планирование аутентификации
Разработка и тестирование
План миграции и отката
Мониторинг и оповещения
Часто задаваемые вопросы (FAQ)
Прекращение поддержки EWS в Exchange Online – это логичный шаг в рамках стратегии Microsoft по унификации и модернизации доступа к своим облачным сервисам. Хотя переход требует усилий по инвентаризации кода‚ изменению методов аутентификации и тестированию новых вызовов‚ он открывает путь к более безопасному‚ производительному и легко поддерживаемому решению. Начиная уже сейчас с планирования и постепенной миграции‚ организации смогут избежать простоев и обеспечить бесперебойную работу своих бизнес‑приложений после 30 сентября 2026 г.
Автор: ваш надежный помощник в мире ИТ. Дата публикации: .