Как предоставить приложению Azure AD доступ к необходимым разрешениям с помощью модуля powershell Az

Я пытаюсь переписать сценарий powershell, который создает приложение Azure AD и назначает ему разрешение. Скрипт использует модуль AzureAD, я хотел бы использовать новый модуль Az, чтобы я мог запустить его в Linux/MacOS.

Создать новое приложение легко (New-AzADApplication), но у меня проблема с разрешениями.

Старый скрипт использует этот код для назначения разрешений:

#=============Graph Permissions========================
$req = New-Object -TypeName "Microsoft.Open.AzureAD.Model.RequiredResourceAccess"
$acc1 = New-Object -TypeName "Microsoft.Open.AzureAD.Model.ResourceAccess" -ArgumentList "df021288-bdef-4463-88db-98f22de89214","Role"

$req.ResourceAccess = $acc1
$req.ResourceAppId = "00000003-0000-0000-c000-000000000000" #Microsoft Graph   

Set-AzureADApplication -ObjectId $AppObjectId  -RequiredResourceAccess $req

Но это не будет работать на Linux/MacOS. Есть какой-либо способ сделать это? Если не из powershell, чем, может быть, использовать какой-то другой метод? Основная цель - запустить его из Linux.

1 ответ

Решение

Интерфейс командной строки Azure легко начать, и его лучше всего использовать для межплатформенного взаимодействия Microsoft с командной строкой для управления ресурсами Azure в macOS, Linux или Windows и запуска его из командной строки.

Ваш случай

В вашем случае вы можете попробовать использовать следующую команду CLI для разрешения приложения:

az ad app application add --api --api-permissions --id [--subscription]

Например

См. Добавление разрешения API Graph для команды " Войдите и прочитайте профиль пользователя" ниже:

az ad app permission add --id eeba0b46-78e5-4a1a-a1aa-cafe6c123456 --api 00000002-0000-0000-c000-000000000000 --api-permissions 311a71cc-e848-46a1-bdf8-97ff7156d8e6=Scope

Обязательные параметры

Следующие параметры, необходимые для этого разрешения

--api

Целевой API для доступа.

--api-разрешения

Разделенный пробелами список =.

--Я бы

Идентификатор uri, идентификатор приложения или идентификатор объекта.

Для более подробной информации о команде CLI вы также можете обратиться сюда

Замечания:

Чтобы выполнить указанную выше команду, вам необходимо установить CLI локально, запустить его в браузере с помощью Azure Cloud Shell или запустить в контейнере Docker. Для справки установки вы можете увидеть здесь

Я надеюсь, что это будет полезно, что вы ожидали сделать. Давайте попробуем это. Спасибо!

Другие вопросы по тегам