Веб-приложение Azure WAAD для доступа к веб-приложению

Я работаю над WAAD WebApi, который вызывает другой WebApi.

Я создал два приложения в своем WAAD. Я могу подключиться от одного WebApi к другому. Но когда я создаю третье приложение, я также могу получить токен для третьего приложения.

Есть ли способ запретить App1 получать токен для App3 и получать токен только для приложения App2.

Я знаю, что есть возможность создать делегированное разрешение для App2 и добавить это разрешение для App1, но, насколько я понимаю, это не помешает App1 получить токен для App3.

Я знаю, что мой вопрос немного загадочен, но не стесняйтесь спрашивать подробности.


person broersa    schedule 20.05.2014    source источник


Ответы (1)


Ваш вопрос не загадочен. Однако ответ таков: нет. Azure AD позволяет всем службам, зарегистрированным в каталоге, получать токены потока учетных данных клиента друг для друга (токены доступа между службами). В коде службы ресурсов вам необходимо «авторизовать» вызовы в соответствии с ObjectId или AppId вызывающей службы/приложения.

Предоставление возможности блокировать такой доступ во время выдачи токена — это возможность, которую мы рассматриваем для включения в AAD, однако я рекомендую разблокировать, выполнив эту простую проверку ACL в службе ресурсов.

Надеюсь, это поможет.

person Dushyant Gill    schedule 23.05.2014
comment
Спасибо за ответ. Возникают следующие вопросы. Могу ли я добавить группы в приложение или что-либо еще (через Graph API), чтобы я мог управлять проверкой подлинности в AAD? - person broersa; 23.05.2014
comment
Вы можете добавить приложение (субъект-службу) в группу через Graph API — если это то, что вы имели в виду, добавляя группы в приложение. - person Dushyant Gill; 23.05.2014
comment
Таким образом, вы можете добавлять клиентские приложения в группы для предоставления привилегий. Когда они получают доступ к ресурсному приложению, оно запрашивает Grap API, чтобы определить членство в группе приложения для авторизации доступа. - person Dushyant Gill; 23.05.2014
comment
Когда я читаю этот документ: msdn.microsoft.com/en-us/ library/azure/hh974486.aspx в нем указано, что в качестве членов группы поддерживаются только объекты Contact, Group и User. Могу ли я просто добавить идентификатор объекта приложения, а затем вызвать memberof с идентификатором объекта? - person broersa; 27.06.2014