Проверка подлинности и EWS в Exchange

Сведения о том, как правильно выбрать стандарт проверки подлинности приложения веб-служб Exchange, предназначенного для Exchange.

Проверка подлинности — это ключевая составляющая приложения веб-служб Exchange. Exchange Online, Exchange Online в составе Office 365, а также локальные версии Exchange, начиная с Exchange Server 2013, поддерживают стандартные протоколы проверки подлинности в Интернете для защиты обмена данными между вашим приложением и сервером Exchange Server.

Если вы нацеливаетесь на Exchange Online, выбранный метод проверки подлинности должен использовать ПРОТОКОЛ HTTPS для шифрования запросов и ответов, отправляемых приложением. Хотя вы можете использовать HTTP с локальными серверами Exchange, рекомендуется использовать HTTPS для любого запроса, отправляемого приложением в конечную точку EWS, чтобы обеспечить безопасность обмена данными между приложением и сервером Exchange Server.

В Exchange можно выбрать следующие варианты проверки подлинности:

  • OAuth 2.0 (только для Exchange Online);

  • NTLM (только для локальных версий Exchange);

  • обычная проверка (больше не рекомендуется).

Выбор метода проверки подлинности зависит от требований вашей организации к обеспечению защиты, от того, используете ли вы Exchange Online или локальные версии Exchange, а также от того, есть ли у вас доступ к стороннему поставщику, который может выдавать маркеры OAuth. Эта статья поможет вам выбрать подходящий стандарт проверки подлинности для вашего приложения.

Проверка подлинности OAuth

Рекомендуем использовать стандарт OAuth для подключения к службам Exchange Online во всех новых приложениях. Более высокий уровень защиты по сравнению с тем, который обеспечивает обычная проверка подлинности, оправдывает дополнительные усилия по реализации стандарта OAuth в вашем приложении. Но у этого стандарта есть и некоторые недостатки, которые следует учитывать.

Таблица 1. Преимущества и недостатки использования стандарта OAuth

Преимущества Недостатки
OAuth — это протокол проверки подлинности, соответствующий отраслевым стандартам.

Проверку подлинности выполняет сторонний поставщик. Ваше приложение не должно собирать и хранить учетные данные Exchange.

Это облегчает вам задачу, так как ваше приложение получает только скрытый маркер от поставщика проверки подлинности. Это значит, что в случае бреши в системе безопасности вашего приложения откроется доступ только к данным маркера, а не учетным данным Exchange пользователя.
OAuth использует стороннего поставщика проверки подлинности. Это может привести к дополнительным затратам для вашей организации или клиентов.

Стандарт OAuth сложнее реализовать, чем обычную проверку подлинности.

Для его реализации необходимо интегрировать приложение с поставщиком проверки подлинности и сервером Exchange Server.

Чтобы свести к минимуму недостатки, можно использовать библиотеку проверки подлинности Microsoft Microsoft Entra (ADAL) для проверки подлинности пользователей для доменные службы Active Directory (AD DS) в облаке или локальной среде, а затем получить маркеры доступа для защиты вызовов на сервер Exchange Server. Exchange Online требуются маркеры, выданные службой Microsoft Entra, которая поддерживается ADAL. Однако можно использовать любую стороннюю библиотеку.

Дополнительные ресурсы, касающиеся использования стандарта проверки подлинности OAuth в приложении EWS:

Проверка подлинности NTLM

Проверка подлинности NTLM доступна только для локальных серверов Exchange. В случае приложений, запущенных в сети корпоративного брандмауэра, интеграция проверки подлинности NTLM и .NET Framework обеспечивает использование встроенных средств для проверки подлинности вашего приложения.

Табл. 2. Преимущества и недостатки использования протокола NTLM

Преимущества Недостатки
Проверка подлинности для сервера Exchange Server выполняется сразу: дополнительные манипуляции не нужны. Доступ к службам Exchange Server можно настроить с помощью командлета командной консоли Exchange.

Используется объект CredentialCache .NET Framework для автоматического получения учетных данных пользователя.

Доступны примеры кода, обеспечивающие использование учетных данных вошедшего в систему пользователя для проверки подлинности на локальном сервере Exchange Server.
Чтобы можно было использовать проверку подлинности на основе NTLM, пользователям нужно войти в домен.

Могут возникнуть трудности с получением доступа к учетным записям электронной почты, которые не связаны с учетной записью домена пользователя.

Для использования протокола NTLM у приложений служб должна быть учетная запись домена.

Обычная проверка подлинности

Обычная проверка подлинности обеспечивает базовый уровень безопасности для клиентского приложения. Мы рекомендуем всем новым приложениям использовать для проверки подлинности протокол NTLM или OAuth. Однако в некоторых случаях обычная проверка подлинности может быть правильным выбором для приложения.

Табл. 3. Преимущества и недостатки использования обычной проверки подлинности

Преимущества Недостатки
Проверка подлинности для сервера Exchange Server выполняется сразу: дополнительные манипуляции не нужны. Доступ к службам Exchange Server можно настроить с помощью командлета командной консоли Exchange.

Приложения для Windows могут использовать учетные данные по умолчанию вошедшего в систему пользователя.

С помощью многих доступных примеров кода можно понять, как обеспечить вызовы EWS с использованием обычной проверки подлинности.
Требуется, чтобы ваше приложение собирало и хранило учетные данные пользователей.

Необходимо отключить проверку подлинности на основе NTLM для всех пользователей, если вы хотите использовать обычную проверку подлинности для всех пользователей.

Если возникнет брешь системы безопасности приложения, злоумышленник может получить доступ к адресу и паролю электронной почты пользователя.

Необходимо убедиться в том, что обычная проверка подлинности соответствует требованиям вашей организации и клиентов к обеспечению защиты. Такая проверка подойдет, если вы хотите избежать выполнения многочисленных задач по настройке (например, в простых тестовых или демонстрационных приложениях).

Примечание.

Для подключения EWS к Exchange Online больше не поддерживается обычная проверка подлинности. Используйте проверку подлинности OAuth во всех новых или существующих приложениях EWS для подключения к Exchange Online. Проверка подлинности OAuth для EWS доступна в Exchange Online только в составе Microsoft 365. Сначала приложения EWS, использующие OAuth, должны быть зарегистрированы в Microsoft Entra.

См. также