Azure AD - отключение клиентского приложения

Я хочу создать службу, которая может запретить \ отменить доступ к мобильному почтовому приложению пользователя.

Чтобы быть конкретным, я хочу временно отозвать доступ к приложению мобильного почтового клиента (например, Nine), используя электронную почту обмена office365, которая проходит проверку подлинности. как приложение Azure Active Directory.

Пока что разобрался, как делать похожие или частичные действия:

  • Я могу вручную отозвать приложения Azure AD, используя эту ссылку: https://account.activedirectory.windowsazure.com/applications/default.aspx

    Но я не нашел API для управления приложениями Azure.

  • Я прочитал «Справочник по API Graph Azure AD», но не нашел способа удалить, обновить данные пользователя или даже сбросить его пароль.

  • Я также просмотрел каталог API Office 365, в котором большинство API предназначены для обработки контактов пользователя, календаря, почты и т. Д., Но нет API для управления пользователями. https://msdn.microsoft.com/office/office365/api/api-catalog

Какой API мне следует использовать для обработки пользователей Outlook / AD или их авторизованных приложений?


person Tom    schedule 26.12.2016    source источник
comment
Были ли у вас проблемы с этим вопросом? Пожалуйста, дайте мне знать, если вас все еще беспокоит эта проблема.   -  person Fei Xue - MSFT    schedule 04.01.2017


Ответы (1)


Если вы хотите отключить приложение, которое интегрируется с Azure AD через OAuth 2.0, мы можем отключить его, как показано на рисунке ниже, через новый портал:

Переключите активный каталог Azure -> Все приложения -> Выберите приложение, которым хотите управлять -> Свойства -> Установите для параметра Разрешено для входа пользователей значение НЕТ.

Мы также можем использовать график Azure AD, чтобы изменить этот параметр. Вот образец запроса для справки. А для всего остального требуется разрешение Directory.AccessAsUser.All, нам нужно зарегистрировать приложение, назначить это разрешение приложению и войти в систему с учетной записью admin.

PATH: https://graph.windows.net/{tenantId}/servicePrincipals/{servicePrincipalId}?api-version=1.6
authorization: bearer {access_token}

{
     "accountEnabled":false
}

введите описание изображения здесь

person Fei Xue - MSFT    schedule 27.12.2016
comment
Спасибо. "авторизация" - это заголовок? часть ответа? или что-то другое? - person Tom; 28.12.2016
comment
Это заголовок квеста, который позволяет запросу пройти аутентификацию. См. структуру авторизации OAuth 2.0: использование токена-носителя - person Fei Xue - MSFT; 29.12.2016
comment
Разве это не отключает приложение для всех пользователей? - person Tom; 02.01.2017
comment
Я попробовал это сейчас, и это действительно сработало (принцип показал, что accountEnabled равно false). НО приложение Nine все еще может синхронизироваться с сервером обмена. Любые идеи? - person Tom; 02.01.2017
comment
Еще одно обновление: в конечном итоге синхронизация была отключена. Но это заняло некоторое время (около часа ...). Сколько времени это должно занять? - person Tom; 02.01.2017
comment
Насколько я понимаю, приложение по-прежнему сможет использовать access_token для управления ресурсом, защищенным Azure AD, после того, как мы отключим приложение. И время жизни access_token обычно составляет 1 час. После истечения срока действия access_token приложение не сможет получить / обновить access_token, поскольку приложение отключено. И если вы хотите, чтобы access_token также был отозван после отключения приложения, вы можете отправить отзыв от здесь. - person Fei Xue - MSFT; 03.01.2017