在 Azure DevOps 管道中,如何使用从 addSpnToEnvironment 参数返回的服务原则详细信息登录 AZ CLI?

In Azure DevOps pipelines, how do I login to AZ CLI using the service principle details returned from the addSpnToEnvironment parameter?

我基本上必须 运行 一个 Python 脚本,该脚本将 AZ CLI 命令嵌入到脚本中,并作为来自 subprocess 模块的进程生成。为了执行这些命令 运行,我需要登录到 AZ CLI。

我的管道中有一个 AZ CLI 任务,其设置 addSpnToEnvironment = true 为我提供了 $env:servicePrincipalId$env:servicePrincipalKey$env:tenantId。我的问题是,我现在如何使用这些详细信息登录 AZ CLI,以便在任务中维护上下文并且我的 Python 脚本中的 AZ CLI 命令识别并执行?

您可以使用服务主体登录到 az cli。见下文:

az login --service-principal --username $env:servicePrincipalId --password $env:servicePrincipalKey --tenant $env:tenantId

有关详细信息,请参阅文档 here