Azure Data Lake Gen 2 を使用するようにデータフロー ストレージを構成する

既定では、Power BI で使用されるデータは、Power BI によって提供される内部ストレージに保存されます。 データフローと Azure Data Lake Storage Gen2 (ADLS Gen2) を統合すると、組織の Azure Data Lake Storage Gen2 アカウントにデータフローを保存できます。 この機能により、Power BI データフローに "独自のストレージを持ち込む" ことができ、テナントまたはワークスペースのレベルで接続を確立できます。

ADLS Gen 2 ワークスペースまたはテナント接続を使用する理由

データフローを接続した後、それに対する参照が Power BI に構成されて保存され、独自の ADLS Gen 2 に対してデータの読み取りと書き込みができるようになります。 Power BI にはデータが Common Data Model (CDM) 形式で格納されます。これにより、データフロー自体によって生成された実際のデータに加えて、データに関するメタデータがキャプチャされます。 この機能により、多数の強力な機能がロック解除され、CDM 形式のデータと関連するメタデータが、拡張性、自動化、監視、およびバックアップのシナリオに対応できるようになります。 このデータを独自の環境で使用可能にし、幅広くアクセスできるようにすると、組織内で作成される分析情報とデータを民主化することができます。 また、幅広い複雑さの追加のソリューションを作成する機能もロック解除されます。 ソリューションは、Power Platform、Azure、そしてパートナーおよび独立系ソフトウェア ベンダー (ISV) エコシステムを通じて利用できる CDM 対応のカスタム アプリケーションとソリューションにすることができます。 CSV を読み取るアプリケーションを作成することもできます。 データ エンジニア、データ科学者、アナリストは、ADLS Gen 2 でキュレーションされた共通データ セットの処理、使用、再利用ができるようになります。

使用する ADLS Gen 2 ストアを構成するには、2 つの方法があります。ADLS Gen 2 アカウントが割り当てられたテナントを使用する方法と、ワークスペース レベルで独自の ADLS Gen 2 ストアを使用する方法です。

前提条件

  • 独自の ADLS Gen 2 アカウントを使用するには、ストレージ アカウント層での所有者のアクセス許可が必要です。 リソース グループまたはサブスクリプションのレベルでのアクセス許可は機能しません。 管理者であっても、自分自身に所有者のアクセス許可を割り当てる必要があります。 現在、ファイアウォールの内側で ADLS Gen2 ストレージ アカウントをサポートしていません

  • ストレージ アカウントは、階層型名前空間 (HNS) が有効な状態で作成する必要があります。

  • ストレージ アカウントは、Power BI テナントと同じ Azure Active Directory (Azure AD) テナントに作成する必要があります。

  • ユーザーは、Storage Blob データ所有者ロール、Storage Blob データ閲覧者ロール、ストレージ アカウント レベルでの所有者ロールを持っている必要があります (スコープはこのリソースにし、継承しないようにする必要があります)。 適用されたロールの変更が同期されるまでには数分かかる場合があり、同期されてから Power BI サービスで次のステップを完了する必要があります。

  • Power BI ワークスペースのテナント リージョンは、ストレージ アカウントのリージョンと同じである必要があります。

  • エンドポイントをセキュリティで保護するには、TLS (トランスポート層セキュリティ) バージョン 1.2 (またはそれ以上) が必要です。 TLS 1.2 より前のバージョンの TLS を使用する Web ブラウザーやその他のクライアント アプリケーションでは、接続できません。

  • 多要素認証 (MFA) の背後で ADLS Gen 2 を使用してデータフローをアタッチすることはサポートされていません。

  • 最後に、管理ポータルから任意の ADLS Gen 2 に接続できますが、ワークスペースに直接接続する場合は、接続する前にまず、ワークスペースを確実にデータフローがない状態にする必要があります。

次の表では、ADLS Gen 2 と Power BI で必要とされる ADLS と Power BI のアクセス許可について説明します。

アクション ADLS のアクセス許可 Power BI の最小限のアクセス許可
ADLS Gen 2 を Power BI テナントに接続する 所有者 Power BI 管理者
ADLS Gen 2 をワークスペースに接続する 所有者 ワークスペース管理者
接続した ADLS アカウントに書き戻す Power BI データフローを作成する 適用できません ワークスペースの共同作成者
Power BI データフローを使用する 適用できません ワークスペース ビューアー

ワークスペース レベルで Azure Data Lake Gen 2 に接続する

データフローがないワークスペースに移動します。 [ワークスペースの設定] を選択します。 [Azure 接続] タブを選択し、[ストレージ] セクションを選択します。

[Azure 接続] タブの [ワークスペース設定] ペインのスクリーンショット。

テナントによって割り当てられた ADLS Gen 2 アカウントを管理者が既に構成している場合、 [Use default Azure connection](既定の Azure 接続を使用する) オプションが表示されます。 2 つのオプションがあります。

  • [Use the default Azure connection](既定の Azure 接続を使用する) という名前のボックスを選択して、ADLS Gen 2 が構成されているテナントを使用します。または
  • [Azure に接続する] を選択して、新しい Azure ストレージ アカウントを指定します。

[Azure に接続する] を選択すると、Power BI により、アクセスできる Azure サブスクリプションの一覧が取得されます。 ドロップダウンを入力します。 次に、階層型名前空間オプションが有効になっている有効な Azure サブスクリプション、リソース グループ、ストレージ アカウントを選択します。これは、ADLS Gen2 フラグです。

[Azure への接続] を選択した後の [設定] ウィンドウのスクリーンショット。

選択したら、[保存] を選択します。これで、ワークスペースが独自の ADLS Gen2 アカウントに正常に接続されます。 Power BI により、必要なアクセス許可を使用してストレージ アカウントが自動的に構成され、データが書き込まれる Power BI ファイル システムが設定されます。 この時点で、このワークスペース内のすべてのデータフローのデータはこのファイル システムに直接書き込まれ、他の Azure サービスで使用できるようになります。 これで、すべての組織または部門のデータに対して 1 つのソースが作成されました。

Azure 接続の構成

Azure 接続の構成は、省略可能な設定であり、必要に応じて設定できる追加のプロパティがあります。

  • 既定値を設定できるテナント レベルのストレージと、
  • ワークスペースごとに接続を指定できるワークスペースレベルのストレージです

一元化されたデータ レイクのみを使用する場合、またはこのストレージを既定オプションにする場合は、必要に応じてテナントレベルのストレージを構成できます。 構成に柔軟性を持たせるために、既定値の使用が自動的に開始されることはないので、必要に応じて、この接続を使用するワークスペースを柔軟に構成できます。 テナントによって割り当てられた ADLS Gen 2 アカウントを構成する場合でも、この既定のオプションを使用するように各ワークスペースを構成する必要があります。

必要に応じて、または追加で、ワークスペースレベルのストレージのアクセス許可を個別のオプションとして構成できます。これにより、ワークスペースごとに特定の ADLS Gen 2 アカウントを設定するための完全な柔軟性が得られます。

要約すると、テナントレベルのストレージとワークスペースレベルのストレージのアクセス許可が許可されている場合、ワークスペース管理者は、必要に応じて既定の ADLS 接続を使用するか、既定とは別のストレージ アカウントを構成することを選択できます。 テナント ストレージが設定されていない場合、ワークスペース管理者は、必要に応じてワークスペースごとに ADLS アカウントを構成できます。 最後に、テナントレベルのストレージが選択され、ワークスペースレベルのストレージが許可されていない場合、ワークスペース管理者は、必要に応じてこの接続を使用するようにデータフローを構成できます。

ADLS Gen 2 ワークスペース接続の構造と形式

ADLS Gen 2 ストレージ アカウント内では、すべてのデータフローがファイルシステムの powerbi コンテナーに格納されます。

powerbi コンテナーの構造は次のようになっています。<workspace name>/<dataflow name>/model.json <workspace name>/<dataflow name>/model.json.snapshots/<all snapshots>

データフローによって ADLS Gen 2 のフォルダー階層にデータが格納される場所は、ワークスペースが共有容量と Premium 容量のどちらにあるかによって決まります。 容量の種類ごとに、更新後のファイル構造を次の表に示します。

Premium 容量 共有された容量
<workspace name>/<dataflow name>/<table name>/<tablesnapshots> <workspace name>/<dataflow name>/<table name>/<tablesnapshots>

Northwind Odata サンプルの Orders テーブルを使用した例を次に示します。

Northwind Odata サンプルの Orders テーブルを使用した例を示すエクスプローラーのスクリーンショット。

上の図では、次の手順を実行します。

  • model.json は、データフローの最新バージョンです。
  • model.json.snapshots は、データフローのすべての旧バージョンです。 この履歴は、以前のバージョンのマッシュアップまたは増分設定が必要な場合に便利です。
  • table.snapshots.csv は、更新から取得したデータです。 このファイルは、増分更新や、データ サイズが原因でユーザーに更新タイムアウトの問題が発生している共有の更新に対しても役立ちます。 最新のスナップショットを参照して、CSV ファイルに含まれているデータの量を確認できます。

このストレージ アカウントには書き込むだけで、現在のところデータの削除は行いません。 つまり、接続解除しても ADLS アカウントからは削除されないため、上記の一覧のすべてのファイルはそのまま保存されます。

注意

model.json ファイルから、同じワークスペース内の別のデータフローであるか、別のワークスペース内のデータフローにある、別の model.json を参照できます。 model.jsontable.snapshot.csv を参照するのは、増分更新の場合のみです。

ADLS Gen 2 ワークスペース接続の拡張性

ADLS Gen 2 を Power BI に接続する場合は、ワークスペースまたはテナントのレベルでこのアクションを行うことができます。 アクセス レベルが適切であることを確認します。 詳細については、「前提条件」を参照してください。

ストレージ構造は、Common Data Model 形式に準拠しています。 ストレージ構造と CDM の詳細については、「分析データフロー用のストレージ構造とは」と「Common Data Model と Azure Data Lake Storage Gen2 を使用する」を参照してください。

適切に構成すると、コントロールにデータとメタデータが含まれるようになります。 多くのアプリケーションは CDM を認識しており、Azure、PowerApps、PowerAutomate を使用してデータを拡張できます。 形式に準拠するか、生データを読み取ることによって、サードパーティーのエコシステムを使用することもできます。

Azure Data Lake Gen 2 をワークスペースまたはテナントから接続解除する

ワークスペース レベルで接続を削除するには、まず、ワークスペース内のすべてのデータフローを確実に削除する必要があります。 すべてのデータフローが削除されたら、ワークスペースの設定で [接続解除] を選択します。 同じことがテナントにも当てはまります。ただし、テナント レベルで接続解除する場合は、その前にまず、すべてのワークスペースをテナント ストレージ アカウントから確実に接続解除する必要があります。

Azure Data Lake Gen 2 を無効にする

管理ポータル[データフロー] で、ユーザーがこの機能を使用するためのアクセスを無効にしたり、ワークスペース管理者が独自の Azure Storage を使用するのを禁止したりすることができます。

Azure Data Lake Gen 2 を元に戻す

Azure Data Lake Gen 2 を使用するようにデータフロー ストレージを構成した後、自動的に元に戻す方法はありません。 Power BI で管理されたストレージに戻すプロセスは、手動です。

実施した Gen 2 への移行を元に戻すには、データフローを削除してから同じワークスペースに再作成する必要があります。 ADLS Gen 2 からはデータを削除しないため、次にリソース自体にアクセスしてデータをクリーンアップします。 このアクションには次のようなステップが含まれます。

  1. Power BI からデータフローのコピーをエクスポートします。 または、model.json ファイルをコピーします。 model.json ファイルは ADLS に格納されています。

  2. データフローを削除します。

  3. ADLS を接続解除します。

  4. インポートを使用してデータフローを再作成します。 インポートする前に、増分更新データ (該当する場合) を削除する必要があります。 このアクションを行うには、model.json ファイル内の関連するパーティションを削除します。

  5. 更新または再作成の増分更新ポリシーを構成します。

ADLS Gen 2 コネクタを使用してデータに接続する

このドキュメントの範囲では、ADLS Gen 2 データフロー接続について説明し、Power BI ADLS Gen 2 コネクタについては説明しません。 ADLS Gen 2 コネクタの使用は、別の、場合によっては追加のシナリオです。 ADLS コネクタは、ADLS を単純にデータソースとして使用します。 そのため、Power Query Online を使用してそのデータに実行するクエリは、CDM 形式である必要はありません。お客様が希望するデータ形式にすることができます。 詳細については、「Azure Data Lake Storage Gen2」を参照してください。

次のステップ

データフローと Power BI の詳細については、以下の記事を参照してください。