次の方法で共有


OneLake のショートカット

Microsoft OneLake のショートカットを使用すると、企業全体に対して 1 つの仮想データ レイクを作成することで、ドメイン、クラウド、アカウントにまたがってデータを統合できます。 すべての Fabric エクスペリエンスと分析エンジンが、統合された名前空間経由で、Azure、アマゾン ウェブ サービス (AWS)、OneLake などの既存のデータ ソースに直接接続できます。 アクセス許可と資格情報はすべて OneLake が管理するため、各 Fabric ワークロードを各データ ソースに接続するように個別に構成する必要はありません。 さらに、ショートカットを使用して、データのエッジ コピーを排除し、データ コピーとステージングに関連するプロセス待機時間を短縮できます。

ショートカットとは何か?

ショートカットとは、他の保存場所を指す OneLake 内のオブジェクトです。 場所は、OneLake の内部にも外部にもできます。 ショートカットが指す場所は、ショートカットの ターゲット パスと呼ばれます。 ショートカットが表示される場所は、ショートカット パスと呼ばれます。 ショートカットは OneLake のフォルダーとして表示され、OneLake にアクセスできる任意のワークロードまたはサービスが使用できます。 ショートカットはシンボリック リンクのように動作します。 これらはターゲットから独立したオブジェクトです。 ショートカットを削除しても、ターゲットは影響を受けません。 ターゲット パスを移動、名前変更、または削除すると、ショートカットが中断される可能性があります。

ショートカットが他の場所に保存されているファイルとフォルダーを接続するしくみを示す図。

ショートカットを作成できる場所

レイクハウス および Kusto 照会言語 (KQL) データベースにショートカットを作成できます。 さらに、これらのアイテム内に作成されたショートカットは、他の OneLake の場所、Azure Data Lake Storage (ADLS) Gen2、Amazon S3 ストレージ アカウント、Dataverse を指すことができます。 Fabric オンプレミス データ ゲートウェイ (OPDG) を使用して、オンプレミスまたはネットワーク制限のある場所へのショートカットを作成することもできます。

Fabric UI を使用すると、ショートカットを対話形式で作成できます。また、REST API を使用してプログラムでショートカットを作成することもできます。

レイクハウス

レイクハウスでショートカットを作成するときは、アイテムのフォルダー構造を理解する必要があります。 レイクハウスは、Tables フォルダーと Files フォルダーという 2 つの最上位フォルダーで構成されます。 Tables フォルダーは、構造化データセット用のレイクハウスの管理された部分を表します。 これに対し、Files フォルダーは、非構造化または半構造化データ用のレイクハウスの管理されていない部分です。

Tables フォルダーでは、最上位レベルでのみショートカットを作成できます。 Tables フォルダーのサブディレクトリでは、ショートカットはサポートされていません。 テーブル セクションのショートカットは、通常、OneLake 内の内部ソースを指すか、Delta テーブル形式に準拠する他のデータ資産にリンクしています。 ショートカットのターゲットに Delta\Parquet 形式のデータが含まれている場合、レイクハウスはメタデータを自動的に同期し、フォルダーをテーブルとして認識します。 テーブル セクションのショートカットは、1 つのテーブルまたはスキーマ (複数のテーブルの親フォルダー) にリンクできます。

メモ

デルタ形式は、名前にスペース文字を含むテーブルをサポートしません。 名前にスペースを含むショートカットは、レイクハウス内のデルタ テーブルとして検出されません。

Files フォルダーでは、ショートカットを作成できる場所に制限はありません。 これらは、フォルダー階層の任意のレベルで作成できます。 テーブルの検出は、Files フォルダーでは行われません。 ここでのショートカットは、任意の形式のデータを含む内部 (OneLake) と外部ストレージ システムの両方を指すことができます。

レイク ビューとテーブル ビューを並べて示す図。

KQL データベース

KQL データベースにショートカットを作成すると、データベースの Shortcuts フォルダーに表示されます。 KQL データベースは、ショートカットを外部テーブルと同様に扱います。 ショートカットに対してクエリを実行するには、Kusto 照会言語の external_table 関数を使用します。

KQL データベース内のショートカットのスクリーンショット。

ショートカットにアクセスできる場所

OneLake 内のデータにアクセスできる Fabric または Fabric 以外のサービスが、ショートカットを利用できます。 ショートカットは、OneLake API 経由でデータにアクセスするすべてのサービスに対して透過的です。 ショートカットは単に、レイク内の別のフォルダーとして表示されます。 Apache Spark、SQL、Real-Time Intelligence、Analysis Services はすべて、データのクエリ時にショートカットを使用できます。

Apache Spark

Apache Spark ノートブックと Apache Spark ジョブは、OneLake で作成されたショートカットを利用できます。 相対ファイル パスを使用して、ショートカットからデータを直接読み取ることができます。 さらに、レイクハウスの Tables セクションにショートカットを作成し、それがデルタ形式の場合は、Apache Spark SQL 構文を使用してマネージド テーブルとして読み取ることもできます。

df = spark.read.format("delta").load("Tables/MyShortcut")
display(df)
df = spark.sql("SELECT * FROM MyLakehouse.MyShortcut LIMIT 1000")
display(df)

SQL

レイクハウスの Tables セクションのショートカットは、レイクハウスの SQL 分析エンドポイント経由で読み取ることができます。 SQL 分析エンドポイントには、レイクハウスのモード セレクター、または SQL Server Management Studio (SSMS) 経由でアクセスできます。

SELECT TOP (100) *
FROM [MyLakehouse].[dbo].[MyShortcut]

リアルタイム情報

KQL データベースのショートカットは外部テーブルとして認識されます。 ショートカットに対してクエリを実行するには、Kusto 照会言語の external_table 関数を使用します。

external_table('MyShortcut')
| take 100

分析サービス

Tables セクションにショートカットを含むレイクハウス用に、セマンティック モデルを作成できます。 セマンティック モデルが Direct Lake モードで実行されている場合、Analysis Services はショートカットから直接データを読み取ることができます。

Fabric 以外

Fabric 外のアプリケーションとサービスも、OneLake API 経由でショートカットにアクセスできます。 OneLake は、ADLS Gen2 と Blob Storage API のサブセットをサポートします。 OneLake API の詳細については、API を使用した OneLake アクセスに関する記事を参照してください。

https://onelake.dfs.fabric.microsoft.com/MyWorkspace/MyLakhouse/Tables/MyShortcut/MyFile.csv

ショートカットの種類

OneLake ショートカットは、複数のファイル システム データ ソースをサポートします。 これらには、内部の OneLake の場所、Azure Data Lake Storage (ADLS) Gen2、Amazon S3、S3 Compatible、Google Cloud Storage (GCS)、Dataverse が含まれます。

OneLake 内部のショートカット

内部 OneLake のショートカットを使うと、次のような既存の Fabric 項目内のデータを参照できます。

  • KQL データベース
  • レイクハウス
  • ミラリングされたAzure Databricksカタログ
  • ミラー化データベース
  • セマンティック モデル
  • SQL データベース
  • 倉庫

ショートカットは、同じ項目内、同じワークスペース内の項目間、または異なるワークスペース内の項目間で、フォルダーの場所を指すことができます。 アイテム全体にまたがるショートカットを作成するときは、アイテムの種類が一致する必要はありません。 たとえば、データ ウェアハウス内のデータを指すショートカットをレイクハウスに作成できます。

ユーザーが別の OneLake の場所へのショートカット経由でデータにアクセスすると、OneLake は呼び出し元ユーザーの ID を使って、ショートカットのターゲット パス内のデータへのアクセスを認可します。 このユーザーがデータを読み取るためには、ターゲットの場所のアクセス許可を持っている必要があります。

重要

ユーザーが Power BI セマンティック モデルまたは T-SQL を介してショートカットにアクセスする場合、呼び出し元のユーザーの ID はショートカット ターゲットに渡されません。 代わりに、呼び出し元のアイテム所有者の ID が渡され、呼び出し元ユーザーへのアクセスが委任されます。

Azure Data Lake Storage のショートカット

Azure Data Lake Storage (ADLS) Gen2 ストレージ アカウントへのショートカットを作成すると、ターゲット パスは階層型名前空間内の任意のフォルダーを指すことができます。 ターゲット パスには、少なくともコンテナー名を含める必要があります。

メモ

ADLS Gen 2 ストレージ アカウントで階層型名前空間を有効にする必要があります。

アクセス

ADLS のショートカットは、ストレージ アカウントの DFS エンドポイントを指す必要があります。

例: https://accountname.dfs.core.windows.net/

ストレージ アカウントがストレージ ファイアウォールによって保護されている場合は、信頼されたサービス アクセスを構成できます。 詳細については、「信頼されたワークスペース アクセス」を参照してください。

認可

ADLS のショートカットは、委任された承認モデルを使用します。 このモデルでは、ショートカット作成者が ADLS ショートカットの資格情報を指定し、そのショートカットへのすべてのアクセスがその資格情報を使用して承認されます。 ADLS ショートカットでは、次の委任された承認の種類がサポートされています。

  • 組織アカウント - ストレージ アカウントにストレージ BLOB データ閲覧者、ストレージ BLOB データ共同作成者、またはストレージ BLOB データ所有者ロールが必要です。ストレージ アカウントの Delegator ロールと、ストレージ アカウント内で付与されたファイルまたはディレクトリ アクセス。
  • サービス プリンシパル - ストレージ アカウントに対するストレージ BLOB データ閲覧者、ストレージ BLOB データ共同作成者、またはストレージ BLOB データ所有者ロールが必要です。ストレージ アカウントの Delegator ロールと、ストレージ アカウント内で付与されたファイルまたはディレクトリ アクセス。
  • ワークスペース識別子 - ストレージ アカウントには、ストレージ BLOB データの閲覧者、共同作成者、または所有者ロールが必要です。または、ストレージ アカウントにDelegatorロールが必要で、加えてそのアカウント内でファイルまたはディレクトリ アクセスが付与されている必要があります。
  • Shared Access Signature (SAS) - 少なくとも次のアクセス許可を含める必要があります: 読み取り、一覧表示、実行。

Microsoft Entra ID の委任された承認の種類 (組織アカウント、サービス プリンシパル、またはワークスペース ID) には、ストレージ アカウント レベルでの ユーザー委任キーの生成 アクションが必要です。 このアクションは、ストレージ BLOB データ閲覧者、ストレージ BLOB データ共同作成者、ストレージ BLOB データ所有者、および Delegator ロールの一部として含まれます。 ストレージ アカウント全体のユーザー閲覧者、共同作成者、所有者のアクセス許可を付与しない場合は、代わりに Delegator ロールを割り当てます。 次に、 Azure Data Lake Storage のアクセス制御リスト (ACL) を使用して、詳細なデータ アクセス権を定義します。

重要

ワークスペース ID がワークスペース用に構成され、ADLS ショートカット認証の種類が組織アカウント、サービス プリンシパル、またはワークスペース ID である場合、 ユーザー委任キーの生成 要件は現在適用されていません。 ただし、この動作は今後制限される予定です。 この動作が変更されたときにユーザーのアクセスが影響を受けないように、すべての委任された ID にユーザー 委任キーの生成 アクションがあることを確認することをお勧めします。

Azure Blob Storage のショートカット

アクセス

Azure Blob Storage のショートカットは、ストレージ アカウントのアカウント名または URL を指すことができます。

例: accountname または https://accountname.blob.core.windows.net/

認可

BLOB ストレージのショートカットでは、委任された承認モデルが使用されます。 このモデルでは、ショートカット作成者がショートカットの資格情報を指定し、そのショートカットへのすべてのアクセスがその資格情報を使用して承認されます。 BLOB ショートカットでは、次の委任された承認の種類がサポートされます。

  • 組織アカウント - ストレージ アカウントにストレージ BLOB データ閲覧者、ストレージ BLOB データ共同作成者、またはストレージ BLOB データ所有者ロールが必要です。ストレージ アカウントの Delegator ロールと、ストレージ アカウント内で付与されたファイルまたはディレクトリ アクセス。
  • サービス プリンシパル - ストレージ アカウントに対するストレージ BLOB データ閲覧者、ストレージ BLOB データ共同作成者、またはストレージ BLOB データ所有者ロールが必要です。ストレージ アカウントの Delegator ロールと、ストレージ アカウント内で付与されたファイルまたはディレクトリ アクセス。
  • ワークスペース識別子 - ストレージ アカウントには、ストレージ BLOB データの閲覧者、共同作成者、または所有者ロールが必要です。または、ストレージ アカウントにDelegatorロールが必要で、加えてそのアカウント内でファイルまたはディレクトリ アクセスが付与されている必要があります。
  • Shared Access Signature (SAS) - 少なくとも次のアクセス許可を含める必要があります: 読み取り、一覧表示、実行。

S3 のショートカット

Amazon S3 アカウントへのショートカットを作成するときは、ターゲット パスに少なくともバケット名を含める必要があります。 S3 は階層型名前空間をネイティブにはサポートしていませんが、プレフィックスを使用してディレクトリ構造を模倣できます。 ショートカット パスにプレフィックスを含めて、ショートカット経由でアクセスできるデータのスコープをさらに絞り込むことができます。 S3 のショートカット経由でデータにアクセスすると、プレフィックスがフォルダーとして表されます。

メモ

S3 のショートカットは読み取り専用です。 ユーザーのアクセス許可に関係なく、書き込み操作はサポートされません。

アクセス

S3 のショートカットは、S3 バケットの https エンドポイントを指す必要があります。

例: https://bucketname.s3.region.amazonaws.com/

メモ

S3 ショートカットを機能させるために、S3 アカウントに対して [S3 パブリック アクセスのブロック] 設定を無効にする必要はありません。

S3 エンドポイントへのアクセスは、ストレージ ファイアウォールまたは仮想プライベート クラウドによってブロックされないようにする必要があります。

認可

S3 のショートカットは、委任された承認モデルを使用します。 このモデルでは、ショートカット作成者が S3 ショートカットの資格情報を指定し、そのショートカットへのすべてのアクセスがその資格情報を使用して承認されます。 サポートされる委任された資格情報は、IAM ユーザーのキーとシークレットです。

IAM ユーザーは、ショートカットが指しているバケットに対して次のアクセス許可を持っている必要があります。

  • S3:GetObject
  • S3:GetBucketLocation
  • S3:ListBucket

S3 ショートカットでは、SSE-KMS 暗号化に S3 バケット キーを使う S3 バケットがサポートされています。 SSE-KMS 暗号化で暗号化されたデータにアクセスするには、ユーザーはバケット キーの暗号化と暗号化解除のアクセス許可を持っている必要があります。そうでない場合、"許可されていません" エラー (403) を受け取ります。 詳しくは、「新しいオブジェクトで SSE-KMS の S3 バケットキーを使用するようにバケットを設定する」をご覧ください。

Google Cloud Storage のショートカット

GOOGLE Cloud Storage (GCS) へのショートカットは、GCS 用 XML API を使用して作成できます。 Google Cloud Storage へのショートカットを作成するとき、ターゲット パスには少なくともバケット名を含める必要があります。 また、ストレージ階層内で指すプレフィックス/フォルダーをさらに指定することで、ショートカットのスコープを制限することもできます。

メモ

GCS のショートカットは読み取り専用です。 ユーザーのアクセス許可に関係なく、書き込み操作はサポートされません。

アクセス

GCS ショートカット用の接続を構成する場合は、ストレージ サービスのグローバル エンドポイントを指定するか、バケット固有のエンドポイントを使用できます。

  • グローバル エンドポイントの例: https://storage.googleapis.com
  • バケット固有のエンドポイントの例: https://<BucketName>.storage.googleapis.com

認可

GCS のショートカットは、委任された承認モデルを使用します。 このモデルでは、ショートカット作成者が S3 ショートカットの資格情報を指定し、そのショートカットへのすべてのアクセスがその資格情報を使用して承認されます。 サポートされている委任された資格情報は、サービス アカウントまたはユーザー アカウントの HMAC キーとシークレットです。

アカウントには、GCS バケット内のデータにアクセスするためのアクセス許可が必要です。 バケット固有のエンドポイントがショートカットの接続で使われた場合、アカウントには次のアクセス許可が必要です。

  • storage.objects.get
  • stoage.objects.list

ショートカットの接続でグローバル エンドポイントが使用された場合、アカウントには次のアクセス許可も必要です。

  • storage.buckets.list

Dataverse ショートカット

Dataverse と Microsoft Fabric の直接統合により、組織は Dynamics 365 エンタープライズ アプリケーションとビジネス プロセスを Fabric に拡張できます。 この統合は、ショートカットを使用して実現されます。これは、PowerApps Maker ポータルまたは Fabric を直接使用する 2 つの方法で作成できます。

メモ

Dataverse ショートカットは読み取り専用です。 ユーザーのアクセス許可に関係なく、書き込み操作はサポートされません。

PowerApps 作成者ポータルを使用したショートカットの作成

許可された PowerApps ユーザーは、PowerApps メーカー ポータルにアクセスし、Microsoft Fabric へのリンク機能を使用できます。 この 1 つのアクションから、Fabric にレイクハウスが作成され、Dataverse 環境の各テーブルに対するショートカットが自動的に生成されます。

詳細については、「Dataverse と Microsoft Fabric の直接統合」を参照してください。

Fabric を使用したショートカットの作成

ファブリック ユーザーは、Dataverse へのショートカットを作成することもできます。 ユーザーがショートカットを作成すると、 Dataverse を選択し、環境の URL を指定して、使用可能なテーブルを参照できます。 このエクスペリエンスでは、ユーザーはすべてのテーブルを取り込むのではなく、特定のテーブルを選んで Fabric に取り込むことができます。

メモ

Dataverse テーブルは、Fabric のショートカット UX に表示される前に、Dataverse Managed Lake で使用できる必要があります。 テーブルが Fabric から表示されない場合は、PowerApps Maker ポータルから Microsoft Fabric へのリンク 機能を使用します。

認可

Dataverse のショートカットは、委任された承認モデルを使用します。 このモデルでは、ショートカット作成者が Dataverse ショートカットの資格情報を指定し、そのショートカットへのすべてのアクセスがその資格情報を使用して承認されます。 サポートされている委任された資格情報の種類は、組織アカウント (OAuth2) です。 組織アカウントには、Dataverse マネージド レイク内のデータにアクセスするためのシステム管理者のアクセス許可が必要です。

メモ

Dataverse ショートカットは、現在、サービス プリンシパルを認証の種類としてサポートしていません。

キャッシュ

ショートカット キャッシュを使うと、クラウド間のデータ アクセスに関連するエグレス コストを削減できます。 ファイルが外部ショートカットで読み取られる際、そのファイルは Fabric ワークスペースのキャッシュに格納されます。 後続の読み取り要求は、リモート ストレージ プロバイダーではなくキャッシュから行われます。 キャッシュされたファイルの保持期間は、1 日から 28 日まで設定できます。 ファイルにアクセスするたびに、保持期間がリセットされます。 リモート ストレージ プロバイダー内のファイルがキャッシュ内のファイルよりも新しい場合、要求はリモート ストレージ プロバイダーから提供され、更新されたファイルはキャッシュに格納されます。 選択したリテンション期間を超えてファイルにアクセスされていない場合は、キャッシュから消去されます。 サイズが 1 GB を超える個々のファイルはキャッシュされません。

メモ

現在、ショートカット キャッシュは、GCS、S3、S3 互換と、オンプレミス データ ゲートウェイのショートカットでのみサポートされています。

ショートカットのキャッシュを有効にするには、[ワークスペースの設定] パネルを開きます。 [OneLake] タブを選択します。キャッシュの設定を [オン] に切り替え、[保持期間] を選択します。

また、キャッシュはいつでもクリアできます。 同じ設定ページで、[キャッシュのリセット] ボタンを選びます。 この操作により、このワークスペース内のショートカット キャッシュからすべてのファイルが削除されます。

OneLake タブが選択されているワークスペース設定パネルのスクリーンショット。

ショートカットがクラウド接続を利用するしくみ

ADLS と S3 のショートカット承認は、クラウド接続を使用して委任されます。 新しい ADLS または S3 のショートカットを作成する場合、ユーザーは新しい接続を作成するか、データ ソースの既存の接続を選択します。 ショートカットの接続の設定は、バインド操作です。 バインド操作を実行できるのは、接続に対するアクセス許可を持つユーザーのみです。 ユーザーが接続に対するアクセス許可を持っていない場合、その接続を使用する新しいショートカットを作成することはできません。

ショートカットのセキュリティ

ショートカットを管理および使用するには、特定の権限が必要です。 OneLake ショートカット セキュリティ は、ショートカットを作成し、それらを使用してデータにアクセスするために必要な権限を確認します。

ショートカットは削除をどのように処理しますか?

ショートカットは、連鎖削除を実行しません。 ショートカットを削除すると、ショートカット オブジェクトのみが削除されます。 ショートカット ターゲット内のデータは変更されないままです。 一方、ショートカット内のファイルまたはフォルダーを削除し、ショートカット ターゲット内で削除操作を実行するアクセス許可を持っている場合は、そのファイルやフォルダーがターゲット内で削除されます。

たとえば、次のパスを含むレイクハウスについて考えます: MyLakehouse\Files\MyShortcut\Foo\BarMyShortcut は、Foo\Bar ディレクトリを含む ADLS Gen2 アカウントを指すショートカットです。

次のパスで削除操作を実行できます: MyLakehouse\Files\MyShortcut。 この場合、MyShortcut ショートカットはレイクハウスから削除されますが、ADLS Gen2 アカウント Foo\Bar 内のファイルとディレクトリは影響を受けません。

次のパスでも削除操作を実行できます: MyLakehouse\Files\MyShortcut\Foo\Bar。 このケースでは、ユーザーが ADLS Gen2 アカウントの書き込みアクセス許可を持っている場合、Bar ディレクトリが ADLS Gen2 アカウントから削除されます。

ワークスペースの系列ビュー

ワークスペース内の複数の Fabric アイテム間にショートカットを作成するとき、ワークスペースの系列ビューを使用してショートカットのリレーションシップを視覚化できます。 ワークスペース エクスプローラーの右上隅にある系列ビュー ボタン () を選択します。

ショートカット関係を視覚化する系列ビュー画面のスクリーンショット。

メモ

系列ビューのスコープは 1 つのワークスペースです。 選択したワークスペースの外部の場所へのショートカットは表示されません。

制限と考慮事項

  • Fabric アイテムあたりのショートカットの最大数は 100,000 です。 このコンテキストでは、項目という用語は、アプリ、レイクハウス、ウェアハウス、レポートなどを指します。
  • 1 つの OneLake パス内のショートカットの最大数は 10 です。
  • ショートカット リンクへの直接ショートカットの最大数は 5 です。
  • ADLS と S3 のショートカット ターゲット パスに、RCF 3986 セクション 2.2 の予約文字を含めることはできません。 使用できる文字については、「RFC 3968 セクション 2.3」を参照してください。
  • OneLake のショートカット名、親パス、ターゲット パスに "%" や "+" の文字を含めることはできません。
  • ショートカットでは、ラテン文字以外の文字はサポートされません。
  • Copy Blob API は、ADLS または S3 のショートカットではサポートされません。
  • copy 関数は、ADLS コンテナーを直接指すショートカットでは機能しません。 ADLS のショートカットは、コンテナーの少なくとも 1 レベル下にあるディレクトリに対して作成することをお勧めします。
  • ADLS または S3 ショートカット内に他のショートカットを作成することはできません。
  • 現在、データ ウェアハウスおよびセマンティック モデルへのショートカットの系統は使用できません。
  • ファブリック ショートカットはソースとほぼ瞬時に同期されますが、データ ソースのパフォーマンス、キャッシュされたビュー、またはネットワーク接続の問題により、伝達時間が異なる場合があります。
  • Table API が新しいショートカットを認識するまでに、最大で 1 分かかる場合があります。
  • OneLake ショートカットでは、マネージド プライベート エンドポイントを使う ADLS Gen2 ストレージ アカウントへの接続はサポートされていません。 詳しくは、Fabric のマネージド プライベート エンドポイントに関する記事をご覧ください。