无法通过承载令牌生成的访问令牌连接SQL Azure

问题描述

我试图通过通过查询生成的Bearer令牌连接我的sql Azure查询

$token= & az account get-access-token --resource=https://database.windows.net/ --query accesstoken

从今天开始,它说“用户登录失败

我没有对环境进行任何重大更改,因为即使在本地脚本也无法正常工作

一旦获得访问令牌,然后连接Sql Server,防火墙设置就可以了。我是数据库的服务器管理员,是否需要进一步检查?

解决方法

我认为令牌已过期。

根据文档az account get-access-token:令牌的有效期至少为5分钟,最长为60分钟。

请尝试重新生成一个新的,然后尝试一下。

,

我正在从DevOps管道中执行脚本作为Azure CLI的任务。因此我从Azure门户手动使用了服务主体(连接字符串)作为SQL Server中的管理员。一切正常

当我尝试通过ARM模板通过将Service Principal作为管理员添加为管理员来实现自动化时,它表明它已经在Azure门户中应用了相同的方法,但是在执行管道时却说登录失败

因此,要解决此问题,我不得不在Azure门户中手动将服务主体作为管理员应用