Azure CLI 在 Azure Pipeline 中获取当前服务主体详细信息
Azure CLI Get Current Service Principal Details in Azure Pipeline
我使用 Azure CLI 任务设置了 Azure Pipeline
我正在使用服务连接。在 az cli 任务中,我想检索我用于 运行 此任务的当前服务连接详细信息(如 appId 名称 objectId 等)。
az ad sp show
需要 id 参数,这在我的情况下不起作用。我想动态知道那个id
有没有办法获取当前 SP 详细信息?
您可以通过
获取当前会话上下文
az account show
然后简单地获取有关服务主体的一些额外详细信息
az ad sp show --id <guid>
和申请
az ad app show --id <guid>
我发现服务原理在 Azure Active Directory 中。而且我无法将它们添加到 azure devops 服务连接。我可以添加的是 Azure subscription
或 azure resource group
。
不确定您是如何将应用程序添加到 Azure 服务连接的。
如果您想获取连接详细信息。您可以尝试 az accout show
azure 订阅 ,或 az group show --name
azure 资源组
您现在可以使用复选框在 Azure CLI 脚本中公开服务主体 ID、机密和租户。
将 Adam Marczak 的解决方案与 python 结合在一个班轮中,
az ad sp show --id $(az account show| python -c 'import json,sys;print json.load(sys.stdin)["user"]["name"]')
运行 进入同样的问题,并找到了在管道中的 Azure Cli 任务中获取 SP Id 的最简单方法:
首先,在任务中定义 addSpnToEnvironment 如下:
- task: AzureCLI@2
continueOnError: true
inputs:
addSpnToEnvironment: true
scriptLocation: inlineScript
之后,您可以从 $env:servicePrincipalId 获取 SP Id 并像这样使用它:
az deployment group create ... --parameters SPId=$env:servicePrincipalId
我使用 Azure CLI 任务设置了 Azure Pipeline 我正在使用服务连接。在 az cli 任务中,我想检索我用于 运行 此任务的当前服务连接详细信息(如 appId 名称 objectId 等)。
az ad sp show
需要 id 参数,这在我的情况下不起作用。我想动态知道那个id
有没有办法获取当前 SP 详细信息?
您可以通过
获取当前会话上下文az account show
然后简单地获取有关服务主体的一些额外详细信息
az ad sp show --id <guid>
和申请
az ad app show --id <guid>
我发现服务原理在 Azure Active Directory 中。而且我无法将它们添加到 azure devops 服务连接。我可以添加的是 Azure subscription
或 azure resource group
。
不确定您是如何将应用程序添加到 Azure 服务连接的。
如果您想获取连接详细信息。您可以尝试 az accout show
azure 订阅 ,或 az group show --name
azure 资源组
您现在可以使用复选框在 Azure CLI 脚本中公开服务主体 ID、机密和租户。
将 Adam Marczak 的解决方案与 python 结合在一个班轮中,
az ad sp show --id $(az account show| python -c 'import json,sys;print json.load(sys.stdin)["user"]["name"]')
运行 进入同样的问题,并找到了在管道中的 Azure Cli 任务中获取 SP Id 的最简单方法:
首先,在任务中定义 addSpnToEnvironment 如下:
- task: AzureCLI@2
continueOnError: true
inputs:
addSpnToEnvironment: true
scriptLocation: inlineScript
之后,您可以从 $env:servicePrincipalId 获取 SP Id 并像这样使用它:
az deployment group create ... --parameters SPId=$env:servicePrincipalId