Предоставить доступ к общему почтовому ящику из приложения - PullRequest
0 голосов
/ 02 декабря 2018

В Office 365, по-видимому, невозможно назначить группу безопасности для общего почтового ящика .Это означает, что все пользователи должны быть добавлены в общий почтовый ящик вручную, что является проблемой.

Однако Microsoft Graph, по-видимому, предлагает способ подписки на изменения в данной группе .В результате я задумал создать простое приложение-функцию Azure, которое получает веб-хук от Microsoft Graph, когда кто-то добавляется / удаляется из определенной группы, и быстро добавляет / удаляет пользователя из списка общих почтовых ящиков.

Проблема, с которой я сталкиваюсь, заключается в том, что в Microsoft Graph, по-видимому, нет вызова API для предоставления пользователю доступа к общему почтовому ящику;и я не смог найти другой Microsoft API, который позволил бы это.

Единственный обнаруженный мной способ, который может сделать это даже программным путем, - это PowerShell , который требует, чтобы я создал пользователя для аутентификации, а не для предоставления доступа к приложению.В настоящее время PowerShell также имеет экспериментальную поддержку функций Azure, и я даже не уверен, поддерживает ли Azure Functions вызовы PowerShell в Exchange Online или как установить их при необходимости.

Кто-нибудь знает способ сделать это с помощьюREST вызывает или специально JavaScript, или еще лучше сделать это с Microsoft Flow без написания кода?

Если в ближайшее время я не получу никаких ответов по предпочтительному методу, я найду решение, как это сделать с помощью решения.функция Azure или Microsoft Flow и PowerShell.

1 Ответ

0 голосов
/ 02 декабря 2018

Вместо функции Azure вы можете использовать автоматизацию Azure для создания Runbook Azure, который будет выполнять ваш код PowerShell.

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

Чтобы вы могли создать пользователя Azure AD, используйте права Exchange RBAC , чтобы ограничить его, чтобы иметь только разрешения.к тому, что ему нужно сделать из соображений безопасности, затем сохраните права этого пользователя в функциональности учетных данных Runbook.

Runbook может быть затем выполнен из webhook .

Небольшое примечание: вы не можете добавить группу безопасности, но вы можете добавить группу безопасности с включенной поддержкой почты и дать ей права.Группу можно скрыть из глобального списка адресов в Exchange и просто использовать поддельный почтовый адрес в домене арендатора .onmicrosoft.com.

Единственное, что следует отметить, этот метод использования групп для разрешений даетУ пользователя правильные права доступа, но почтовый ящик не будет автоматически добавлен в Outlook.Причина этого в том, что Exchange добавляет флаг Automapping к объекту, которому вы предоставляете права доступа к почтовому ящику.Но установка этого флага для группы не повторяется, а также добавляет флаги для пользователей, поэтому пользователям нужно будет вручную зайти в Outlook и сказать ему открыть почтовый ящик.

Как вручную выполнить тестирование в Office365
Подтверждено, что работает 03/12/2018

  1. Добавление новой группы безопасности с включенной поддержкой почты в Office 365.
  2. Создание новойобщий почтовый ящик в Office 365.
  3. Добавление пользователя в группу безопасности с включенной поддержкой почты.
  4. Открытие OWA, зарегистрированного с пользователем, которого вы добавили в группу безопасности с включенной поддержкой почты
  5. Выберите « Открыть другой почтовый ящик » и выберите мой общий почтовый ящик.

Это самый простой способ проверить, перенесены ли разрешения.Но имейте в виду, что в Outlook для настольных компьютеров пользователю необходимо будет вручную добавить почтовый ящик на странице настроек, так как флаг auotmapping не переносится.

Также обратите внимание на время репликации Exchange Online.В худшем случае это может занять до 30 минут, чтобы все распространялось правильно, но обычно это работает в течение 5 минут.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...