You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地Jenkins配置Azure凭证时验证服务主体失败求助

解决Jenkins Azure凭证验证失败:"The provided credentials are not valid"

刚碰到过一模一样的坑,给你梳理几个必查的点,应该能解决这个验证失败的问题:

1. 先检查凭证输入的准确性

  • 仔细核对Subscription ID、Client ID、Tenant ID这三个ID,有没有复制时多带了空格、换行或者少了字符?尤其是Tenant ID要完全对应Azure AD里的Directory ID,建议用纯文本编辑器(比如Notepad)中转一下再复制,避免网页复制的隐形字符。
  • 重点注意Client Secret:创建密钥时Azure只会显示一次那个长字符串,如果你后来复制的是密钥的“名称”而非生成的“值”,肯定会失败。另外还要确认这个密钥是不是还在有效期内,过期的话也会验证失败。

2. 确认Azure AD应用的权限配置

  • 你的应用注册必须拥有目标订阅的访问权限:打开Azure门户的订阅页面,进入Access control (IAM),点击「添加角色分配」,把这个应用注册添加为「Contributor」或「Reader」(根据你的实际需求选择)。没有权限的话,服务主体根本无法访问订阅,验证自然通不过。
  • 检查应用注册的账户类型:确保选择的是「Accounts in this organizational directory only」(仅限本组织目录中的账户),如果选了跨组织或者个人账户类型,可能会导致OAuth令牌获取失败。

3. 更新Jenkins Azure插件版本

旧版本的Azure插件可能存在兼容性问题,导致验证逻辑出错。去Jenkins的「插件管理」页面,找到Azure相关插件(比如Azure Credentials、Azure SDK),检查是否有可用更新,更新后重启Jenkins再尝试验证。

4. 排查网络/代理问题

如果你的Jenkins服务器部署在内网环境,要确认是否配置了正确的代理:

  • 进入Jenkins全局配置,检查代理服务器的地址、端口、认证信息是否正确,确保Jenkins能够访问Azure的OAuth端点 https://login.windows.net/。
  • 可以在Jenkins服务器上尝试ping或者curl这个端点,确认网络连通性。

5. 用Azure CLI手动验证(快速定位问题)

如果上面的步骤都没解决,用Azure CLI手动测试服务主体的有效性:
在Jenkins服务器或本地终端运行以下命令:

az login --service-principal -u <你的Client ID> -p <你的Client Secret> --tenant <你的Tenant ID>
  • 如果命令失败,说明问题出在Azure的服务主体配置上,和Jenkins无关,根据CLI的错误提示进一步排查(比如权限不足、密钥过期)。
  • 如果命令成功,那回到Jenkins检查是否有配置遗漏(比如插件版本、代理)。

内容的提问来源于stack exchange,提问作者Imran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:47:21