Top.Mail.Ru
Центр помощи / Для администратора / 4. Интеграции / Синхронизация календарей / Приложение в Microsoft Entra: регистрация и права

Приложение в Microsoft Entra: регистрация и права

Чтобы UnSpot работал с календарями переговорных в Microsoft 365 через приложение, в вашем тенанте нужно зарегистрировать приложение в Microsoft Entra, выдать ему разрешения на календари и список переговорных, а затем передать в UnSpot три значения. Эта статья — про подготовку на стороне Microsoft; настройка самого подключения описана отдельно.

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

  • Доступ к Microsoft Entra с правом регистрировать приложения и подтверждать разрешения — например, роль Global Administrator. Без права подтверждения разрешений подготовку не закончить: приложение зарегистрируется, но доступа к календарям не получит.
  • Переговорные, заведённые в Microsoft 365 как ресурсные почтовые ящики комнат (Room mailbox). UnSpot берёт список переговорных именно из них.
  • Права в UnSpot для второго этапа: подключение создаёт Владелец.

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

Приложение получает список переговорных организации, а не список всех почтовых ящиков. Если комната заведена обычным пользователем, а не ресурсом, в списке она не появится, и подключить её календарь этим способом не получится. Как создать ресурс — статья «Создание ресурсного календаря в Office 365».

Выдавать приложению права на каждый календарь отдельно не нужно — этим вариант с приложением и отличается от подключения под учётной записью.

Шаг 2. Зарегистрируйте приложение

  1. Откройте entra.microsoft.com, в меню слева выберите App registrations и нажмите New registration.
  2. В поле Name введите произвольное имя — например, UnSpot Calendars.
  3. В Supported account types выберите вариант для одного тенанта: Accounts in this organizational directory only (Single tenant).
  4. Redirect URI заполнять не нужно: приложение работает без интерактивного входа пользователей.
  5. Нажмите Register.

Шаг 3. Создайте секрет приложения

  1. На странице приложения откройте Certificates & secrets (или ссылку Add a certificate or secret на вкладке Overview).
  2. Нажмите New client secret, при желании заполните Description и выберите срок действия — рекомендуем максимальный.
  3. Нажмите Add.
  4. Сразу скопируйте значение из колонки Value. После ухода со страницы Microsoft больше не покажет секрет целиком, и его придётся создавать заново.

Секрет — это пароль приложения. Храните его так же, как пароль сервисной учётной записи: не пересылайте в мессенджерах и не оставляйте в переписке.

Шаг 4. Скопируйте идентификаторы

Оба значения находятся на вкладке Overview приложения:

Значение в EntraКак называется в UnSpot
Application (client) IDClientId
Directory (tenant) IDTenantId

Шаг 5. Выдайте разрешения и подтвердите их

  1. На странице приложения откройте API permissions и нажмите Add a permission.
  2. Выберите Microsoft Graph, затем Application permissions — не Delegated permissions: приложение работает без пользователя.
  3. Отметьте два разрешения и нажмите Add permissions.
  4. Нажмите Grant admin consent и подтвердите. У обоих разрешений в колонке Status должна появиться зелёная отметка Granted.
РазрешениеЗачем нужно
Place.Read.Allчитать список переговорных организации — из него UnSpot собирает список комнат при подключении календаря
Calendars.ReadWriteчитать и изменять события в календарях: создавать встречи из броней UnSpot и вычитывать встречи, созданные в Outlook

После подтверждения статус обоих разрешений меняется на Granted:

Делегированное разрешение User.Read, которое Entra добавляет при регистрации приложения, трогать не нужно — оно не мешает.

Названия разрешений приведены по документации Microsoft: UnSpot запрашивает у Microsoft токен приложения со стандартной областью, а конкретный набор прав задаётся в самом приложении Entra. Со стороны UnSpot нужны две возможности — читать список переговорных организации и читать-изменять события в календарях их ящиков.

Без нажатия Grant admin consent разрешения остаются заявленными, но не действующими. UnSpot в этом случае не сохранит подключение и покажет «Недостаточно прав для сервисного аккаунта или приложения».

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

Разрешение Calendars.ReadWrite уровня приложения действует на календари всех почтовых ящиков тенанта, а не только переговорных. Если такая широта прав неприемлема, область действия приложения ограничивается на стороне Exchange Online политикой New-ApplicationAccessPolicy — она разрешает приложению обращаться только к выбранной группе ящиков. Порядок настройки описан в документации Microsoft; со стороны UnSpot никаких дополнительных действий не требуется.

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

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

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

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

Учтите две особенности формы: ClientId после создания подключения изменить нельзя (и один и тот же ClientId нельзя использовать в двух подключениях), а значение ClientSecret в поле не скрывается — вводите его, когда экран не видят посторонние.

Срок действия секрета

У секрета приложения есть срок годности, и в день его истечения синхронизация календарей остановится. Признак именно этой причины: карточка подключения помечается «Ошибка подключения», а у переговорных появляется «Календарь недоступен» — при том, что на стороне Exchange и в правах ничего не менялось.

Порядок действий: создайте в Entra новый секрет, затем на карточке подключения в UnSpot нажмите «Изменить» и вставьте новое значение. Пересоздавать подключение и переподключать календари переговорных не нужно. Поставьте себе напоминание за пару недель до даты истечения — Microsoft об этом не предупреждает.

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

Что UnSpot показываетЧто проверить в Entra
«Некорректные учётные данные.»значения ClientId, TenantId и ClientSecret; не истёк ли секрет; скопировано ли значение секрета целиком
«Недостаточно прав для сервисного аккаунта или приложения.»оба разрешения выданы как Application permissions, а не Delegated; нажат Grant admin consent; в колонке Status стоит Granted; не отсекает ли ящики переговорных политика ApplicationAccessPolicy
«Client ID уже используется»для этого приложения уже создано подключение в UnSpot — используйте его или зарегистрируйте отдельное приложение
Список переговорных пустзаведены ли комнаты как ресурсные почтовые ящики; выдано ли разрешение Place.Read.All
Нужной переговорной нет в спискееё календарь уже подключён к другой переговорной в UnSpot, либо ящик не является ресурсным

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

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

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

Loading

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

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

Loading