ロールベースのアクセス制御 (RBAC)
OneLake RBAC では、ロールの割り当てを使用して、そのメンバーにアクセス許可を適用します。 ロールは、個人またはセキュリティ グループ、Microsoft 365 グループ、および配布リストに割り当てることができます。 ユーザー グループ内のすべてのメンバーは、割り当てられたロールを取得します。
2 つ以上のセキュリティ グループまたは Microsoft 365 グループに含まれているユーザーは、ロールによって提供される最高レベルのアクセス許可を取得します。 ユーザー グループを入れ子にしてグループにロールを割り当てると、含まれるすべてのユーザーにアクセス許可が与えられます。
OneLake RBAC を使用すると、ユーザーはレイクハウス アイテムのみのデータ アクセス ロールを定義できます。
OneLake RBAC は、ワークスペース ビューアー を使用するユーザーまたはレイクハウスへの読み取りアクセス権を持つユーザーのデータ アクセスを制限します。 ワークスペースの管理者、メンバー、共同作成者には適用されません。 その結果、OneLake RBAC では読み取りレベルのアクセス許可のみがサポートされます。
RRBAC のロールを作成する方法
レイクハウス データ アクセス設定を使用して、OneLake RBAC ロールを定義および管理できます。
詳細については、「データ アクセス ロールの概要」を参照してください。
レイクハウスの既定の RBAC ロール
ユーザーが新しいレイクハウスを作成すると、OneLake によって Default Readers
と呼ばれる既定の RBAC ロールが生成されます。 このロールでは、ReadAll アクセス許可を持つすべてのユーザーがアイテム内のすべてのフォルダーを読み取ることができます。
既定のロールの定義を次に示します。
Fabric アイテム | Role Name | 権限 | フォルダーが含まれる | 割り当てられたメンバー |
---|---|---|---|---|
レイクハウス | DefaultReader |
ReadAll | Tables/ および Files/ のすべてのフォルダー |
ReadAll アクセス許可を持つすべてのユーザー |
Note
特定のユーザーまたは特定のフォルダーへのアクセスを制限するには、既定のロールを変更するか、削除して新しいカスタム ロールを作成する必要があります。
OneLake RBAC での継承
特定のフォルダーに対して、OneLake RBAC アクセス許可は常にフォルダーのファイルとサブフォルダーの階層全体に継承されます。
たとえば、OneLake のレイクハウスの次の階層が考えられます。
Tables/
──── (empty folder)
Files/
────folder1
│ │ file11.txt
│ │
│ └───subfolder11
│ │ file1111.txt
| │
│ └───subfolder111
| │ file1111.txt
│
└───folder2
│ file21.txt
特定の階層の Role1
と Role2
の OneLake RBAC アクセス許可は、次の方法で継承します。
ロール | アクセス許可 | アクセス許可で定義されているフォルダー | アクセス許可を継承するフォルダーとファイル |
Role1 | 読み取り | folder1 |
|
Role2 | 読み取り | folder2 |
|
OneLake RBAC でのトラバーサルと一覧表示
OneLake RBAC では、データを簡単に検出できるように、親項目の自動トラバーサルが提供されます。 ユーザーにサブフォルダー 11 への読み取りを許可すると、親ディレクトリ folder1 を一覧表示および走査する権限がユーザーに付与されます。 この機能は、サブフォルダーへのアクセス権を付与すると、親ディレクトリの検出と走査が提供される Windows フォルダーのアクセス許可に似ています。 親に付与されたリストとトラバーサルは、直接の親の外部の他の項目には拡張されず、他のフォルダーのセキュリティが確保されます。
たとえば、OneLake のレイクハウスの次の階層が考えられます。
Tables/
──── (empty folder)
Files/
────folder1
│ │ file11.txt
│ │
│ └───subfolder11
│ │ file111.txt
| │
│ └───subfolder111
| │ file1111.txt
│
└───folder2
│ file21.txt
特定の階層では、'Role1' の OneLake RBAC アクセス許可によって次のアクセスが提供されます。 サブフォルダー 11 の親ではないため、file11.txt へのアクセスは表示されないことに注意してください。 Role2 の場合も同様に、file111.txt も表示されません。
ロール | アクセス許可 | アクセス許可で定義されているフォルダー | アクセス許可を継承するフォルダーとファイル |
Role1 | 読み取り | subfolder11 |
|
Role2 | 読み取り | subfolder111 |
|
ショートカットの場合、一覧表示の動作は若干異なります。 外部データ ソースへのショートカットはフォルダーと同じように動作しますが、他の OneLake の場所へのショートカットには特殊な動作があります。 OneLake ショートカットへのアクセスは、ショートカットのターゲット アクセス許可によって決定されます。 ショートカットを一覧表示する場合、ターゲット アクセスをチェックするための呼び出しは行われません。 その結果、ディレクトリを一覧表示すると、ユーザーのターゲットへのアクセスに関係なく、すべての内部ショートカットが返されます。 ユーザーがショートカットを開こうとすると、アクセス チェックが評価され、ユーザーには必要なアクセス許可を持つデータのみが表示されます。 ショートカットの詳細については、「ショートカットのセキュリティー」セクションを参照してください。
以下の例では、次のフォルダー階層を使用します。
Files/
────folder1
│
└───shortcut2
|
└───shortcut3
ロール | アクセス許可 | アクセス許可で定義されているフォルダー | ファイルの一覧表示の結果 |
Role1 | 読み取り | folder1 |
|
Role2 | N/A | N/A |
|
Fabric アクセス許可を使用して OneLake RBAC アクセス許可を評価する方法
ワークスペースとアイテムのアクセス許可を使用すると、特定のアイテムに対して OneLake のデータへの "粒度の粗い" アクセス権を付与できます。 OneLake RBAC アクセス許可を使用すると、OneLake のデータ アクセスを特定のフォルダーのみに制限できます。
OneLake RBAC とワークスペースのアクセス許可
ワークスペース アクセス許可は、OneLake 内のデータの最初のセキュリティ境界です。 各ワークスペースは、チームがデータの共同作業を行うことができる単一のドメインまたはプロジェクト領域を表します。 ワークスペース内のセキュリティは、Fabric ワークスペース ロールを使って管理します。 Fabric のロールベースのアクセス制御 (RBAC) の詳細については、ワークスペース ロールを参照してください。
Fabric のワークスペース ロールは、OneLake で次のアクセス許可を付与します。
権限 | 管理者 | Member | Contributor | ビューアー |
---|---|---|---|---|
OneLake でファイルを表示する | 常に*はい | 常に*はい | 常に*はい | 既定では、いいえ。 OneLake RBAC を使用してアクセス権を付与します。 |
OneLake でファイルを書き込む | 常に*はい | 常に*はい | 常に*はい | いいえ |
Note
*ワークスペース 管理者ロール、メンバーロール、および共同作成者ロールは自動的に OneLake に書き込みアクセス許可を付与するため、OneLake RBAC の読み取りアクセス許可はオーバーライドされます。
ワークスペース ロール | OneLake は RBAC 読み取りアクセス許可を適用しますか? |
---|---|
管理者、共同作成者、メンバー | いいえ。OneLake セキュリティでは、OneLake RBC の読み取りアクセス許可は無視されます |
[ビューアー] | はい。定義されている場合、OneLake RBAC の読み取りアクセス許可が適用されます |
OneLake RBAC とレイクハウスのアクセス許可
ワークスペース内では、Fabric のアイテムはワークスペース ロールとは別に構成されたアクセス許可を持つことができます。 アクセス許可は、項目を共有するか、項目のアクセス許可を管理することによって構成できます。 次のアクセス許可によって、OneLake のデータに対してユーザーがアクションを実行できるかどうかが決まります。
レイクハウスのアクセス許可
レイクハウスのアクセス許可 | OneLake でファイルを表示できるか? | OneLake でファイルを書き込めるか? | SQL 分析エンドポイントを介してデータを読み取ることができますか? |
---|---|---|---|
読み込み | 既定では、いいえ。OneLake RBAC を使用してアクセス権を付与します。 | いいえ | いいえ |
ReadAll | 既定では、はい。 OneLake RBAC を使用してアクセスを制限します。 | いいえ | いいえ |
書き込み | はい | イエス | はい |
実行、再共有、ViewOutput、ViewLogs | N/A - 単独では付与できません | N/A - 単独では付与できません | N/A - 単独では付与できません |
OneLake RBAC とレイクハウス SQL 分析エンドポイントのアクセス許可
SQL 分析エンドポイントは、Microsoft Fabric のレイクハウスから自動的に生成されるウェアハウスです。 お客様は、レイクハウスの "Lake" ビュー (Data Engineering と Apache Spark をサポート) から、同じレイクハウスの "SQL" ビューに移行できます。 SQL 分析エンドポイントの詳細については、Data Warehouse のドキュメント「SQL 分析エンドポイント」を参照してください。
SQL 分析エンドポイントのアクセス許可 | OneLake エンドポイント経由でファイルを表示できますか? | OneLake エンドポイント経由でファイルの書き込みができますか? | SQL 分析エンドポイントを介してデータを読み取ることができますか? |
---|---|---|---|
読み込み | 既定では、いいえ。OneLake RBAC を使用してアクセス権を付与します。 | いいえ | 既定では、いいえ。ただし、SQL の詳細なアクセス許可を使用して構成できます |
ReadData | 既定では、いいえ。 OneLake RBAC を使用してアクセス権を付与します。 | いいえ | はい |
書き込み | はい | イエス | はい |
OneLake RBAC と既定のレイクハウス セマンティック モデルのアクセス許可
Microsoft Fabric では、ユーザーがレイクハウスを作成すると、関連付けられている既定のセマンティック モデルもプロビジョニングされます。 既定のセマンティック モデルでは、レイクハウス データの上にメトリックがあります。 このセマンティック モデルにより、Power BI でレポート用のデータを読み込むことができます。
既定のセマンティック モデルのアクセス許可 | OneLake でファイルを表示できるか? | OneLake でファイルを書き込めるか? | セマンティック モデルでスキーマを確認できますか? | セマンティック モデルでデータの読み取りはできますか? |
---|---|---|---|---|
読み込み | 既定では、いいえ。OneLake RBAC を使用してアクセス権を付与します。 | いいえ | いいえ | 既定では、はい。 Power BI オブジェクト レベル セキュリティと Power BI 行レベル セキュリティを使用して制限できます |
ビルド | 既定では、はい。 OneLake RBAC を使用してアクセスを制限します。 | はい | イエス | はい |
書き込み | はい | イエス | イエス | はい |
再共有する | N/A - 単独では付与できません | N/A - 単独では付与できません | N/A - 単独では付与できません | N/A - 単独では付与できません |
レイクハウスの共有と OneLake RBAC のアクセス許可
レイクハウスを共有すると、ユーザーは、ワークスペースとその他の項目へのアクセス権を付与することなく、他のユーザーまたはユーザーのグループにレイクハウスへのアクセス権を付与します。 共有レイクハウスは、データ ハブまたは Microsoft Fabrics の [自分と共有] セクションで確認できます。
レイクハウスを共有すると、SQL 分析エンドポイントおよび関連するデフォルト セマンティック モデルへのアクセス権も付与できます。
共有オプション | OneLake でファイルを表示できるか? | OneLake でファイルを書き込めるか? | SQL 分析エンドポイントを介してデータを読み取ることができますか? | セマンティック モデルを表示および構築できますか? |
---|---|---|---|---|
追加のアクセス許可が選択されていません | 既定では、いいえ。OneLake RBAC を使用してアクセス権を付与します。 | いいえ | いいえ | いいえ |
すべての Apache Spark を読み取る | 既定では、はい。 OneLake RBAC を使用してアクセスを制限します。 | いいえ | いいえ | いいえ |
すべての SQL エンドポイント データを読み取る | 既定では、いいえ。OneLake RBAC を使用してアクセス権を付与します。 | いいえ | 有効 | いいえ |
既定のデータセットでレポートを作成します | 既定では、はい。 OneLake RBAC を使用してアクセスを制限します。 | いいえ | 番号 | はい |
データ共有アクセス許可モデルの詳細については、以下をご覧ください。
ショートカット
内部ショートカットの OneLake RBAC
レイクハウス内の任意のフォルダーの場合、RBAC アクセス許可は常に、このフォルダーがターゲットとして定義されているすべての内部ショートカットに継承されます。
ユーザーが別の OneLake の場所へのショートカット経由でデータにアクセスすると、ショートカットのターゲット パス内のデータへのアクセスを承認するために、呼び出し元のユーザーの ID が使用されます*。 結果として、このユーザーがデータを読み取るためには、ターゲットの場所の OneLake RBAC アクセス許可を持っている必要があります。
重要
Power BI セマンティック モデルまたは T-SQL を介してショートカットにアクセスする場合、呼び出し元のユーザーの ID はショートカット ターゲットに渡されません。 代わりに、呼び出し元のアイテム所有者の ID が渡され、呼び出し元ユーザーへのアクセスが委任されます。
内部ショートカットに対する RBAC アクセス許可の定義は許可されず、ターゲット項目にあるターゲット フォルダーで定義する必要があります。 RBAC のアクセス許可の定義はレイクハウス アイテムのみに限定されるため、OneLake では、Lakehouse アイテム内のフォルダーを対象とするショートカットに対してのみ RBAC アクセス許可が有効になります。
次の表では、OneLake RBAC アクセス許可の定義に対応するショートカット シナリオがサポートされているかどうかを示します。
内部ショートカット のシナリオ | OneLake RBAC のアクセス許可がサポートされていますか? | Comments |
---|---|---|
同じレイクハウスにある folder2 を指す lakehouse1 のショートカット。 | サポート対象。 | ショートカット内のデータへのアクセスを制限するには、folder2 の OneLake RBAC を定義します。 |
別のlakehouse2 にある folder2 を指す lakehouse1 のショートカット | サポート対象。 | ショートカット内のデータへのアクセスを制限するには、lakehouse2 の folder2 に OneLake RBAC を定義します。 |
datawarehouse にあるテーブルを指すレイクハウス内の ショートカット | サポートされていません。 | OneLake では、datawarehouse での RBAC アクセス許可の定義はサポートされていません。 代わりに、アクセスは ReadAll アクセス許可に基づいて決定されます。 |
KQL データベースにあるテーブルを指すレイクハウス内の ショートカット | サポートされていません。 | OneLake では、KQL データベースでの RBAC アクセス許可の定義はサポートされていません。 代わりに、アクセスは ReadAll アクセス許可に基づいて決定されます。 |
外部ショートカットの OneLake RBAC (ADLS、S3、Dataverse)
OneLake では、ADLS、S3、Dataverse ショートカットなどの ショートカットに対する RBAC アクセス許可の定義がサポートされています。 この場合、RBAC モデルは、この種類のショートカットに対して有効になっている委任された承認モデルに加えて適用されます。
たとえば、user1 は、AWS S3 バケット内のフォルダーを指す S3 ショートカットをレイクハウスに作成するとします。 その後、user2 はこのショートカット内のデータにアクセスしようとしています。
S3 接続は、委任された user1 のアクセスを承認しますか? | OneLake RBAC は、要求している user2 のアクセスを承認しますか? | 結果: user2 は S3 ショートカットのデータにアクセスできますか? |
---|---|---|
はい | イエス | はい |
いいえ | いいえ | いいえ |
番号 | 有効 | いいえ |
有効 | いいえ | いいえ |
RBAC アクセス許可は、ショートカットのスコープ全体 (ターゲット フォルダー全体) に対して定義する必要がありますが、すべてのサブフォルダーとファイルに再帰的に継承されます。
S3、ADLS、Dataverse ショートカットの詳細については、「OneLake ショートカット」を参照してください。
OneLake RBAC の制限
次の表に、OneLake データ アクセス ロールの制限事項を示します。
シナリオ | なし |
---|---|
Fabric アイテムあたりの OneLake RBAC ロールの最大数 | 各レイクハウス アイテムに対して最大 250 個のロール。 |
OneLake RBAC ロールあたりのメンバーの最大数 | ロールあたり最大 500 人のユーザーとユーザー グループ。 |
OneLake RBAC ロールあたりのアクセス許可の最大数 | ロールあたり最大 500 のアクセス許可 |
OneLake RBAC の待機時間
- OneLake RBAC ロールの定義を変更した場合、OneLake が更新された定義を適用するまでに約 5 分かかります。
- OneLake RBAC ロールでユーザー グループを変更した場合、OneLake が更新されたユーザー グループにロールのアクセス許可を適用するまでに約 1 時間かかります。