Azure CLI在Azure管道中获取当前服务主体详细信息

时间:2019-09-20 15:48:27

标签: azure azure-devops azure-pipelines azure-cli

我具有使用Azure CLI任务的Azure管道设置 我正在使用服务连接。在az cli任务中,我想检索用于运行此任务的当前服务连接详细信息(例如appId名称objectId等。)。

az ad sp show必需的id参数,在我的情况下不起作用。我想动态知道那个ID

有什么方法可以获取当前的SP详细信息?

Azure Pipeline

4 个答案:

答案 0 :(得分:2)

您现在可以使用复选框在Azure CLI脚本中公开服务主体ID,机密和租户。

Checkbox to allow service principal details in script

答案 1 :(得分:0)

您可以使用

获取当前的会话上下文
az account show 

然后简单地获取有关服务主体的一些额外信息

az ad sp show --id <guid>

和应用

az ad app show --id <guid>

答案 2 :(得分:0)

我发现服务原理在Azure Active Directory中。而且我无法将它们添加到Azure Devops服务连接中。我可以添加的是Azure subscriptionazure resource group。 不确定如何显示如何将应用程序添加到Azure服务连接中。

如果要获取连接详细信息。您可以尝试az accout show进行 azure订阅,或尝试{{11}}进行 azure资源组

答案 3 :(得分:0)

使用Adam Marczak的解决方案在一个衬里使用python进行组合,

az ad sp show --id $(az account show| python -c 'import json,sys;print json.load(sys.stdin)["user"]["name"]')