Microsoft Fabric数据管道所有者权限转移方法求助
解决方案:Microsoft Fabric 数据管道所有者权限转移
前提条件
必须拥有目标Workspace管理员权限或Fabric租户管理员权限,普通用户无法修改资源所有者。
方法1:通过Fabric UI直接转移(适合单管道操作)
- 登录Microsoft Fabric门户,进入目标管道所在的Workspace
- 在左侧导航栏选择「数据工厂」,找到出问题的核心管道
- 右键点击管道,选择「管理权限」
- 在权限管理面板中,点击「添加用户或组」,输入目标服务账号的名称或用户主体名称(UPN)
- 勾选「所有者」角色,点击「保存」完成权限添加
- (可选)找到原离职员工的账号条目,点击移除,彻底回收权限
方法2:使用PowerShell脚本操作(适合批量或UI受限场景)
如果需要批量转移或UI操作无法生效,可以用Fabric PowerShell模块处理:
- 先安装并导入Fabric模块:
Install-Module -Name MicrosoftFabric -Force Import-Module MicrosoftFabric
- 连接到Fabric租户:
Connect-Fabric
- 获取目标Workspace和管道的ID:
# 替换为你的Workspace名称 $targetWorkspace = Get-FabricWorkspace -Name "Your-Workspace-Name" # 替换为你的管道名称 $targetPipeline = Get-FabricPipeline -WorkspaceId $targetWorkspace.Id -Name "Core-Data-Pipeline"
- 添加服务账号为Workspace/管道所有者:
# 替换为服务账号的Azure AD Object ID $serviceAccountObjectId = "xxxx-xxxx-xxxx-xxxx" # 方式A:给服务账号分配整个Workspace的所有者权限(推荐,覆盖Workspace内所有资源) Add-FabricWorkspaceRoleAssignment -WorkspaceId $targetWorkspace.Id -PrincipalId $serviceAccountObjectId -Role "Owner" # 方式B:仅给服务账号分配该管道的所有者权限(适合精细化权限控制) Add-FabricItemRoleAssignment -WorkspaceId $targetWorkspace.Id -ItemId $targetPipeline.Id -PrincipalId $serviceAccountObjectId -Role "Owner"
- 移除原员工的权限:
# 替换为原员工账号的Azure AD Object ID $formerEmployeeObjectId = "yyyy-yyyy-yyyy-yyyy" Remove-FabricWorkspaceRoleAssignment -WorkspaceId $targetWorkspace.Id -PrincipalId $formerEmployeeObjectId -Role "Owner"
后续验证步骤
- 重新触发管道运行,确认数据摄取正常
- 检查管道关联的所有数据源(如Blob存储、SQL数据库等),确保服务账号拥有对应的访问权限(比如存储账户的Storage Blob Data Contributor角色)
- 如果管道中使用了原员工的个人凭证(如连接字符串密钥),替换为服务账号的凭证或启用托管身份认证
内容的提问来源于stack exchange,提问作者Mino
相关产品推荐
相关产品推荐

