更改 Fabric 仓库所有权
适用于:✅Microsoft Fabric 中的仓库
在 OneLake 上访问数据时,仓库项会使用所有者的标识。 若要更改这些项目的所有者,目前的解决方法是使用 API 调用,如本文所述。
本指南将指导你完成将仓库所有者更改为机构帐户的各个步骤。 各对应的接管 API 允许将此所有者的标识更改为 SPN 或其他组织帐户 (Microsoft Entra ID)。 有关详细信息,请参阅 Microsoft Entra 身份验证作为 Microsoft Fabric 中 SQL 身份验证的替代方法。
接管 API 仅适用于仓库,不适用于 SQL 分析端点。
先决条件
开始前,需要具备:
具有激活容量或试用容量的 Fabric 工作区。
Lakehouse 上的 Fabric 仓库。
可以是工作区上“管理员”、“成员”或“参与者”角色的成员。
安装并导入 Power BI PowerShell 模块(若尚未安装)。 在连接到互联网的工作站中以管理员身份打开 Windows PowerShell 并执行以下命令:
Install-Module -Name MicrosoftPowerBIMgmt Import-Module MicrosoftPowerBIMgmt
连接
- 以管理员身份打开 Windows PowerShell。
- 连接到 Power BI 服务:
Connect-PowerBIServiceAccount
接管仓库所有权
- 导航到要更改工作区中的所有者的仓库项。 打开 SQL 编辑器。
- 从浏览器复制 URL,并放置文本编辑器供以后使用。
- 从 URL 复制第一个 GUID,例如
11aaa111-a11a-1111-1aaa-aa111111aaa
。 不要包含/
字符。 将此项存储在文本编辑器中供稍后使用。 - 从 URL 复制第二个 GUID,例如
11aaa111-a11a-1111-1aaa-aa111111aaa
。 不要包含/
字符。 将此项存储在文本编辑器中供稍后使用。 - 在以下脚本中,将
workspaceID
替换为复制的第一个 GUID。 运行以下命令。$workspaceID = 'workspaceID'
- 在以下脚本中,将
warehouseID
替换为复制的第二个 GUID。 运行以下命令。$warehouseid = 'warehouseID'
- 运行以下命令:
$url = 'groups/' + $workspaceID + '/datawarehouses/' + $warehouseid + '/takeover'
- 运行以下命令:
Invoke-PowerBIRestMethod -Url $url -Method Post -Body ""
- 仓库项目的所有者现已更改。
完整脚本
# Install the Power BI PowerShell module if not already installed
Install-Module -Name MicrosoftPowerBIMgmt
# Import the Power BI PowerShell module
Import-Module MicrosoftPowerBIMgmt
# Fill the parameters
$workspaceID = 'workspaceID'
$warehouseid = 'warehouseID'
# Connect to the Power BI service
Connect-PowerBIServiceAccount
#Invoke warehouse takeover
$url = 'groups/' + $workspaceID + '/datawarehouses/' + $warehouseid + '/takeover'
Invoke-PowerBIRestMethod -Url $url -Method Post -Body ""