Согласие разработчика Azure с пользователем на доступ приложения к данным компании - PullRequest
0 голосов
/ 04 декабря 2018

Я работаю с организацией, которая отключила согласие пользователей для приложений Azure. «Пользователи могут давать согласие на доступ приложений к данным компании от их имени» установлен на Нет на портале Azure.

Я хотел бы, чтобы разработчики могли дать согласиечтобы они владели приложениями в Azure, не устанавливая вышеуказанную настройку в yes.(приложениям необходимо делегировать разрешения « для входа и чтения профиля пользователя » в Azure AD).

1: верно ли, что единственным другим способом является назначение разработчиков одному изРоли Azure AD, у которых есть одно из этих разрешений: Разработчик приложений, Администратор приложений или Администратор облачных приложений?

2: Я также хотел бы автоматизировать этот процесс во время начального этапа выпуска AzureDevOps.В настоящее время конвейер выпуска создает все необходимые ресурсы Azure с помощью шаблонов ARM.

Но как мне автоматизировать Регистрация приложения , не заходя на портал?И как я могу убедиться, что конвейер выпуска имеет правильное разрешение Azure AD на дать согласие ?Можно ли заставить конвейер работать как «пользователь службы Azure AD, которому я назначаю вышеуказанную роль?»

Обновление 1

Похоже, что возможно сделать Azure ADРегистрация с powershell. http://blog.octavie.nl/index.php/2017/09/13/creating-azure-ad-app-registration-with-powershell-part-1

Поскольку AzureAD использует MFA, при запуске сценарий отобразит интерактивное диалоговое окно учетных данных. Не уверен, что мы сможем это исключить.

Обновление 2

И дать согласие приложения с powershell. https://www.mavention.nl/blogs-cat/create-azure-ad-app-registration-with-powershell-part-2/?cn-reloaded=1

Обновление 3

Итак, чтобы автоматизировать весь процесс, я подумал, что еслимы могли бы использовать подключение службы DevOps Azure для выполнения этих сценариев powershell во время конвейера выпуска?

Не уверены, какое разрешение требуется для подключения службы DevOps Azure?

Itтакже должен подавлять диалог учетных данных MFA.

1 Ответ

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

Правильно ли, что единственным другим способом является назначение разработчиков одной из ролей Azure AD, которая имеет это разрешение: Разработчик приложений, Администратор приложений или Администратор облачных приложений?

Это зависит от разрешений, которые запрашивает приложение, и от того, с кем бы вы хотели, чтобы разработчики дали согласие (для себя или всей организации):

  • Члены Разработчик приложений Роль каталога может быть разрешена только для делегированных разрешений (не разрешений для приложений) и только от имени их самих (не от имени всего арендатора).Только другие члены этой роли смогут использовать приложение (каждый из них будет давать согласие от своего имени), и только если запрашиваемые разрешения являются разрешенными для пользователя делегированными разрешениями.Если ваше единственное требование состоит в том, чтобы разработчики могли получить делегированное User.Read разрешение для Microsoft Graph, это сработает.
  • Члены Администратор приложений и Администратор облачных приложений роли каталогов могут давать согласие от имени всех пользователей как на делегированные разрешения, так и на разрешения только для приложений, за исключением разрешений только для приложений для Azure AD или Microsoft Graph.Обе эти роли являются очень привилегированными, и вряд ли вы захотите, чтобы среднестатистический разработчик обладал этим - конечно, нет, если бы единственное необходимое разрешение было делегировано User.Read.

Но как мне автоматизировать регистрацию приложений, не заходя на портал?

С помощью Microsoft Graph API вы можете зарегистрировать приложение, создав объект приложения .Начиная с 2018-12-05, это все еще бета-версия в Microsoft Graph.

Если вам требуется готовая к работе конечная точка, API-интерфейс Azure AD Graph поддерживает это , что и используетсяс помощью различных параметров командной строки и PowerShell: New-AzureADApplication, az ad app create и New-AzureRmADApplication.

.без участия пользователя клиентскому приложению (которое создает регистрацию приложения) требуется как минимум разрешение Application.ReadWrite.OwnedBy.

И как мне убедиться, что конвейер выпуска имеет правильную Azure ADразрешение дать согласие?

Здесь все становится сложнее.Хотя можно создать регистрацию приложения (объект Application), как описано выше, в настоящее время это не разрешение приложения, которое позволило бы приложению дать согласие на другое приложение.Хотя в настоящее время ведется работа по предоставлению «нормальных» разрешений приложениям, позволяющим одному приложению предоставлять другим приложениям некоторые разрешения, в настоящее время только члены ролей каталога, авторизованные для разрешения этих разрешений, могут выполнять это действие.

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