通过命令行向 Azure Active Directory 注册应用程序添加回复 URL

BAc*_*edo 1 powershell azure-active-directory azure-cli azure-devops azure-pipelines

我有一个 Azure Active Directory 应用程序,它有各种回复 URL。我一直在 Azure 门户 AAD-> 注册应用程序-> 设置-> 回复 URLS 中手动添加回复 URL。

我的目标是能够运行一个 azure 管道任务,该任务可以从 azure 应用程序服务(我知道该怎么做)中检索我需要的回复 URL,并使用命令将其从 AAD 中的注册应用程序添加到回复 URL 列表中. 使用 Azure 管道任务列表中的 Azure-cli、Azure-powershell 或 Powershell。

如果有另一种方法可以完成另一项任务,我愿意接受建议。

这是我试过的:

在此处输入图片说明

这是日志/调试输出:

我想更好的问题是:

如何从 Azure DevOps 向 Azure CLI 任务授予权限以完成上一问题中的任务?

在此处输入图片说明

Roh*_*gal 5

您的问题在您编辑后发生了一些变化,因此我尝试修改和回答这两部分.. 即通过脚本添加回复 URL 以及可能有助于解决权限问题的内容:

通过 PowerShell 脚本将回复 URL 添加到您的应用程序

利用应用程序对象的 ReplyUrls 列表和Set-AzureADApplication命令。这是一个快速示例脚本:

# ObjectId for application from App Registrations in your AzureAD
$appObjectId = "<Your Application Object Id>"

$app = Get-AzureADApplication -ObjectId $appObjectId

# reply URL to add
$newURL = "https://mynewurl"

# Existing reply URLs list
$replyURLList = $app.ReplyUrls;

$replyURLList.Add($newURL)

Set-AzureADApplication -ObjectId $app.ObjectId -ReplyUrls $replyURLList
Run Code Online (Sandbox Code Playgroud)

为脚本的执行分配正确的权限

要将脚本作为管道的一部分执行,本文提供了非常详细的分步说明:在 Azure Pipelines 中设置持续部署

我会向您指出文章中的选项 1,它讨论了创建单独的应用程序/服务主体来执行脚本。完成此操作后,您可以将所需权限分配给此服务主体,该服务主体将用于执行脚本并解决您当前权限不足的问题。

文章重要部分截图: 在此处输入图片说明 在此处输入图片说明

对于步骤 h,您可以按照第一个链接从 Azure 门户注册应用程序。

一旦为执行脚本创建了单独的应用程序/服务主体,请转到它的设置 > 所需权限

在此处输入图片说明

“Windows Azure Active Directory”应该已经在 API 列表中可用(如果没有,您可以单击添加按钮添加它)

在应用程序权限下选择适当的权限。

在此处输入图片说明

通过单击此过程结束时的“授予权限”按钮,确保在此过程结束时获得管理员同意。

在此处输入图片说明