我有一个Azure Active Directory应用程序,它有各种回复URL。我正在Azure门户AAD->寄存器-应用程序>设置->应答- URLs中手动添加应答URLS。
我的目标是能够运行一个azure管道任务,它可以从一个azure应用程序服务(我知道如何做)中检索我需要的应答URL,并使用命令将它添加到AAD中的注册应用程序的答复URL列表中。使用Azure-cli、Azure-powershell或来自azure管道任务列表的Powershell。
如果有另一种方法来完成另一项任务,我愿意接受建议。
这就是我试过的:

这就是日志/调试输出的内容:
我想更好的问题是:
如何从Azure DevOps授予Azure任务特权,以实现以前问题中的任务?

发布于 2019-01-28 15:08:43
你的问题在你编辑后有了一点变化,所以我试着修改和回答这两部分。例如,通过脚本添加应答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为脚本的执行分配正确的权限
为了将脚本作为管道的一部分执行,本文提供了非常详细的分步说明:在Azure管道中设置连续部署。
我将向您介绍本文中的选项1,该选项讨论如何为执行脚本创建一个单独的应用程序/服务主体。一旦这样做,就可以将所需的特权分配给此服务主体,用于执行脚本并解决当前权限不足的问题。
文章中重要部分的截图:


对于步骤h,您可以按照第一个链接从Azure Portal注册应用程序。
一旦为执行脚本创建了单独的应用程序/服务主体,请转到它的设置>必需的权限

"Windows Directory“应该已经在API列表中可用(如果没有,您可以单击Add按钮添加它)
在应用程序权限下选择适当的特权。

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

https://stackoverflow.com/questions/54404493
复制相似问题