Top.Mail.Ru
Центр помощи / Для администратора / 4. Интеграции / Синхронизация календарей / Exchange: сервисная учётная запись с правами имперсонализации

Exchange: сервисная учётная запись с правами имперсонализации

Чтобы одно подключение UnSpot обслуживало календари всех переговорных на вашем сервере Exchange, нужна сервисная учётная запись с правом имперсонализации: она обращается к календарю каждой комнаты от имени этой комнаты, и права не приходится выдавать на каждый календарь отдельно. Эта статья — про подготовку на стороне Exchange; настройка самого подключения описана отдельно.

Что понадобится

  • Права администратора Exchange: создать почтовый ящик и выполнить команду в Exchange Management Shell.
  • Версия сервера из поддерживаемых: Exchange 2010, 2010 SP1, 2010 SP2, 2013, 2013 SP1, 2016. Exchange 2019 в списке версий UnSpot отсутствует.
  • Возможность настроить сеть в обе стороны — от UnSpot к серверу и от сервера к UnSpot (подробности в шаге 4).
  • Права в UnSpot для второго этапа: подключение создаёт Владелец.

Шаг 1. Проверьте ресурсные календари переговорных

У каждой переговорной должен быть ресурсный почтовый ящик с адресом электронной почты — именно этот адрес вводится при подключении календаря к переговорной в UnSpot. Списка комнат в этом варианте нет: Exchange его не отдаёт, поэтому адреса ресурсов нужно знать заранее. Выпишите их сразу — это сэкономит время на втором этапе.

Шаг 2. Создайте сервисную учётную запись

Учётная запись создаётся стандартными средствами Exchange. В панели ECP откройте «Получатели» → «Почтовые ящики», нажмите «+ Почтовый ящик пользователя» и создайте пользователя — например, app_impersonation.

Что учесть при создании:

  • Пароль без срока действия либо процедура его плановой замены. В день смены пароля синхронизация остановится, пока новое значение не будет вписано в подключение.
  • Учётная запись не должна требовать смены пароля при первом входе — UnSpot интерактивно войти не сможет.
  • Многофакторная аутентификация для неё должна быть отключена: обращения идут по EWS, подтвердить второй фактор некому.
  • Отдельная учётная запись именно под интеграцию — так понятнее, чей доступ отзывать, и чьи действия видны в журналах Exchange.

Шаг 3. Выдайте роль имперсонализации

На сервере Exchange запустите Exchange Management Shell и выполните команду, подставив имя созданной учётной записи:

New-ManagementRoleAssignment `
  -Name "UnSpotAppImpersonation" `
  -Role "ApplicationImpersonation" `
  -User "app_impersonation"
PowerShell

Роль ApplicationImpersonation разрешает учётной записи выполнять запросы EWS от имени других ящиков. Именно она избавляет от выдачи прав на каждый календарь переговорной по отдельности.

Применение роли может занять несколько минут. Если UnSpot при сохранении подключения сообщает о недостатке прав сразу после выполнения команды — подождите и повторите попытку.

Ограничение области действия роли

Выданная без ограничений роль позволяет учётной записи обращаться к любому ящику сервера. Если это неприемлемо, ограничьте её областью, в которую входят только ресурсные ящики переговорных:

# удалить прежнее назначение (если роль уже выдавалась без ограничения)
Remove-ManagementRoleAssignment `
  -Identity "UnSpotAppImpersonation" `
  -Confirm:$false

# область, ограниченная ресурсными ящиками переговорных
New-ManagementScope `
  -Name "UnSpotResourceMailboxes" `
  -RecipientRestrictionFilter {RecipientTypeDetails -eq "RoomMailbox"}

# назначение роли с областью
New-ManagementRoleAssignment `
  -Name "UnSpotAppImpersonation" `
  -Role ApplicationImpersonation `
  -User "app_impersonation" `
  -CustomRecipientWriteScope "UnSpotResourceMailboxes"
PowerShell

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

Шаг 4. Проверьте доступность EWS и сеть

Синхронизации нужны обе стороны соединения, и вторую часто забывают.

НаправлениеЧто нужноЧто будет, если не настроить
UnSpot → Exchangeдоступ к EWS на сервере, который вы укажете в форме подключения. Адрес вводится без схемыподключение вообще не сохранится: UnSpot сообщит, что не удалось подключиться к серверу
Exchange → UnSpotсервер должен иметь возможность сам обращаться к UnSpot: именно он присылает уведомления об изменениях в календаряхподключение сохранится и брони будут уходить в календарь, но события из календаря не попадут в UnSpot. Ошибки при этом не будет — просто тишина в одну сторону

Дополнительно проверьте:

  • Метод аутентификации. По умолчанию UnSpot использует доменную аутентификацию (NTLM). Если на EWS оставлена только базовая, в форме подключения включается тумблер «Использовать базовую авторизацию (Basic Auth)».
  • Сертификат. Если сертификат сервера самоподписанный, в форме включается «Не проверять SSL-сертификат». Соединение при этом остаётся по HTTPS, но подлинность сервера не проверяется — по возможности лучше выпустить сертификат, которому доверяет UnSpot.
  • Скорость ответа. UnSpot ждёт установления соединения до 15 секунд и ответа до 60 секунд. Перегруженный сервер или медленный канал дают ошибки подключения, которые выглядят как проблема с правами.

Что должно быть на руках перед настройкой в UnSpot

ЧтоОткуда взять
Адрес сервера Exchange без схемыу администратора сервера
Логин сервисной учётной записишаг 2. Может совпадать с её адресом электронной почты
Пароль сервисной учётной записишаг 2
Адрес электронной почты сервисной учётной записишаг 2
Версия Exchangeу администратора сервера
Адреса ресурсных календарей переговорныхшаг 1 — понадобятся при подключении календаря каждой комнаты

Дальше откройте «Настройка» → «Интеграции» → «Синхронизации» и в разделе «Синхронизация календарей» нажмите «Подключить» на карточке Microsoft Exchange:

Все эти значения вводятся в открывшемся окне «Подключение Microsoft Exchange»:

Частые ошибки

Что UnSpot показываетЧто проверить на сервере
«Некорректные учётные данные.»логин и пароль сервисной учётной записи; не требует ли она смены пароля; принимает ли сервер выбранный метод аутентификации — попробуйте переключить тумблер Basic Auth
«Недостаточно прав для сервисного аккаунта или приложения.»выдана ли роль ApplicationImpersonation; прошло ли время применения роли; не отсекает ли ящик переговорной область роли
« Введите корректный host. Поле должно содержать только домен»адрес введён со схемой или с путём — оставьте только доменное имя или IP-адрес; проверка срабатывает в форме, до обращения к серверу
«Ошибка подключения.»общий ответ на всё, что не относится к учётным данным и правам: сервер недоступен, закрыт EWS, не принят сертификат, сервер ответил ошибкой. Проверьте доступность сервера с той стороны, где работает UnSpot, и при самоподписанном сертификате включите «Не проверять SSL-сертификат»
«Подключение с таким сервером и именем пользователя уже существует»такое подключение уже создано — используйте его; пары «сервер + логин» и «сервер + email» должны быть уникальны
Брони уходят в календарь, а события из календаря не приходятдоступ от сервера Exchange к UnSpot (шаг 4). До его настройки помогает только ручная сверка

Связанные статьи

Оставьте заявку, и мы свяжемся с вами в течение 30 минут.

Loading

Как улучшить работу офиса?

Оставьте контакт - покажем на демо как уйти от таблиц, двойных бронирований и путаницы с рабочими местами.

Loading