3

我正在尝试重写创建 Azure AD 应用程序并为其分配权限的 powershell 脚本。该脚本使用 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 运行它。

4

1 回答 1

1

Azure CLI易于上手,最适合用于 Microsoft 的跨平台命令行体验,用于管理 macOS、Linux 或 Windows 上的 Azure 资源并从命令行运行它。

你的情况

在您的情况下,您可以尝试使用以下 CLI 命令获取应用程序权限:

az ad 应用权限添加 --api --api-permissions --id [--subscription]

例如

请参阅下面的添加“登录并读取用户配置文件”命令的 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 命令,您也可以参考这里

笔记 :

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

Powershell 命令

您可以在此处找到详细步骤

我希望这对您期望做的事情有所帮助。让我们试试看。谢谢!

于 2019-03-28T01:23:27.197 回答