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

时间:2019-01-28 14:50:56

标签: powershell azure-devops azure-active-directory azure-pipelines azure-cli

我有一个Azure Active Directory应用程序,它具有各种回复URL。我正在Azure门户AAD-> register-app->设置-> reply-URLS中手动添加答复URL。

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

如果还有另一种方法可以完成其他任务,我可以提出建议。

这是我尝试过的:

enter image description here

这是日志/调试输出:

我想一个更好的问题是:

我如何赋予Azure DevOps中的Azure CLI任务特权以实现上一个问题的任务?

enter image description here

1 个答案:

答案 0 :(得分:2)

您的问题在您进行修改后已经有所变化,因此,我试图修改和回答这两个部分。即通过脚本添加回复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

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

要将您的脚本作为管道的一部分执行,本文提供了非常详细的分步说明:Set up continuous deployment in Azure Pipelines

我将带您到本文中的选项1,该选项讨论创建一个单独的应用程序/服务主体来执行脚本。完成此操作后,可以为该服务主体分配所需的特权,该特权将用于执行脚本并解决当前的特权不足问题。

以下文章的重要部分的屏幕截图: enter image description here enter image description here

对于步骤h,您可以单击第一个链接从Azure Portal注册应用程序。

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

enter image description here

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

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

enter image description here

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

enter image description here