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

如何授权Azure Synapse托管标识访问management.azure.com API以操作SQL池?

解决Azure Synapse托管身份权限不足问题

核心问题

你的系统分配托管身份缺少对目标专用SQL池的Microsoft.Synapse/workspaces/sqlPools/read权限,同时要完成暂停/恢复操作,还需额外的pause/action和resume/action权限。

所需权限说明

要实现完整的定时暂停/恢复流程,托管身份需具备以下权限:

  • 状态检查:Microsoft.Synapse/workspaces/sqlPools/read
  • 暂停操作:Microsoft.Synapse/workspaces/sqlPools/pause/action
  • 恢复操作:Microsoft.Synapse/workspaces/sqlPools/resume/action

推荐直接使用内置的Synapse SQL池管理员角色,该角色包含上述所有必要权限;若遵循最小权限原则,可创建自定义角色仅包含所需动作。

授权操作步骤

  1. 获取托管身份对象ID

    • 打开Azure Synapse工作区的概述页面
    • 在右侧托管标识区域,复制系统分配的对象ID(即错误信息中的object id值)
  2. 为专用SQL池分配角色

    • 进入目标专用SQL池的Azure门户页面,选择左侧菜单的访问控制(IAM)
    • 点击添加 -> 添加角色分配
    • 在角色选项卡中,搜索并选择Synapse SQL池管理员(或自定义角色)
    • 在成员选项卡中,选择托管标识,点击选择成员
    • 在弹窗中搜索并选中你的Synapse工作区系统托管身份(或粘贴对象ID直接定位)
    • 依次点击选择 -> 查看 + 分配完成配置
  3. 等待权限生效
    角色分配后通常需要5-10分钟同步,之后重新运行管道即可。

命令行快速授权(可选)

使用Azure CLI执行以下命令(替换占位符为你的实际资源信息):

az role assignment create \
  --assignee <托管身份对象ID> \
  --role "Synapse SQL池管理员" \
  --scope "/subscriptions/<订阅ID>/resourceGroups/<资源组名>/providers/Microsoft.Synapse/workspaces/<工作区名>/sqlPools/<SQL池名>"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 15:22:18