使用Service Principal-invalid_client从发布管道运行Azure CLI脚本

问题描述 投票:0回答:1

我有一个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,尽管任务完成了,但相同的错误仍出现在输出中。
azure devops azure-pipelines-release-pipeline azure-cli
1个回答
0
投票
一种解决方法是转到Azure门户并不断生成新的机密,直到您获得其中没有特殊字符的机密为止。

https://github.com/ansible/ansible/issues/54914

© www.soinside.com 2019 - 2024. All rights reserved.