Убедитесь, что у вас есть доступ администратора к вашему аккаунту Microsoft Exchange, так как следующие действия требуют данных прав.

Поддерживаются версии MS Exchange 2010 и новее.

Системные требования к серверу для коннектора

Только в случае локальной установки MS Exchange.

  • Сервер или виртуальная машина

  • Центральный процессор (CPU) 4 ядра или лучше

  • Оперативная память (RAM) 4 Гб или лучше

  • Windows 10 или Windows Server версии 2012 R2 или выше

  • Пакет NETFramework 4.8 или более новый

Создание сервисной учетной записи для коннектора

Для использования коннектора необходимо создать сервисную учетную запись. У данной учетной записи должны быть права на чтение Active Directory и права на чтение почтовых ящиков пользователей. Рекомендации Microsoft по делегированию доступа к почтовым ящикам.

Есть два способа предоставить права на чтение почтовых ящиков. Самый простой и правильный из них реализуется при помощи настройки роли "ApplicationImpersonation" для сервисной учетной записи. Рекомендации Microsoft по безопасному использованию "ApplicationImpersonation" доступны по ссылке.

Второй вариант - не использовать роль «ApplicationImpersonation». Вместо этого учетной записи необходимо предоставить роли «Mailbox Search» и «Mailbox Search Application». А также делегировать права на чтение почтовых ящиков пользователей и права Reviewer на папки выбранных пользователей. При этом важно учесть, что данные права необходимо каждый раз обновлять на вновь созданных папках пользователей и каждый пользователь может их самостоятельно снять.

//Дать права на доступ на чтение к почтовому ящику по всем выбранным пользователям
Get-Mailbox -ResultSize unlimited -Filter {(RecipientTypeDetails -eq 'UserMailbox') -and (Alias -ne 'ts')} | Add-MailboxPermission -User  -AccessRights ReadPermission -InheritanceType All

//Установка прав на чтение для указанного пользователя по всем папкам
Get-Mailbox -ResultSize unlimited -Filter {(RecipientTypeDetails -eq 'UserMailbox') -and (Alias -eq 'yva')} | foreach-object {$Mailbox = "" + $_.Name; $mb = @{Expression={$Alias.Name};Label="Mailbox"}; $Folders = Get-MailboxFolderStatistics $Mailbox | % {$_.folderpath} | % {$_.replace(“/”,”\”)}; $Folders | foreach-object {$FolderKey = $Mailbox + ":" + $_; Add-MailboxFolderPermission -identity $FolderKey -User  -AccessRights Reviewer} }
CODE

В случае, если список обслуживаемых почтовых ящиков неизвестен, сервисная учетная запись должна иметь роль «Mailbox Search».

Конфигурация источника данных

Следующим шагом необходимо подключить источник данных. Для этого нужно перейти в «Администрирование – Управление источниками – API интеграции"» в рабочей области вашей Yva.ai. Ввести название для источника (например, Exchange) и нажать кнопку «Подключить».

Screenshot_1-3

Полученные в результате настройки данные (конечные точки подключений и токен доступа) потребуются для настройки подключения коннектора к платформе.  

Установка коннектора

Коннектор, необходимый для передачи данных на платформу, должен быть установлен в ОС Windows (см. статью «Системные требования»).

Установочные файл коннектора представляет собой msi-пакет. Актуальную версию можно получить у вашего менеджера Yva.ai.

Конфигурация коннектора

Коннектор передает в систему данные о пользователях Active Directory через LDAP и получает корреспонденцию по протоколу EWS из Exchange для обработки на платформе. Коннектор получает почту без вложений и обрезает цитирование и подписи, а также не сохраняет нигде в платформе исходную информацию из писем. Коннектор подключается к серверу, используя Exchange Web Services Managed API. Проверьте, что на вашем сервере эта возможность включена.

Настройка коннектора происходит при помощи конфигурационного файла. Конфигурационный файл находится в рабочем каталоге коннектора и называется ConnectorService.exe.config. Чтобы сконфигурировать коннектор, просто откройте данный файл и измените настройки. Все доступные для настройки опции можно узнать из файла README.md, который находится в рабочей директории коннектора.

Для корректной загрузки пользователей в платформу, вам необходимо настроить фильтр параметра AdfsUserSearchPattern в конфигурационном файле Exchange.
С особенностями работы фильтров вы можете ознакомиться в статье Особенности работы с LDAP фильтрами.

Общие настройки

  • Периодичность запуска сервиса (по умолчанию 10 минут)
    <add key="SyncRepeatPeriodInMin" value="10" />

  • Игнорировать проверку SSL-сертификата платформы
    <add key="IgnoreTrustForSSL" value="false" />

  • Подключение к AD (по умолчанию включено)
    <add key="ConnectAdfs" value="true" />

  • Подключение к Exchange (по умолчанию включено)
    <add key="ConnectExchange" value="true" />

  • Отправка результатов на платформу (по умолчанию включено)
    <add key="SendToYva" value="true" />

Настройки подключения к Active Directory

  • Логин пользователя AD
    <add key="AdfsUserLogin" value="" />

  • Пароль пользователя AD
    <add key = "AdfsUserPassword" value = "" />

  • Путь LDAP (формат LDAP://dc.domain.com)
    <add key = "AdfsLdapUrl" value = "" />

  • Количество объектов из AD, получаемое за раз
    <add key="AdfsItemsPerPage" value="" />

  • Шаблон поиска пользователей для загрузки из AD (синтаксис фильтров AD)
    <add key="AdfsUserSearchPattern" value="" />

Настройки подключения к Exchange

  • Путь к MS Exchange 
    <add key="ExchangeUrl" value="" />

  • Версия MS Exchange (если ваша версия MS Exchange Exchange2013)
    <add key = "ExchangeVersion" value = "" />

Поддерживаемые версии MS Exchange: Exchange2007_SP1, Exchange2010, Exchange2010_SP1, Exchange2013. Exchange2013 по умолчанию.

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

  • Логин пользователя Exchange для работы с EWS Managed API
    <add key = "ExchangeUserLogin" value = "" />

  • Пароль пользователя Exchange
    <add key = "ExchangeUserPassword" value = "" />

  • Зашифрованная строка, содержащая логин и пароль
    <add key="ExchangeEncryptedCredentials" value="" />

  • Домен пользователя Exchange (например, dc.domain.com)
    <add key = "ExchangeUserDomain" value = "" />

  • Количество сообщений, получаемых за один запрос к серверу. По умолчанию 500.
    <add key="ExchangeEmailsPerCall" value="500" />

  • Количество параллельных потоков (не может быть больше кол-ва ядер процессора)
    <add key = "ExchangeMaxDegreeOfParallelism" value = "" />

  • Выбор источника пользователей (File, All, AdGroup,Yva или AdAddressList)
    <add key = "ExchangeMailBoxGrabMode" value = "" />

  • Количество сообщений, которые по которым мы одновременно запрашиваем данные. По умолчанию 27.
    <add key="ExchangeLoadQntLimit" value="27" />

  • Глубина краулинга в днях. По умолчанию 120.
    <add key="ExchangeCrawlingDepthDays" value="120" />

Настройки подключения к Платформе 

  • Конечная точка URL пользователей (получена в результате конфигурации)
    <add key = "UsersEndpointUrl" value = "" />

  • Конечная точка URL писем (получена в результате конфигурации)
    <add key = "MailsEndpointUrl" value = "" />

  • Конечная точка URL папок (получена в результате конфигурации)
    <add key="MailFoldersEndpointUrl"" />

  • Конечная точка URL организации (получена в результате конфигурации)
    <add key="OrganizationEndpointUrl" " />

  • Конечная точка URL настроек (получена в результате конфигурации)
    <add key="SourceSettingsEndpointUrl" value="" />

  • Токен для авторизации (получен в результате конфигурации)
    <add key = "AuthToken" value = "" />

  • Максимальный размер запроса к API Yva.
    <add key="MaxRequestSizeInMb" value="100" />

Передача данных от Exchange к Платформе

  • Передача тела сообщений (по умолчанию включено)
    <add key="SendMessageBody" value="true" />
    Данная настройка позволяет выбирать режим передачи данных на Платформу: true - передаются метаданные и сообщения - это позволяет более точно строить графики и прогнозы; false - передаются только метаданные - это повышает общий уровень безопасности.

Белый и черный списки

Если в опции “ExchangeMailBoxGrabMode” используется вариант “File”, то возможно два варианта работы с почтовыми ящиками - “черный список” (blacklist.json) и “белый список” (whitelist.json).

При работе с белым списком указывается список email адресов, по которым коннектор будет передавать корреспонденцию или метаданные для дальнейшего анализа на платформе.

При работе с черным списком указывается список email адресов, которые будут исключены коннектором из процесса передачи и обработки.

Пути к файлам списков указываются в опциях “ExchangeWhiteList” и “ExchangeBlackList”.

Файлы заполняются следующим образом:

["email1@company.com", "email2@company.com", "emailN@company.com"]

Запуск коннектора

После внесения изменений в настройки сохраните файл конфигурации и запустите службу коннектора «Yva Exchange Server Connector» из оснастки services.msc.

Проверить функциональность коннектора можно, открыв журнал операций, расположенный в папке журналов рабочего каталога коннектора (logs). Журналы создаются ежедневно, файлы именуются в соответствии с датой. Обратите внимание, что временное отсутствие записей в журнале не всегда означает, что коннектор не работает. Это может указывать на то, что коннектор обрабатывает большой пользовательский каталог или ожидает ответа от серверов.

Журнал не должен содержать ошибок, и, если коннектор настроен правильно, он будет содержать список объектов, перенесенных из AD и Exchange на платформу. 

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

Прежде чем пользователи появятся в платформе, потребуется около 10-15 минут, так как коннектор передает данные по частям, сохраняя их в буфере.