次の方法で共有


Fabric Warehouse の所有権を変更する

適用対象:✅Microsoft Fabric のウェアハウス

Warehouse アイテムは、OneLake 上のデータにアクセスするときに所有者の ID を使用します。 これらのアイテムの所有者を変更する場合、現時点のソリューション メソッドは、この記事で説明するように API 呼び出しを使用することです。

このガイドでは、Warehouse の所有者を組織アカウントに変更する手順について説明します。 それぞれの引き継ぎ API を使用すると、この所有者の ID を SPN または他の組織アカウント (Microsoft Entra ID) に変更できます。 詳細については、「Microsoft Fabric の SQL 認証の代替え手段とする Microsoft Entra 認証」を参照してください。

引き継ぎ API は、SQL 分析エンドポイントではなく、Warehouse に対してのみ機能します。

前提条件

開始する前に、次のことが必要です。

  • アクティブな容量または試用版の容量を持つ Fabric ワークスペース。

  • Lakehouse 上の Fabric Warehouse。

  • ワークスペースの 管理者ロール、メンバーロール、または 投稿者ロールのメンバーである必要があります。

  • Power BI PowerShell モジュールをインストールしてインポートします (まだインストールされていない場合)。 インターネットに接続されたワークステーションで管理者として Windows PowerShell を開き、次のコマンドを実行します。

    Install-Module -Name MicrosoftPowerBIMgmt
    Import-Module MicrosoftPowerBIMgmt 
    

のインスタンスに接続するときには、

  1. Windows PowerShell を管理者として開きます。
  2. Power BI サービスに接続する:
Connect-PowerBIServiceAccount

Warehouse の所有権を取得する

  1. ワークスペースの所有者を変更する Warehouse アイテムに移動します。 SQL エディターが開きます。
  2. ブラウザーから URL をコピーし、後で使用するためにテキスト エディターを配置します。
  3. たとえば、 URL から最初の GUID (11aaa111-a11a-1111-1aaa-aa111111aaa など) をコピーします。 / 文字は含めないでください。 これをすぐに使用するためにテキスト エディターに保存します。
  4. URL から 2 番目の GUID (11aaa111-a11a-1111-1aaa-aa111111aaa など) をコピーします。 / 文字は含めないでください。 これをすぐに使用するためにテキスト エディターに保存します。
  5. 次のスクリプトでは、 workspaceID をコピーした最初の GUID に置き換えます。 次のコマンドを実行します。
    $workspaceID = 'workspaceID'
    
  6. 次のスクリプトでは、warehouseID をコピーした 2 番目の 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 ""