OneLakeでテーブルに 行レベルのセキュリティ(RLS) や カラムレベルのセキュリティ(CLS )を適用する場合、データを読み取れるかどうか、そしてどのようにデータを読み取れるかは、クエリに使うエンジンによって異なります。 この記事では、どのエンジンが安全なデータを読み取れるか、各エンジンの要件、そしてデータ消費者として期待できる強制行動について説明します。
セキュリティルールの定義方法を学びたい方は、「 OneLakeのセキュリティロールを作成および管理」をご覧ください。 基礎となる概念については、 OneLakeのテーブル、カラム、行レベルのセキュリティを参照してください。
安全データを読み取れるエンジン
FabricエンジンはRLSまたはCLSルールが適用されたテーブルを読み取ることができます。 OneLakeのデータアクセスは、以下の2つの方法のいずれかで行われます。
- クエリエンジンを通じて:Fabricエンジンや認可されたサードパーティエンジンはRLSとCLSフィルタリングを適用するため、許可された行と列だけが表示されます。
- ユーザーアクセスを通じて: 非認可の外部エンジンからのクエリはユーザーアクセスとして扱われます。 テーブル内のすべての行や列を表示できない場合、クエリはブロックされます。
以下の表は、RLSおよびCLSフィルタリングをサポートするエンジンを示しています。
| Engine | RLS/CLSフィルタリング | 地位 |
|---|---|---|
| Eventhouse | RLS のみ | パブリック プレビュー |
| Fabricにおけるグラフ | はい | GA |
| Lakehouse | はい | GA |
| OneLake モードでの Direct Lake を使用したセマンティック モデル | はい | GA |
| Spark ノートブック | はい | GA |
| ユーザーのアイデンティティアクセスモードにおけるSQL分析エンドポイント | はい | GA |
| 認可されたサードパーティ製エンジン | はい(エンジンが実装した場合) | パブリック プレビュー |
エンジン固有の要件
一部のエンジンは、セキュアデータを読み取る前に追加の設定が必要です:
- SQL分析エンドポイント:SQL分析エンドポイントをユーザーのアイデンティティアクセスモードに変更し、安全なデータを読み取れるようにします。
- 意味論モデル: セマンティックモデルは OneLake上のDirect Lakeを使用しなければなりません。
- 認可されたサードパーティ製エンジン: クエリ時にOneLakeのセキュリティを強制するために 、エンジンは認可されたエンジン として設定されなければなりません。
認可されたサードパーティエンジンからのデータアクセス
認可されたサードパーティエンジンは 、認可されたエンジンAPI を用いてOneLakeからユーザーの実効アクセスを取り戻し、クエリ時にRLSおよびCLSを強制します。 OneLakeは、要求側ユーザーにエンジンに依存しない事前計算された有効アクセス権を返し、エンジンは独自の計算層でポリシーを強制します。 OneLakeは唯一の真実の情報源であり、OneLakeで作成されたセキュリティ定義はFabricエンジンおよび認可された外部エンジン間で一貫して適用されます。
詳細については、「 サードパーティ エンジンと OneLake セキュリティの統合」を参照してください。