通过 powershell 向 Azure RM AD 应用程序添加权限

add permissions to Azure RM AD application via powershell

我可以像这样创建一个新的 Azure RM AD 应用程序:

New-AzureRmADApplication -DisplayName "xxx" -HomePage "xxx" -IdentifierUris "xxx" -ReplyUrl "xxx"

我正在尝试为此添加应用程序权限,以便使用我指定的权限创建该应用程序。我想要的权限在清单中看起来像这样:

"requiredResourceAccess": [
{
  "resourceAppId": "00000002-0000-0000-c000-000000000000",
  "resourceAccess": [
    {
      "id": "311a71cc-e848-46a1-bdf8-97ff7156d8e6",
      "type": "Scope"
    }
  ]
}
]

这是 Windows Azure Active Directory - 委托 - 登录并读取用户配置文件 的权限。 在通过 powershell 创建我的 AD 应用程序之后,有什么方法可以添加这个吗?

尝试下面的命令,更改 ObjectId ,它在我这边工作正常。

$req = New-Object -TypeName "Microsoft.Open.AzureAD.Model.RequiredResourceAccess"
$req.ResourceAccess = New-Object -TypeName "Microsoft.Open.AzureAD.Model.ResourceAccess" -ArgumentList "311a71cc-e848-46a1-bdf8-97ff7156d8e6","Scope"
$req.ResourceAppId = "00000002-0000-0000-c000-000000000000"
Set-AzureADApplication -ObjectId <ObjectId> -RequiredResourceAccess $req

Manifest的截图:

您还可以创建具有给定权限的 AAD 应用程序。然后你需要 AzureAD 模块中的 New-AzureADApplication。代码片段如下:

$SiteUri = "https://example.com/"
$displayName = $SiteUri.Host
[string[]]$replyUrl = $SiteUri.AbsoluteUri + ".auth/login/aad/callback"

$reqAAD = New-Object -TypeName "Microsoft.Open.AzureAD.Model.RequiredResourceAccess"

# This is "Windows Azure Active Directory".
$reqAAD.ResourceAppId = "00000002-0000-0000-c000-000000000000"

# This is to "Sign you in and read your profile"
$permission = New-Object -TypeName "Microsoft.Open.AzureAD.Model.ResourceAccess" -ArgumentList "311a71cc-e848-46a1-bdf8-97ff7156d8e6","Scope"

$reqAAD.ResourceAccess = $permission

New-AzureADApplication -DisplayName $displayName -IdentifierUris $SiteUri -Homepage $SiteUri -ReplyUrls $replyUrl -RequiredResourceAccess $reqAAD

更多详情,您可以阅读https://blogs.msdn.microsoft.com/azuregov/2017/12/06/web-app-easy-auth-configuration-using-powershell/