OneLake のショートカットは、OneLake 自体内でも、Azure Data Lake Storage (ADLS) などの外部システムでも、さまざまなストレージ アカウントに存在するデータへのポインターとして機能します。 この記事では、ショートカットを作成し、それらを使用してデータにアクセスするために必要なアクセス許可について説明します。
ショートカットのコンポーネントを明確にするために、この記事では次の用語を使用します。
- ターゲット パス: ショートカットが向いている場所。
- ショートカット パス: ショートカットが表示される場所。
ショートカットの作成および削除
ショートカットを作成するには、ショートカットを作成するFabric項目に対する書き込みアクセス許可が必要です。 さらに、ショートカットが指すデータへの読み取りアクセスが必要です。 外部ソースへのショートカットには、外部システムの特定のアクセス許可が必要な場合があります。 「ショートカットとは何か?」記事にはショートカットの種類と必要なアクセス許可の完全なリストが含まれます。
| 機能 | ショートカット パスのアクセス許可 | ターゲット パスに対する権限 |
|---|---|---|
| ショートカットを作成する | アイテムの書き込み権限または OneLake セキュリティ ReadWrite | OneLake セキュリティ読み取り1 |
| ショートカットの削除 | アイテムの書き込み権限または OneLake セキュリティ ReadWrite | 該当なし |
1 OneLake セキュリティをまだサポートしていないアイテムの場合、このアクセス許可はアイテム ReadAll アクセス許可です。
ショートカットへのアクセス
ショートカットのアクセス許可は、ショートカット パスとターゲット パスのアクセス許可の組み合わせによって制御されます。 ユーザーがショートカットにアクセスすると、2 つの場所の最も制限の厳しいアクセス許可が適用されます。 そのため、lakehouse で読み取りと書き込みのアクセス許可を持っているが、ターゲット パスの読み取りアクセス許可のみを持つユーザーは、ターゲット パスに書き込むできません。 同様に、lakehouse で読み取りアクセス許可のみを持っているが、ターゲット パスの読み取りおよび書き込みアクセス許可を持つユーザーも、ターゲット パスに書き込むことはありません。
次の表に、各ショートカット アクションに必要なアクセス許可を示します。
| 機能 | ショートカット パスのアクセス許可 | ターゲット パスに対する権限 |
|---|---|---|
| ショートカットのファイルまたはフォルダーの内容を読み取ります | OneLake セキュリティ読み取り1 | OneLake セキュリティ 読み取り 1, 2 |
| ショートカット ターゲットの場所に書き込む | アイテムの書き込み権限または OneLake セキュリティ ReadWrite | アイテムの書き込み権限または OneLake セキュリティ ReadWrite |
1 OneLake セキュリティをまだサポートしていないアイテムの場合、このアクセス許可はアイテム ReadAll アクセス許可です。
重要
2ID パススルーの例外: OneLake セキュリティは通常、呼び出し元のユーザーの ID を通過してアクセス許可を適用しますが、特定のクエリ エンジンの動作は異なります。 委任された ID モード用に構成された DirectLake over SQL エンジンまたは T-SQL エンジンを使用して Power BI セマンティック モデルを介してショートカット データにアクセスする場合、これらのエンジンは呼び出し元のユーザーの ID をショートカット ターゲットに渡しません。 代わりに、 アイテム所有者の ID を 使用してデータにアクセスし、OneLake セキュリティ ロールを適用して、呼び出し元のユーザーに表示される内容をフィルター処理します。
この条件は次のことを意味します。
- ショートカット ターゲットには、(エンド ユーザーではなく) アイテム所有者のアクセス許可を使用してアクセスします。
- OneLake セキュリティ ロールは、エンド ユーザーが読み取ることができるデータを引き続き決定します
- エンド ユーザーのショートカット ターゲット パスで直接構成されたアクセス許可はすべてバイパスされます
OneLake のセキュリティ
OneLake セキュリティ を使用すると、OneLake に格納されているデータにロールベースのアクセス制御 (RBAC) を適用できます。 Fabric アイテム内の特定のテーブルとフォルダーに読み取りアクセス権を付与し、ユーザーまたはグループに割り当てるセキュリティ ロールを定義できます。 アクセス許可によって、Fabric内のすべてのエンジンでユーザーが実行できる操作が決まります。これによって、一貫性のあるアクセス制御が保証されます。
管理者、メンバー、貢献者の役割を持つユーザーは、ショートカットからデータを読み取る完全なアクセス権を持っています。 ショートカットを作成または更新するには、ターゲットパスへの読み取りアクセスも必要です。
ビューアの役割を持つユーザー、または アイテムの読み取り権限を持つユーザーは、OneLakeのセキュリティロールによってアクセス権が決定されます。 ショートカット操作を行うには、対応するOneLakeのセキュリティ権限とFabric Read権限が必要です。
以下の表は、各ショートカット操作に必要な合計権限を示しています:
| ショートカット操作 | ショートカット パスのアクセス許可 | ターゲット パスに対する権限 |
|---|---|---|
| 作成 | Fabric ReadとOneLakeセキュリティのReadWriteを組み合わせています | OneLake セキュリティ読み取り |
| 読み取り (GET/LIST ショートカット) | Fabric ReadとOneLakeセキュリティリード | 該当なし |
| Update | Fabric ReadとOneLakeセキュリティのReadWriteを組み合わせています | OneLake のセキュリティを読み取る(新しいターゲット) |
| 削除 | Fabric ReadとOneLakeセキュリティのReadWriteを組み合わせています | 該当なし |
ショートカット付きのアクセス制御モデルの詳細については、 OneLakeのデータアクセス制御モデルをご覧ください。
ショートカット認証モデル
OneLake ショートカットでは、パススルーと委任という 2 つの認証モデルが使用されます。 モデルはショートカットの種類によって異なります。
| ショートカットの種類 | 認証モデル | 詳細情報 |
|---|---|---|
| 同じテナントのOneLakeからOneLakeへ | パススルーまたは委任型 | パススルーが既定値です。 代わりに委任認証を使用するには、ショートカットを作成する際に「委任された識別」を選択してください。 |
| クロステナントのワンレイクからワンレイクへ | 委任のみ | クロステナントショートカットを作成する際に、プロデューサーのテナント内で組織アカウントまたはサービスプリンシパルを設定してください。 |
| 外部 (マルチクラウド) | 委任のみ | ユーザーは、外部システムに直接アクセスすることなく外部データにアクセスできます。 ショートカットで OneLake セキュリティを構成して、外部システムでアクセスできるデータを制御します。 |
パススルー認証
パススルー モデルでは、ショートカットはユーザーの ID をターゲット システムに渡すことによって、ターゲットの場所のデータにアクセスします。 ショートカットにアクセスするすべてのユーザーは、ターゲット内のアクセス権を持つデータのみを表示できます。 ソース システムはデータを完全に制御し、アクセス制御をレプリケートまたは再定義する必要はありません。
委任された認証
委任されたモデルでは、ショートカットは、別のユーザーの ID、サービス プリンシパル、アカウント キーなどの中間資格情報を使用してデータにアクセスします。 委任されたショートカットを使用すると、アクセス許可の管理を別のチームまたはダウンストリーム ユーザーに分離または "委任" して管理できます。 OneLake のすべての委任されたショートカットには、OneLake セキュリティ ロールを定義できます。
デフォルトのパススルー動作がデータのアクセスパターンと一致しない場合は、委任認証を使いましょう。 例えば、委任されたショートカットは、各下流ユーザーにソースデータへのアクセスを求める代わりに、事業部門を表す固定接続IDを使用できます。 事業部門は、接続IDに適用されるセキュリティ管理を尊重しながら、ユーザーの OneLakeセキュリティ アクセスを管理できます。
Amazon S3 や Google Cloud Storage などの外部システムへのショートカットでは、常に委任された認証が使用されます。 内部 OneLake ターゲットへのショートカットは、ショートカットの作成時に委任された認証が構成されている場合に使用できます。
委任された OneLake ショートカット
委任された OneLake ショートカットでは、サインインしているユーザーの ID ではなく、構成された接続 ID が使用されます。 委任されたショートカットにアクセスすると、呼び出し元のユーザーは、自分のセキュリティと、委任された ID に適用されるセキュリティの共通部分を確認します。 次の表は、シナリオの例の概要を示しています。
同じテナント間のOneLakeショートカットでは、委任認証は任意です。 もし選ばなければ、ショートカットはパススルー認証を使っています。 クロステナントのOneLakeショートカットは常に委任認証を使用します。 構成された接続 ID は、ターゲット データにアクセスする必要があります。 パススルー認証と委任認証の間で既存のショートカットを切り替えるには、目的の認証方法でショートカットを削除して再作成します。
| ショートカット パス (コンシューマー) に対するアクセス許可 | ターゲット パス (プロデューサー) に対するアクセス許可 | 結果として得られるアクセス権 |
|---|---|---|
| フル アクセス | フル アクセス | フル アクセス |
| フル アクセス | CLS - 列 C1、C2 のみ | CLS - 列 C1、C2 のみ |
| CLS - 列 C1 のみ | CLS - 列 C1、C2 のみ | CLS - 列 C1 のみ |
委任されたショートカットには、次のセキュリティに関する考慮事項が適用されます。
- ユーザーは、プロデューサー側にもRLSがある場合、消費者側でCLSを使ったOneLakeセキュリティの役割を1つ持つことしかできません。
- 列レベルのセキュリティ(CLS)は、委任されたショートカットの生産側と消費者の両方に対応しています。
- 行レベルのセキュリティ(RLS)は、委託されたショートカットのプロデューサー側でサポートされていますが、コンシューマー側では設定できません。
- OneLakeによるプロデューサーパスへのセキュリティアクセスに加え、Sparkや直接APIコールを通じて外部ショートカットにアクセスするには、外部ショートカットパスを含むアイテムの読み取り権限が必要です。