如何使用Powershell Az模块授予Azure AD应用程序访问所需权限的权限

时间:2019-03-27 20:20:35

标签: azure powershell azure-active-directory 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 个答案:

答案 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

必需参数

permission

所需的以下参数
  

-api

     

要访问的目标API。

     

-api权限

     

用空格分隔的=。

     

-id

     

标识符uri,应用程序ID或对象ID。

有关CLI命令的更多详细信息,您也可以参考here

  

注意:

     

要执行上述命令,您必须在本地安装CLI,   使用Azure Cloud Shell在浏览器中运行它,或在Docker中运行   容器。有关安装参考,您可以查看here

我希望这对您预期的操作会有所帮助。让我们尝试一下。谢谢!