我有一个Azure CLI脚本,该脚本在Cloud Shell中运行得很好,但是当我尝试将其包含在devops发布管道中时遇到麻烦。为了进行调试,我将脚本简化为仅以Service Principal身份登录,然后检索版本...
az login --service-principal -u http://[Service Principal name] -p [Service Principal password] --tenant [Service Principal tenant GUID]
az --version
...但是它仍然会产生相同的错误。
以下是我的[[Azure CLI任务的属性:
脚本类型:Shell
脚本位置:Inline script
内联脚本:[如上所述
]脚本参数:访问脚本中的服务主体详细信息:false
使用全局Azure CLI配置:false
工作目录:发生标准错误失败:false
启用:true
继续发生错误:false
*环境变量:错误是:
2020-06-15T12:46:39.8710944Z ## [错误]错误代码:[1] 2020-06-15T12:46:39.8724737Z ## [错误]错误:Azure登录失败 2020-06-15T12:46:39.8728448Z ## [error]脚本失败,并出现错误:获取令牌请求返回http错误:401和服务器响应:{“错误”:“ invalid_client”,“ error_description”:“ AADSTS7000222”:客户端密钥已过期,请访问Azure门户为您的应用创建新密钥,或考虑使用证书凭据来提高安全性:https://docs.microsoft.com/azure/active-directory/develop/active-directory-certificate-credentials 跟踪ID:d0f42793-739e-4ce9-9118-5049086aa800 相关编号:2ad50471-9c2a-4c02-a4d0-189efad2f0c8 时间戳记:2020-06-15 12:46:39Z“,“错误代码”:[7000222],“时间戳记”:“ 2020-06-15 12:46:39Z”,“ trace_id”:“ d0f42793-739e-4ce9- 9118-5049086aa800“,” correlation_id“:” 2ad50471-9c2a-4c02-a4d0-189efad2f0c8“,” error_uri“:” https://login.microsoftonline.com/error?code=7000222“}
我能够使用Azure Cloud Shell作为此
服务主体
进行身份验证,因此令我感到困惑的是,为什么我显然无法在发布管道中进行相同的操作。*我尝试过使用[[错误继续:true,尽管任务完成了,但相同的错误仍出现在输出中。