如何对Azure SQL数据库恢复接口的POST API调用进行身份验证?
调用Azure SQL数据库恢复REST API的身份验证方案
优先方案:使用个人AD账号直接验证
- 本地安装Azure CLI后打开终端,执行
az login登录你作为SQL服务器AD管理员的账号 - 登录完成后执行如下命令获取Azure资源管理接口的访问令牌:
az account get-access-token --resource=https://management.azure.com --query accessToken -o tsv - 构造API请求时在请求头中添加字段
Authorization: Bearer 刚才获取到的令牌字符串即可完成身份验证 - 完整请求参考格式:
- 请求方法:POST
- 请求URL:
https://management.azure.com/subscriptions/{替换为你的订阅ID}/resourceGroups/{替换为资源组名称}/providers/Microsoft.Sql/servers/{替换为SQL服务器名称}/databases/{替换为目标数据库名称}/resume?api-version=2021-02-01-preview - 额外请求头:
Content-Type: application/json
- 若你习惯使用PowerShell,也可以执行
Get-AzAccessToken -ResourceUrl https://management.azure.com获取令牌,效果完全一致。
服务主体方案权限不足的修复方法(备选)
如果后续需要使用Web应用对应的服务主体身份调用该API,可手动给该服务主体授予对应权限:
- 进入Azure门户,找到目标SQL服务器/对应资源组/订阅的「访问控制(IAM)」页面
- 选择「添加角色分配」,搜索你名下Web应用对应的服务主体,为其分配SQL DB 参与者权限,等待5分钟权限生效后即可按原有教程获取令牌调用接口。
内容的提问来源于stack exchange,提问作者Tessaract
相关产品推荐
相关产品推荐

