1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft Fabric OneLake ショートカットに対するエンジン間の承認方式の違いについて

Last updated at Posted at 2024-07-04

はじめに

モチベーション

内部 OneLake のショートカットに記載の

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

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

とはどういうことかを確認します。

エンジンと承認のモデル

Microsoft Fabric レイクハウスでのデータアクセス制御の方法メモ でも触れたように、OneLake へのデータアクセスはそれぞれエンジンが異なります。
今回はアイテムの所有者と呼び出し元の関係を意識していきます。

image.png

このとき、ショートカットに対して誰のIDで元のデータにアクセスするのかにエンジンによる差が出るということです。
この記事では、誰の権限でもってアクセスするのかという承認モデルについて、委任モデルSSOモデル と区別します

委任モデル

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

イメージ
image.png

SSOモデル

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

イメージ
image.png

実際に検証してみる

データエンジニア:アイテム所有者
データサイエンティスト:呼び出し元 とします。

権限パターンを以下のようにして、 SQL 分析エンドポイント、レイクハウス表示、ノートブックでの表示を確認します。

権限パターン アイテム所有者(データエンジニア) 呼び出し元(データサイエンティスト)
パターン1 ターゲットパスへの ReadAll アクセス権を 付与しない ターゲットパスへの ReadAll アクセス権を付与する
パターン2 ターゲットパスへの ReadAll アクセス権を 付与する ターゲットパスへの ReadAll アクセス権を付与しない

権限パターン1

権限パターン アイテム所有者(データエンジニア) 呼び出し元(データサイエンティスト)
パターン1 ターゲットパスへの ReadAll アクセス権を 付与しない ターゲットパスへの ReadAll アクセス権を付与する

image.png

※双方、ショートカット先のレイクハウスにはフル権限を持ちます

権限を確認

データサイエンティストはターゲットパスへの権限を持ちますが、データエンジニアはもちません
image.png

アイテムの所有者はデータエンジニアとなっています。
image.png

ターゲットパスに権限をもつデータサイエンティストがショートカットを作成します。
image.png

image.png

SQL 分析エンドポイント結果

データサイエンティスト(呼び出し元)、データエンジニア(アイテム所有者)は双方 SQL 分析エンドポイントでショートカットしたテーブルを表示しようとするとエラーが発生する状態になりました。
これはSQL分析エンドポイントがテーブル同期処理を行う時点で委任モデルにより承認されていると判断できますが、委任先のアイテム所有者がアクセス権のないデータエンジニアであるために、テーブル同期処理を行う時点でショートカットターゲットへのアクセスができずにエラーが起きていると考えられます。

image.png

なお、この SQL 分析エンドポイントに対して同じワークスペースの別のウェアハウスからクロスデータベースクエリしようとした場合でも同じ結果となりました。あくまでショートカットをもつレイクハウス側の所有者により決定するようです。

レイクハウス上の表示結果

ショートカットターゲットに権限をもつデータサイエンティストのみが表示できました。
これはレイクハウス上の表示時のアクセスがSSOモデルで承認されていることを示しています。

データサイエンティストはテーブルデータの表示ができます。
image.png

データサイエンティストはファイルの表示ができます
image.png

データエンジニアはテーブルデータの表示ができません
image.png

データエンジニアはファイルの表示ができません
image.png

ノートブック結果

ショートカットターゲットに権限をもつデータサイエンティストのみが表示できました。
これはノートブックでのアクセスがSSOモデルで承認されていることを示しています。

データサイエンティストはテーブルデータの表示ができます。
image.png

データエンジニアはテーブルデータの表示ができません。Delta Parquet ファイルへのForbiddenエラーが出ています。
image.png

image.png

権限パターン2

権限パターン アイテム所有者(データエンジニア) 呼び出し元(データサイエンティスト)
パターン2 ターゲットパスへの ReadAll アクセス権を 付与する ターゲットパスへの ReadAll アクセス権を付与しない

image.png

※双方、ショートカット先のレイクハウスにはフル権限を持ちます

権限確認

データエンジニアはターゲットパスへの権限を持ちますが、データサイエンティストはもちません
image.png

アイテムの所有者はデータエンジニアとなっています。
image.png

データエンジニアにてショートカットを作成します(画像は割愛)

SQL 分析エンドポイント結果

ショートカット先に権限を持たないデータサイエンティストがショートカットテーブルに対してT-SQLでデータを表示できました。
SQL分析エンドポイントが委任モデルを採用しており、アイテムの所有者の権限で T-SQL でのショートカットターゲットパスへのアクセスがされていることがわかります。

image.png

レイクハウス上の表示結果

なんとデータサイエンティストも表示ができました。レイクハウス上の表示はテーブルデータの表示に対して、SSOか委任のどちらかアクセスができる場合には表示ができるようです。
ただし、ファイル表示自体はSSOで動作しています

データサイエンティストテーブルデータの表示が できます。
image.png

データサイエンティストはファイルの表示ができません
image.png

データエンジニアはテーブルデータの表示ができます。
image.png

データエンジニアはファイルの表示ができます。
image.png

ノートブック結果

ショートカットターゲットに権限をもつデータエンジニアのみが表示できました。
これはノートブックでのアクセスがSSOモデルで承認されていることを示しています。

ノートブックアクセスを確認します。

データサイエンティストはテーブルデータの表示ができません。Delta Parquet ファイルへのForbiddenエラーが出ています。

image.png
image.png

データエンジニアはテーブルデータの表示ができます。
image.png

結果のまとめ

ここまでの結果をまとめます。

権限パターン アイテム所有者(データエンジニア) 呼び出し元(データサイエンティスト) 結果の対象 SQL分析エンドポイント レイクハウス上の表示 ノートブック
パターン1 ターゲットパスへの ReadAll アクセス権を 付与しない ターゲットパスへの ReadAll アクセス権を付与する アイテム所有者 × (テーブル同期エラー) × ×
パターン1 ターゲットパスへの ReadAll アクセス権を 付与しない ターゲットパスへの ReadAll アクセス権を付与する 呼び出し元 × (テーブル同期エラー)
パターン2 ターゲットパスへの ReadAll アクセス権を 付与する ターゲットパスへの ReadAll アクセス権を付与しない アイテム所有者
パターン2 ターゲットパスへの ReadAll アクセス権を 付与する ターゲットパスへの ReadAll アクセス権を付与しない 呼び出し元 ファイル:×
テーブル:〇
× ×

具体的なシナリオでの注意点として考えられること

エンジンによる承認方式の差異は以上のように複雑な仕様となっているため、特にデータの公開範囲と共有のシナリオには詳細な検証が必要と考えられます。

たとえば、 ショートカット作成先のレイクハウスの作成をシステム管理者側であらかじめ実施して、ワークスペースビューアに対してSQLデータ公開 というシナリオは システム管理者側の権限でデータが公開されることになり、大問題となる可能性があるなど、シナリオ個々でのリスク確認が重要です。
このような問題は代理作業から生まれることがほとんどであると考えられるため、ショートカット先のレイクハウス作成など共有されたデータの利用はあくまでデータの消費者自身で実施してもらうことをおすすめします。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?