次の方法で共有


信頼されたワークスペース アクセス

Fabric では、ファイアウォールが有効な Azure Data Lake Storage (ADLS) Gen 2 アカウントに安全な方法でアクセスできます。 ワークスペース ID を持つファブリック ワークスペースは、選択した仮想ネットワークと IP アドレスからパブリック ネットワーク アクセスが有効になっているか、パブリック ネットワーク アクセスが無効になっている ADLS Gen2 アカウントに安全にアクセスできます。 ADLS Gen2 のアクセスを特定の Fabric ワークスペースに制限できます。

信頼されたワークスペース アクセスを持つストレージ アカウントにアクセスする Fabric ワークスペースには、要求に対する適切な承認が必要です。 承認は、組織アカウントまたはサービス プリンシパルの Microsoft Entra 資格情報でサポートされています。 リソース インスタンス ルールの詳細については、「Azure リソース インスタンスからのアクセスを許可する」を参照してください。

特定の Fabric ワークスペースからファイアウォールが有効なストレージ アカウントへのアクセスを制限および保護するには、特定の Fabric ワークスペースからのアクセスを許可するようにリソース インスタンスルールを設定します。

Note

信頼されたワークスペース アクセスは一般提供されていますが、F SKU 容量でのみ使用できます。 Fabric サブスクリプションの購入の詳細については、「Microsoft Fabric サブスクリプションの購入」を参照してください。 評価版容量では、信頼されたワークスペース アクセスはサポートされていません。

この記事では、次の方法について説明します:

  • ADLS Gen2 ストレージ アカウントで 信頼されたワークスペース アクセスを構成します。

  • Fabric レイクハウス内で、信頼されたワークスペース アクセスが有効な ADLS Gen2 ストレージ アカウントに接続するための OneLake ショートカット を作成します。

  • 信頼されたワークスペース アクセスが有効になっているファイアウォールが有効な ADLS Gen2 アカウントに直接接続するパイプラインを作成します。

  • T-SQL COPY ステートメントを使用して 、信頼されたワークスペース アクセスが有効になっているファイアウォールが有効な ADLS Gen2 アカウントからウェアハウスにデータを取り込みます。

  • インポート モードでセマンティック モデルを作成し、信頼されたワークスペース アクセスが有効になっているファイアウォールが有効な ADLS Gen2 アカウントに接続します。

  • AzCopy を使用して 、ファイアウォールが有効な Azure Storage アカウントから OneLake にデータを読み込みます。

ADLS Gen2 で信頼されたワークスペース アクセスを構成する

Prerequisites

  • Fabric 容量に関連付けられている Fabric ワークスペース。
  • Fabric ワークスペースに関連付けられているワークスペース ID を作成します。 「ワークスペース ID」を参照してください。 ワークスペース ID にワークスペースへの共同作成者アクセス権があることを確認します。そのためには、[ アクセスの管理 ] ( [ワークスペースの設定] の横) に移動し、ワークスペース ID を共同作成者として一覧に追加します。
  • ショートカットの認証に使用されるプリンシパルには、ストレージ アカウントに対する Azure RBAC ロールが必要です。 プリンシパルには、ストレージ アカウント スコープでのストレージ BLOB データ共同作成者、ストレージ BLOB データ所有者、またはストレージ BLOB データ閲覧者ロール、またはコンテナー内のフォルダー レベルでのアクセス権とともにストレージ アカウント スコープでのストレージ BLOB デリゲータのロールが必要です。 フォルダー レベルでのアクセスは、コンテナー レベルの RBAC ロールまたは特定のフォルダー レベルのアクセスを通じて提供できます。
  • ストレージ アカウントの リソース インスタンス ルール を構成します。

ARM テンプレートを使用したリソース インスタンス ルール

ワークスペース ID に基づいてストレージ アカウントにアクセスするように、特定の Fabric ワークスペースを構成できます。 リソース インスタンス ルールを作成するには、リソース インスタンス ルールを使用して ARM テンプレートをデプロイします。 リソース インスタンス ルールを作成するには:

  1. Azure portal にサインインし、[カスタム デプロイ] に移動します。

  2. [Build your own template in the editor](エディターで独自のテンプレートを作成する) を選択します。 リソース インスタンス ルールを作成するサンプル ARM テンプレートについては、「ARM テンプレートのサンプル」を参照してください。

  3. エディターでリソース インスタンス ルールを作成します。 完了したら、[確認と作成] を選択します。

  4. 表示される [基本] タブで、必要なプロジェクトとインスタンスの詳細を指定します。 完了したら、[確認と作成] を選択します。

  5. 表示された [確認と作成] タブで、概要を確認し、[作成] を選びます。 ルールはデプロイ用に送信されます。

  6. デプロイが完了すると、リソースに移動できます。

Note

  • Fabric ワークスペースのリソース インスタンス ルールは、ARM テンプレートまたは PowerShell を使用してのみ作成できます。 Azure portal を使用した作成はサポートされていません。
  • Fabric ワークスペース ResourceId には、SubscriptionId "00000000-0000-0000-0000-000000000000" を使用する必要があります。
  • Fabric ワークスペースのワークスペース ID は、アドレス バーの URL を使用して取得できます。

構成されたリソース インスタンス ルールを示すスクリーンショット。

ARM テンプレートを使用して作成できるリソース インスタンス ルールの例を次に示します。 完全実例については、「ARM テンプレートのサンプル」を参照してください。

"resourceAccessRules": [

       { "tenantId": " aaaabbbb-0000-cccc-1111-dddd2222eeee",

          "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/Fabric/providers/Microsoft.Fabric/workspaces/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
       }
]

PowerShell スクリプトを使用したリソース インスタンス ルール

PowerShell を使用してリソース インスタンス ルールを作成するには、次のスクリプトを使用します。

$resourceId = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/Fabric/providers/Microsoft.Fabric/workspaces/<YOUR_WORKSPACE_GUID>"
$tenantId = "<YOUR_TENANT_ID>"
$resourceGroupName = "<RESOURCE_GROUP_OF_STORAGE_ACCOUNT>"
$accountName = "<STORAGE_ACCOUNT_NAME>"
Add-AzStorageAccountNetworkRule -ResourceGroupName $resourceGroupName -Name $accountName -TenantId $tenantId -ResourceId $resourceId

信頼されたサービスの例外

選択した仮想ネットワークと IP アドレスからパブリック ネットワーク アクセスが有効になっている ADLS Gen2 アカウントに対して信頼されたサービス例外を選択した場合、ワークスペース ID を持つ Fabric ワークスペースはストレージ アカウントにアクセスできます。 信頼されたサービス例外チェックボックスがオンの場合、ワークスペース ID を持つテナントの Fabric 容量内のすべてのワークスペースは、ストレージ アカウントに格納されているデータにアクセスできます。

この構成は推奨されるものではなく、サポートは今後廃止される可能性があります。 特定のリソースにアクセスを許可するには、リソース インスタンス ルールを使用することをお勧めします。

ストレージ アカウントを信頼されたサービス アクセス用に構成できるのは誰ですか?

ストレージ アカウント (Azure RBAC ロール) の共同作成者は、リソース インスタンス ルールまたは信頼されたサービス例外を構成できます。

Fabric で信頼されたワークスペース アクセスを使用する方法

信頼されたワークスペース アクセスを使用して、セキュリティで保護された方法で Fabric からデータにアクセスするには、いくつかの方法があります。

  • Fabric レイクハウスに新しい ADLS ショートカットを作成すると、Spark、SQL、および Power BI でデータの分析を開始できます。

  • 信頼されたワークスペース アクセスを使用して、ファイアウォールが有効な ADLS Gen2 アカウントに直接アクセスする パイプラインを作成 できます。

  • T-SQL Copy ステートメントを使用して、信頼されたワークスペース アクセスを利用して、Fabric ウェアハウスにデータを取り込むことができます。

  • セマンティック モデル (インポート モード) を使用して、信頼されたワークスペース アクセスを利用し、データに対するモデルとレポートを作成できます。

  • AzCopy を使用して、ファイアウォールが有効な Azure Storage アカウントから OneLake にデータをパフォーマンスよく読み込むことができます。

次のセクションでは、これらの方法を使用する方法について説明します。

信頼されたワークスペース アクセスを持つストレージ アカウントへの OneLake ショートカットを作成する

Fabric でワークスペース ID を構成し、ADLS Gen2 ストレージ アカウントで信頼されたアクセスを有効にすると、Fabric からデータにアクセスするための OneLake ショートカットを作成できます。 Fabric レイクハウスに新しい ADLS ショートカットを作成するだけで、Spark、SQL、Power BI を使用してデータの分析を開始できます。

Note

  • 前提条件を満たすワークスペース内の既存のショートカットは、信頼されたサービス アクセスのサポートを自動的に開始します。
  • ストレージ アカウントには DFS URL ID を使用する必要があります。 以下に例を示します: https://StorageAccountName.dfs.core.windows.net
  • サービス プリンシパルは、信頼されたアクセス権を持つストレージ アカウントへのショートカットを作成することもできます。

Steps

  1. まず、レイクハウスに新しいショートカットを作成します。

    [新しいショートカットの作成] メニュー項目のスクリーンショット。

    新しいショートカット ウィザードが開きます。

  2. [外部ソース] で、[Azure Data Lake Storage Gen2] を選択します。

    外部ソースとして Azure Data Lake Storage Gen2 を選択している画面を示すスクリーンショット。

  3. 信頼されたワークスペース アクセスで構成されているストレージ アカウントの URL を指定し、接続の名前を選択します。 [認証の種類] で、[組織アカウント] または [サービス プリンシパル] を選択します。

    ショートカット ウィザードの URL の仕様を示すスクリーンショット。

    終わったら、 [次へ] を選択します。

  4. ショートカット名とサブ パスを指定します。

    ショートカット ウィザードのサブ パス定義を示すスクリーンショット。

    完了したら、 [作成] を選択します。

  5. レイクハウス ショートカットが作成され、ショートカットでストレージ データをプレビューできます。

    レイクハウス ショートカットを使用してストレージ データをプレビューしている画面を示すスクリーンショット。

Fabric アイテム内で信頼されたワークスペース アクセスを持つストレージ アカウントへの OneLake のショートカットを使用する

Fabric の OneCopy を使用すると、すべての Fabric ワークロードからの信頼されたアクセス権を持つ OneLake ショートカットにアクセスできます。

  • Spark: Spark を使用すると、OneLake ショートカットからデータにアクセスできます。 Spark でショートカットを使用すると、OneLake でフォルダーとして表示されます。 フォルダー名を参照するだけでデータにアクセスできます。 Spark ノートブックで信頼されたワークスペース アクセスを持つストレージ アカウントへの OneLake ショートカットを使用できます。

  • SQL 分析エンドポイント: レイクハウスの [テーブル] セクションで作成されたショートカットは、SQL 分析エンドポイントでも使用できます。 SQL 分析エンドポイントを開き、他のテーブルと同様にデータのクエリを実行できます。

  • パイプライン: パイプラインは、信頼されたワークスペース アクセス権を持つストレージ アカウントへのマネージド ショートカットにアクセスできます。 パイプラインを使用して、OneLake ショートカットを使用してストレージ アカウントの読み取りまたは書き込みを行うことができます。

  • Dataflows v2: Dataflows Gen2 を使用して、信頼されたワークスペース アクセスを持つストレージ アカウントへのマネージド ショートカットにアクセスできます。 Dataflows Gen2 では、OneLake ショートカット経由でストレージ アカウントの読み取りまたは書き込みを行えます。

  • セマンティック モデルとレポート: レイクハウスの SQL 分析エンドポイントに関連付けられている既定のセマンティック モデルでは、信頼されたワークスペース アクセスを持つストレージ アカウントへのマネージド ショートカットを読み取ることができます。 既定のセマンティック モデルのマネージド テーブルを表示するには、SQL 分析エンドポイント項目に移動し、[レポート] を選択して、[セマンティック モデルの自動更新] を選択します。

    信頼されたワークスペース アクセスを持つストレージ アカウントへのテーブル ショートカットを参照する新しいセマンティック モデルを作成することもできます。 SQL 分析エンドポイントに移動し、[ レポート] を選択して、[ 新しいセマンティック モデル] を選択します。

    既定のセマンティック モデルとカスタム セマンティック モデルの上にレポートを作成できます。

  • KQL データベース: KQL データベースで ADLS Gen2 への OneLake ショートカットを作成することもできます。 信頼されたワークスペース アクセスを使用してマネージド ショートカットを作成する手順も同じです。

信頼されたワークスペース アクセス権を持つストレージ アカウントへのパイプラインを作成する

Fabric でワークスペース ID が構成され、ADLS Gen2 ストレージ アカウントで信頼されたアクセスが有効になっていると、Fabric からデータにアクセスするためのパイプラインを作成できます。 Fabric Lakehouse にデータをコピーする新しいパイプラインを作成し、Spark、SQL、Power BI を使用してデータの分析を開始できます。

Prerequisites

  • Fabric 容量に関連付けられている Fabric ワークスペース。 「ワークスペース ID」を参照してください。
  • Fabric ワークスペースに関連付けられているワークスペース ID を作成します。
  • パイプラインの認証に使用されるプリンシパルには、ストレージ アカウントに対する Azure RBAC ロールが必要です。 プリンシパルには、ストレージ アカウント スコープでのストレージ BLOB データ共同作成者、ストレージ BLOB データ所有者、またはストレージ BLOB データ閲覧者の役割が必要です。
  • ストレージ アカウントの リソース インスタンス ルール を構成します。

Steps

  1. まず、レイクハウスで [データの取得] を選択します。

  2. [新しいパイプライン] を選択します。 パイプラインの名前を入力して、[作成] を選択します。

    新しいパイプライン ダイアログを示すスクリーンショット。

  3. データ ソースとして [Azure Data Lake Gen 2] を選びます。

    ADLS Gen2 の選択を示すスクリーンショット。

  4. 信頼されたワークスペース アクセスで構成されているストレージ アカウントの URL を指定し、接続の名前を選択します。 [認証の種類] で、[組織アカウント] または [サービス プリンシパル] を選択します。

    データソースの接続設定を示すスクリーンショット。

    終わったら、 [次へ] を選択します。

  5. レイクハウスにコピーする必要があるファイルを選択します。

    ファイルの選択を示すスクリーンショット。

    終わったら、 [次へ] を選択します。

  6. [レビューと保存] 画面で、[データ転送をすぐに開始する] を選択します。 操作が完了したら、[保存と実行] を選択します。

    [確認と保存] スクリーンを示すスクリーンショット。

  7. パイプラインの状態が [キューに登録済み] から [成功] に変わったら、レイクハウスに移動し、データ テーブルが作成されたことを確認します。

T-SQL COPY ステートメントを使用して、データを倉庫にインジェストします

Fabric でワークスペース ID を構成し、ADLS Gen2 ストレージ アカウントで信頼されたアクセスを有効にすると、COPY T-SQL ステートメント を使用して、Fabric ウェアハウスにデータをインジェストできます。 データが倉庫に取り込まれたら、SQL と Power BI を使用してデータの分析を開始できます。 管理者、メンバー、共同作成者、ビューアー ワークスペース ロール、またはウェアハウスに対する読み取りアクセス許可を持つユーザーは、T-SQL COPY コマンドと共に信頼されたアクセスを使用できます。

信頼されたワークスペース アクセスを使用してセマンティック モデルを作成する

インポート モードのセマンティック モデルでは、ストレージ アカウントへの信頼されたワークスペース アクセスがサポートされます。 この機能を使用して、ファイアウォールが有効な ADLS Gen2 ストレージ アカウント内のデータのモデルとレポートを作成できます。

Prerequisites

  • Fabric 容量に関連付けられている Fabric ワークスペース。 「ワークスペース ID」を参照してください。
  • Fabric ワークスペースに関連付けられているワークスペース ID を作成します。
  • ADLS Gen2 ストレージ アカウントへの接続。 セマンティック モデルにバインドされた接続で認証に使用されるプリンシパルには、ストレージ アカウントに対する Azure RBAC ロールが必要です。 プリンシパルには、ストレージ アカウント スコープでのストレージ BLOB データ共同作成者、ストレージ BLOB データ所有者、またはストレージ BLOB データ閲覧者の役割が必要です。
  • ストレージ アカウントの リソース インスタンス ルール を構成します。

Steps

  1. Power BI を 使用して Azure Data Lake Storage Gen2 のデータを分析する手順に従って、ADLS Gen2 ストレージ アカウントに接続するセマンティック モデルを Power BI Desktop で作成します。 組織アカウントを使用して、デスクトップの Azure Data Lake Storage Gen2 に接続できます。
  2. ワークスペース ID で構成されたワークスペースにモデルをインポートします。
  3. モデル設定に移動し、[ゲートウェイとクラウド接続] セクションを展開します。
  4. クラウド接続で、ADLS Gen2 ストレージ アカウントのデータ接続を選択します (この接続には、認証方法としてワークスペース ID、サービス プリンシパル、および組織アカウントを含めることができます)
  5. [ 適用] を選択し、モデルを更新して構成を完了します。

AzCopy と信頼されたワークスペース アクセスを使用してデータを読み込む

信頼されたワークスペース アクセスが構成されている場合、AzCopy コピー ジョブは、ファイアウォールが有効な Azure Storage アカウントに格納されているデータにアクセスでき、Azure Storage から OneLake にデータをパフォーマンスよく読み込むことができます。

Prerequisites

  • Fabric 容量に関連付けられている Fabric ワークスペース。 「ワークスペース ID」を参照してください。
  • AzCopy をインストールし、認証に使用される主体でログインします。 AzCopy の使い方を参照してください。
  • Fabric ワークスペースに関連付けられているワークスペース ID を作成します。
  • ショートカットの認証に使用されるプリンシパルには、ストレージ アカウントに対する Azure RBAC ロールが必要です。 プリンシパルには、ストレージ アカウント スコープでのストレージ BLOB データ共同作成者、ストレージ BLOB データ所有者、またはストレージ BLOB データ閲覧者ロール、またはコンテナー内のフォルダー レベルでのアクセス権とともにストレージ アカウント スコープでのストレージ BLOB デリゲータのロールが必要です。 フォルダー レベルでのアクセスは、コンテナー レベルの RBAC ロールまたは特定のフォルダー レベルのアクセスを通じて提供できます。
  • ストレージ アカウントの リソース インスタンス ルール を構成します。

Steps

  1. Azure Storage アカウントと Fabric 項目にアクセスできるプリンシパルを使用して AzCopy にログインします。 ファイアウォールが有効な Azure Storage アカウントを含むサブスクリプションを選択します。
azcopy login
  1. AzCopy コマンドをビルドします。 コピー元、コピー先、および少なくとも 1 つのパラメーターが必要です。
    • source-path: ファイアウォールが有効な Azure Storage アカウント内のファイルまたはディレクトリ。
    • destination-path: データのための OneLake における着地点。 たとえば、レイクハウス内の /Files フォルダーなどです。
    • --trusted-microsoft-suffixes: "fabric.microsoft.com" を含める必要があります。
azcopy copy "https://<source-account-name>.blob.core.windows.net/<source-container>/<source-path>" "https://onelake.dfs.fabric.microsoft.com/<destination-workspace>/<destination-path>" --trusted-microsoft-suffixes "fabric.microsoft.com"
  1. copy コマンドを実行します。 AzCopy では、ログインに使用した ID を使用して、OneLake と Azure Storage の両方にアクセスします。 コピー操作は同期的であるため、コマンドが戻ると、すべてのファイルがコピーされます。 OneLake で AzCopy を使用する方法の詳細については、 AzCopy を参照してください。

制限事項と考慮事項

サポートされるシナリオと制限事項

  • 信頼されたワークスペース アクセスは、あらゆる Fabric F SKU 容量のワークスペースでサポートされています。
  • 信頼されたワークスペース アクセスは、OneLake のショートカット、パイプライン、セマンティック モデル、T-SQL COPY ステートメント、および AzCopy でのみ使用できます。 Fabric Spark からストレージ アカウントに安全にアクセスするには、「Fabric のマネージド プライベート エンドポイント」を参照してください。
  • パイプラインは、信頼されたワークスペース アクセスを持つストレージ アカウントの OneLake テーブル ショートカットに書き込むことはありません。 これは一時的な制限です。
  • ショートカット、パイプライン、セマンティック モデル以外の Fabric 項目、または他のワークスペースで、信頼されたワークスペース アクセスをサポートする接続を再利用すると、機能しない可能性があります。
  • 信頼されたワークスペース アクセスはテナント間要求と互換性がありません。

認証方法と接続管理

  • 信頼されたワークスペース アクセスの接続は、「 接続とゲートウェイの管理」で作成できます。ただし、ワークスペース ID のみがサポートされている認証方法です。 組織のアカウントまたはサービス プリンシパルの認証方法が使用されている場合、接続のテストは失敗します。
  • 組織アカウントサービス プリンシパル、ワークスペース ID 認証方法のみを使用して、ショートカット、パイプライン、ショートカットの信頼されたワークスペース アクセスのストレージ アカウントに対する認証を行うことができます。
  • ファイアウォールが有効なストレージ アカウントへの接続で認証方法としてサービス プリンシパルまたは組織アカウントを使用する場合は、ショートカットまたはパイプライン作成エクスペリエンス、または Power BI クイック レポート エクスペリエンスを使用して接続を作成できます。 後で、セマンティック モデルやその他のショートカットやパイプラインにこの接続をバインドできます。
  • セマンティック モデルで個人用クラウド接続を使用する場合は、ストレージへの信頼されたアクセスの認証方法としてワークスペース ID のみを使用できます。 個人用クラウド接続を共有クラウド接続に置き換えることをお勧めします。
  • ファイアウォールが有効なストレージ アカウントへの接続は、[接続とゲートウェイの管理] で [オフライン ] 状態になります。

移行と既存のショートカット

  • ワークスペース ID を持つワークスペースが非 Fabric 容量または非 F SKU Fabric 容量に移行された場合、信頼されたワークスペース アクセスは 1 時間後に機能しなくなります。
  • 2023 年 10 月 10 日より前に作成された既存のショートカットは、信頼されたワークスペース アクセスをサポートしていません。
  • 前提条件を満たすワークスペース内の既存のショートカットは、信頼されたサービス アクセスのサポートを自動的に開始します。

セキュリティ、ネットワーク、およびリソースの構成

  • 信頼されたワークスペース アクセスは、選択した仮想ネットワークと IP アドレスからパブリック アクセスが有効になっている場合、またはパブリック アクセスが無効になっている場合にのみ機能します。
  • Fabric ワークスペースのリソース インスタンス ルールは、ARM テンプレートを使用して作成する必要があります。 Azure portal UI を使用して作成されたリソース インスタンス ルールはサポートされていません。
  • 最大 200 個のリソース インスタンス ルールを構成できます。 詳細については、「Azure サブスクリプションの制限とクォータ - Azure Resource Manager」を参照してください。
  • 組織に、すべてのサービス プリンシパルを含むワークロード ID の Microsoft Entra 条件付きアクセス ポリシーがある場合、信頼されたワークスペース アクセスは機能しません。 このようなインスタンスでは、ワークロード ID の条件付きアクセス ポリシーから特定のファブリック ワークスペース ID を除外する必要があります。

ARM テンプレートのサンプル

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
        {
            "type": "Microsoft.Storage/storageAccounts",
            "apiVersion": "2023-01-01",
            "name": "<storage account name>",
            "id": "/subscriptions/<subscription id of storage account>/resourceGroups/<resource group name>/providers/Microsoft.Storage/storageAccounts/<storage account name>",
            "___location": "<region>",
            "kind": "StorageV2",
            "properties": {
                "networkAcls": {
                    "resourceAccessRules": [
                        {
                            "tenantId": "<tenantid>",
                            "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/Fabric/providers/Microsoft.Fabric/workspaces/<workspace-id>"
                        }]
                }
            }
        }
    ]
}