更改 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 
    

连接

  1. 以管理员身份打开 Windows PowerShell。
  2. 连接到 Power BI 服务:
Connect-PowerBIServiceAccount

接管仓库所有权

  1. 导航到要更改工作区中的所有者的仓库项。 打开 SQL 编辑器。
  2. 从浏览器复制 URL,并放置文本编辑器供以后使用。
  3. 从 URL 复制第一个 GUID,例如 11aaa111-a11a-1111-1aaa-aa111111aaa。 不要包含 / 字符。 将此项存储在文本编辑器中供稍后使用。
  4. 从 URL 复制第二个 GUID,例如 11aaa111-a11a-1111-1aaa-aa111111aaa。 不要包含 / 字符。 将此项存储在文本编辑器中供稍后使用。
  5. 在以下脚本中,将 workspaceID 替换为复制的第一个 GUID。 运行以下命令。
    $workspaceID = 'workspaceID'
    
  6. 在以下脚本中,将 warehouseID 替换为复制的第二个 GUID。 运行以下命令。
    $warehouseid = 'warehouseID'
    
  7. 运行以下命令:
    $url = '/groups/' + $workspaceID + '/datawarehouses/' + $warehouseid + '/takeover'
    
  8. 运行以下命令:
    Invoke-PowerBIRestMethod -Url $url -Method Post -Body ""
    
  9. 仓库项目的所有者现已更改。

完整脚本

# 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 ""