В результате выполнения шагов данного руководства ожидается:
Интеграция с календарем Exchange позволяет отображать расписание встреч из календаря Exchange в личном кабинете DION. Отображается следующая информация о встрече:
Для работы системы необходима интеграция с корпоративным календарем. После настройки интеграции обеспечивается полная связь между календарем пользователя в Exchange и календарем DION.
Для Exchange поддерживается NTLM-аутентификация.
Поддерживаемые версии почтового сервера:
| Решение | Версия |
| Microsoft Exchange | Exchange2010_SP2 и выше |

DION EWS Connector необходимо установить на площадке, где имеется доступ к Exchange-серверу. Это связующий компонент между сервером календаря Exchange и облаком DION. Облако DION никогда не инициирует обращения к EWS Connector; все сетевые подключения в облако являются исходящими от EWS Connector.
| Компонент | vCPU (шт.) | ОЗУ (ГБ) | Диск SSD (ГБ) | ОС |
|---|---|---|---|---|
| DION EWS Connector | 4 | 8 | 40 | Linux |
Один экземпляр DION EWS Connector поддерживает 2500-3000 календарей пользователей:
До 3000 пользователей — необходимо установить один DION EWS Connector;
3000-6000 пользователей — необходимо не менее двух DION EWS Connector.
Для корректной работы EWS Connector необходимо обеспечить сетевые доступы в соответствии с документом Сетевые доступы DION.
Документ содержит актуальный перечень IP-адресов, FQDN, портов и протоколов, необходимых для функционирования сервиса.
Перед вводом сервиса в эксплуатацию убедитесь, что все требуемые сетевые доступы разрешены.
Создайте учётную запись для коннектора и выдайте ей права на чтение календарей других пользователей с помощью команды:
Add-MailboxFolderPermission -Identity HenriettaM@microsoft.com:\Calendar -User dioncalendar@microsoft.com -AccessRights Reviewer
Для большого количества пользователей лучше предусмотреть скрипт при создании пользователей, а при первой установке прав — скрипт для проставления прав всем пользователям.
|
Также поддерживается учётная запись пользователя с правами имперсонализации.
EWS Connector поддерживает доступ к календарям пользователей через механизм имперсонализации (Application Impersonation). В этом режиме сервисная учётная запись получает доступ к календарям пользователей без назначения прав на каждый ящик отдельно.
Имперсонализацию рекомендуется использовать при большом количестве пользователей или необходимости централизованного управления доступом.
В файле .env установите параметр:
EXCHANGE_USE_IMPERSONATION_ACCESS=true
Создайте группу безопасности в Active Directory
Создайте группу (например, GroupEWS) и добавьте в неё пользователей, чьи календари должны быть доступны через EWS Connector.
Создайте Management Scope
Scope ограничивает область действия имперсонализации членами указанной группы:
New-ManagementScope -Name "ScopeEWS" -RecipientRestrictionFilter {MemberOfGroup -eq "CN=GroupEWS,CN=Users,DC=demo,DC=local"}
Назначьте роль ApplicationImpersonation для сервисной учётной записи
New-ManagementRoleAssignment -Name "EWSRole" -Role ApplicationImpersonation -User "DEMO\ews_con_user" -CustomRecipientWriteScope "ScopeEWS"
Сервисная учётная запись получит право имперсонализации только в пределах заданного Scope.
В завершении, укажите учётные данные в конфигурации EWS Connector:
В файле .env необходимо задать. EXCHANGE_USERNAME — сервисная учётная запись, EXCHANGE_PASSWORD — пароль, EXCHANGE_DOMAIN — домен организации
После выполнения указанных шагов ТУЗ, получает доступ к календарям пользователей из группы GroupEWS.
Последнюю версию DION EWS Connector можно скачать здесь.
1. Переместите скачанный архив на сервер, где будет развернут DION EWS Connector.
Рекомендуется использовать каталог /opt/ews-connector
2. Распакуйте архив:
unzip -d /opt/ews-connector/ ews-connector.zip
Получите от команды DION набор сертификатов. Можно обратиться в службу поддержки пользователей (support@diongo.ru) или к вашей аккаунт-команде.
Сертификаты перенесите на сервер, где будет развернут DION EWS Connector, в каталог /opt/ews-connector/certificates/. Можно распаковать архив заранее, либо воспользоваться командой:
unzip -d /opt/ews-connector/certificates/ certificates.zip
Установите docker и docker compose на сервер, где будет развернут DION EWS Connector.
Рекомендуем воспользоваться официальной инструкцией на сайте Docker.
1. Перейдите в каталог /opt/ews-connector/ с помощью команды:
cd /opt/ews-connector/
2. Запустите установочный скрипт. Скрипт автоматически распакует образ контейнера DION EWS Connector и подготовит файл docker-compose.yml:
sudo ./install.sh
3. Откройте на редактирование файл /opt/ews-connector/.env:
nano /opt/ews-connector/.env
4. Внесите в файл значения переменных согласно таблице.
Используйте формат заполнения файла без пробелов: переменная=значение |
| Переменная | Значение | Тип | Пример | |
|---|---|---|---|---|
| 1 | EXCHANGE_URL |
ASMX-адрес вашего Exchange-сервера. | string | https://mail.local.myorg.ru/EWS/Exchange.asmx |
| 2 | EXCHANGE_DOMAIN |
Почтовый домен организации. | string | myorg.ru |
| 3 | EXCHANGE_PASSWORD |
Пароль пользователя с правами на чтение календарей всех пользователей организации, созданного на этапе подготовки. | string | qQ!-We@-34x |
| 4 | EXCHANGE_USERNAME |
Имя пользователя с правами на чтение календарей всех пользователей организации, созданного на этапе подготовки. | string | superUser_impl |
| 5 | EXCHANGE_USE_IMPERSONATION_ACCESS |
Включение режима олицетворения. | boolean | true |
| 6 | EXCHANGE_SYNC_DOMAIN |
Почтовый домен вашей организации. | string | myorg.ru |
| 7 | EXCHANGE_SYNC_ASSOCIATED_DOMAINS |
Список всех дополнительных почтовых доменов через запятую, должен включать в себя домен указанный в переменной EXCHANGE_SYNC_DOMAIN. |
string | myorg.ru, myorg2.ru |
| 8 | EXCHANGE_SYNC_CONNECTOR_ID |
Идентификатор EWS-коннектора (прописывается в соответствии с примером, достаточно заменить mycompany на название компании). |
string | ews-connector-mycompany-1 |
| 9 | GRPC_DIR |
Папка на хосте в которой хранятся GRPC-сертификаты. | string | /opt/ews-connector/certificates/ |
| 10 | GRPC_CIS_CERTIFICATE_CHAIN |
Имя файла цепочки сертификатов. | string | server_client.mycompany.prod.clients-vc.0001.dion.vc.crt |
| 11 | GRPC_CIS_PRIVATE_KEY |
Имя файла приватного ключа. | string | server_client.mycompany.prod.clients-vc.0001.dion.vc.key |
Следующие параметры должны быть идентичными на всех установленных EWS-коннекторах в организации:
EXCHANGE_DOMAIN,EXCHANGE_SYNC_DOMAIN,EXCHANGE_SYNC_ASSOCIATED_DOMAINS.5. Запустите контейнер:
docker compose up -d
Контейнер должен быть запущен без ошибок. Чтобы убедиться в этом, выполните команду:
docker ps
После завершения установки сообщите в службу поддержки Dion (support@diongo.ru) три учётные записи DION, для которых будет активирована синхронизация календарей с целью проверки правильности настроек. После успешного тестирования политика синхронизации будет применена ко всей организации.
| Планировать включение функционала календаря лучше на ночные часы или выходные дни для планомерной синхронизации календарей пользователей. Первая синхронизация может занимать до 1 часа на 500 пользователей, в зависимости от количества событий в календаре. |
Статус контейнера можно проверить с помощью команды:
docker ps
Удостовериться в работоспособности контейнера можно с помощью команды:
docker logs -f <container_id>
где <container_id> — это имя или id контейнера DION EWS Connector, которые можно получить из вывода команды docker ps.
Во время обновления предполагается простой в работе модуля «Календарь». Процедуру обновления необходимо выполнить на каждом запущенном инстансе EWS Connector. После завершения работ важно убедиться, что не запущены дублирующие копии сервиса.
Посмотрите, какие контейнеры EWS Connector запущены на сервере:
docker ps | grep ews-connector
Для каждого ews-connector необходимо определить каталог, из которого он был запущен:
docker inspect <container_id> | grep com.docker.compose.project.working_dir
Для каждого найденного каталога выполните:
cd <каталог_проекта>
docker compose down
После остановки сервисов текущий рабочий каталог необходимо переименовать:
mv /opt/ews-connector /opt/ews-connector.orig
Необходимо убедиться, что все копии сервиса остановлены.
Распакуйте новый архив в исходный рабочий путь:
unzip ews-connector.zip -d /opt/ews-connector
Запустите установочный скрипт. Скрипт автоматически распакует образ контейнера DION EWS Connector и подготовит файл docker-compose.yml:
sudo ./install.sh
Вручную перенесите значения переменных из файла /opt/ews-connector.orig/.env в новый /opt/ews-connector/.env
В результате должен быть сформирован корректно заполненный новый .env
nano /opt/ews-connector/.env
Если ранее файл docker-compose.yml изменялся (порты, volumes, сетевые настройки и т.п.) необходимо вручную перенести пользовательские изменения.
из /opt/ews-connector.orig/docker-compose.yml в /opt/ews-connector/docker-compose.yml
Переносятся осмысленные пользовательские правки (volumes, сети и т.п.).
После завершения переноса конфигурации выполните:
cd /opt/ews-connector
docker compose up -d
Проверьте состояние контейнеров:
docker ps
Проверьте логи:
docker logs -f ews-connector
Контейнер должен находиться в состоянии Up, без критических ошибок.