我正在尝试重写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运行它。
答案 0 :(得分:0)
Azure CLI易于上手,最适合用于Microsoft的跨平台命令行体验,用于在macOS,Linux或Windows上管理Azure资源并从命令行运行它。
您的案件
在您的情况下,您可以尝试使用以下CLI命令获得应用程序权限:
az广告应用权限添加--api --api-权限 - ID [-订阅]
例如
请参见下面的“ Sign in and read user profile”命令添加Graph API权限:
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权限
用空格分隔的=。
-id
标识符uri,应用程序ID或对象ID。
有关CLI命令的更多详细信息,您也可以参考here
注意:
要执行上述命令,您必须在本地安装CLI, 使用Azure Cloud Shell在浏览器中运行它,或在Docker中运行 容器。有关安装参考,您可以查看here
我希望这对您预期的操作会有所帮助。让我们尝试一下。谢谢!