OneLakeのセキュリティロールでは、Fabricのデータ項目内の特定のテーブルやフォルダにアクセスできる人を制御できます。 この記事では、セキュリティ ロールを作成、編集、削除する方法と、それらのロールにメンバーを割り当てる方法について説明します。 OneLakeのセキュリティ概念と権限の概要については、「 OneLakeのデータセキュリティ」をご覧ください。
以下のアイテムタイプのデータへのアクセスを制御するためのOneLakeセキュリティロールを作成します。
| 布製品 | サポートされているアクセス許可 |
|---|---|
| Lakehouse | 読み取り、読み書き |
| Azure Databricks ミラーリングされたカタログ | Read |
| ミラー化されたデータベース | Read |
| ミラーカタログ | Read |
ロール作成とメンバーシップの割り当ては、ロールを保存した瞬間に有効になるので、誰かをロールに追加する前に必ずアクセス権を付与してください。
[前提条件]
- ファブリックの書き込みまたは再共有権限(通常、管理者またはメンバーワークスペースのユーザーに含まれます)
ロールの作成
OneLake セキュリティ ロールを作成するには、次の手順に従います。
データアクセスを制御したい場所のFabric項目を開きます。
項目メニューから [OneLake セキュリティの管理 ] を選択します。
OneLake セキュリティ ウィンドウで、[新規] を選択します。
新しいロールに関する次の情報を指定します。
パラメーター 価値 ロール名 次のガイドラインを満たす名前を指定します。
* ロール名には英数字のみが含まれます。
* ロール名は文字で始まります。
* 名前は大文字と小文字が区別されず、一意である必要があります。
* 名前の最大長は 128 文字です。ロールの種類 OneLakeのセキュリティは 助成金 の役割タイプのみをサポートしています。 [アクセス許可の付与] を選択する 付与するアクセス許可を選択します。 最低でもReadが選択され、一部のアイテムタイプにはReadWriteを追加できます。 次へを選択します。
役割にデータを追加しましょう。 含めるデータを選択して、ロールのスコープを定義します。
- すべてのデータ:この役割はこのアイテム内のすべてのテーブルとファイルへのアクセスを許可します。 この選択により、将来追加されるフォルダへのアクセスも可能です。
- 選択データ:この役割は、選ばれたテーブルやフォルダ群へのアクセスを許可します。 次に、次の手順を使用して、このロールの承認済みデータを定義します。
前のステップで 「選択済みデータ 」を選択した場合は、その選択を設定してください:
[編集] を選択します。
テーブルとファイルディレクトリを展開して、アイテム内のデータを閲覧してください。
ロールを適用するテーブルとファイルの横にあるチェック ボックスをオンにします。
行レベルまたは列レベルのセキュリティをテーブルに適用するには、テーブル名を選択し、[ データ アクセス] を選択して、適切なオプションを選択します。 詳細については、「 行レベルのセキュリティを適用 」および「 カラムレベルのセキュリティを適用」をご覧ください。
[ データの追加] を選択して、選択した項目をロールに追加します。
次へを選択します。
メンバーを自分の役割に追加しましょう。 ロールに含めるユーザーの名前またはメール アドレスを手動で入力します。 または、[ 詳細な構成 ] を選択し、「 仮想メンバーの割り当て」の手順に従います。
を選択してを作成します。
役割の閲覧と編集
既存の OneLake セキュリティ ロールを編集するには、次の手順に従います。
セキュリティを定義する項目を開きます。
項目メニューから [OneLake セキュリティの管理 ] を選択します。
OneLake セキュリティ ウィンドウで、編集するロールを選択します。
この操作で役割詳細ページが開きます。 役割詳細ページの上部には、役割名、権限、タイプが表示されます。 役割詳細ページの下部には、 役割内のデータ と 役割のメンバーの2つのタブがあります。
「 編集 」を選択して 役割名を更新 するか、 「役割権限を編集」を選択します。
役割タブの 「Data 」を選択して、役割のメンバーがアクセスできるすべてのデータを確認できます。
Column 表示される内容 データ 役割がアクセス権を与えるテーブルやフォルダ。 スキーマを展開・折りたたんで下の項目を表示したり、エントリにカーソルを合わせて全体のパスを表示したり、さらにオプションにカーソルを合わせて行レベルやカラムレベルのセキュリティを設定したりできます。 詳細については、 OneLakeの「テーブル、列、行レベルのセキュリティ」をご覧ください。 Type アイテムタイプ: スキーマ、 テーブル、 またはフォルダー。 データ アクセス 項目に行レベルか列レベルの制限があるか。 横線のロックアイコンは行レベルのセキュリティを示します。縦線の鍵アイコンは列レベルのセキュリティを示します。 役割内のデータに変更を加えてください:
- テーブルやフォルダの追加または削除:「 データ編集 」を選択してテーブルとフォルダ選択ダイアログを開きます。 テーブルまたはフォルダーをチェックまたはチェックを外してロールに追加するかロールから削除し、選択内容を確定するには データの追加 を選択します。
- 行レベルのセキュリティを追加または編集:詳細については「 テーブルに行レベルのセキュリティを適用」をご覧ください。
- カラムレベルのセキュリティを追加または編集:詳細については、「 テーブルにカラムレベルのセキュリティを適用」をご覧ください。
[ ロールのメンバー ] タブを選択して、ロールのメンバーを表示します。
Column 表示される内容 メンバー プロフィール写真とメンバーの名前。 Type メンバーがユーザーであろうとグループであろうと。 使用して追加 ユーザーが役割のメンバーになった経緯:メールアドレスを通じて直接、またはグループの一員として。 権限グループを使ってユーザーを追加する方法については、「 仮想メンバーの割り当て」をご覧ください。 ロールのメンバーを編集するには、[メンバーの 追加] を選択します。
メンバーを手動で追加するには、[ ロールにメンバーを追加 する] テキストボックスに名前または電子メールを入力します。 候補リストから正しい名前を選択します。 次に、チェック アイコンを選択して選択を確定するか、 X アイコンを選択して選択を解除します。
Fabricのアイテム権限に基づいてメンバーを追加するには、「詳細設定」を選択し、仮想メンバーシップグループを作成します。 詳細は 「仮想メンバーの割り当て」をご覧ください。
ロールからユーザーを削除するには、名前の横にある他のオプション (...) を選択し、[ ロールから削除] を選択します。
ロールメンバーシップに変更を加えると、ロールは即座に更新されます。 通知には、変更の成功または失敗が表示されます。
テーブルに行レベルのセキュリティを適用します
Delta Parquet形式のテーブルデータへのアクセスを許可するOneLakeセキュリティロールの一部として、行レベルセキュリティ(RLS)ルールを定義してください。 行は表形式のデータにのみ関連するため、非テーブルフォルダや非構造化データに対してRLSを定義することはできません。 ベストプラクティスとして、曖昧で過度に複雑なRLS表現は避けてください。 ルールの完全な構文については、 Row-level security syntax referenceを参照してください。
アイテムのところに行き、「 OneLakeセキュリティ管理」を選択してください。
既存の役割を選択するか、新しい役割を作成するには 「新設 」を選択してください。
役割詳細ページで、保護したいテーブルの隣にある「その他のオプション」を選択し、「 行セキュリティ」を選択してください。
コードエディタで、ユーザーがどの行を見られるかを定義するSQL文を入力します。 構文のガイダンスについては、 行レベルのセキュリティ構文参考を参照してください。
[保存] を選択して、行セキュリティ規則を確認します。
テーブルにカラムレベルのセキュリティを適用する
任意のDelta Parquetテーブルに対して、OneLakeのセキュリティロールの一部としてカラムレベルのセキュリティ(CLS)を定義します。 デフォルトでは、ユーザーはすべての列にアクセスできます。 アクセスを取り消すために列を隠すCLSルールを作成しましょう。
Important
別のロールが列へのアクセスを許可している場合、列へのアクセスを削除しても、その列へのアクセスは拒否されません。
データ項目に行き、「 OneLakeセキュリティ管理」を選択してください。
既存の役割を選択するか、新しい役割を作成するには 「新設 」を選択してください。
役割詳細ページで、保護したいテーブルの隣にある「その他のオプション」を選択し、「 カラムセキュリティ」を選択します。
列へのアクセスを取り除くには、「 Permission to Hide」欄を設定してください。 複数の列を選択し、権限を一括で設定するにはチェックボックスを使います。 許可で欄を閲覧するには フィルター を使ってください。 許可される列の一覧には、少なくとも 1 つの列が残っている必要があります。
保存を選びます。
メンバーやグループを役割に割り当てる
OneLakeのセキュリティロールは、個別ユーザー、Microsoft Entraグループ、セキュリティプリンシパルの追加をサポートします。
「メンバー」ページの「>」ボックスを使うことで、ユーザーやグループを直接ロールに追加できます。 また、 Advanced Configuration Controlを使って権限グループ付きの仮想メンバーシップを作成することも可能です。
ユーザーをロールに直接追加するときは、ロールの明示的なメンバーにします。 これらのユーザーは、[ メンバー] リストに自分の名前と画像と共に表示されます。
Important
OneLakeのセキュリティロールにユーザーを追加する場合は、DefaultReaderロールから削除してください。 そうでなければ、彼らはデータへの完全なアクセス権を保持します。
この役割のバーチャルメンバーシップは、ユーザーのFabricアイテム権限に応じて動的に調整されます。 詳細設定と権限を選択すると、選択したすべての権限を持つFabricワークスペース内のユーザーをその役割の暗黙のメンバーとして追加します。 たとえば、ReadAll, Write を選択すると、Fabric ワークスペースのユーザーのうち、その項目に対する ReadAll と Write 権限を持つユーザーは、そのロールのメンバーになります。 権限グループに含まれているユーザーを確認するには、Members in role タブの Added using 列を確認してください。これらのメンバーを手動で削除することはできません。 権限グループを通じて追加したメンバーを削除するには、その権限グループをその役割から削除してください。
仮想メンバーを割り当てる
仮想メンバーを識別するには以下の権限を使用します:
- Read
- Write
- リシェア
- Execute
- すべてを読む
アクセス許可グループにユーザーを割り当てるには、次の手順に従います。
メンバーを割り当てるロールの名前を選択します。
ロールの詳細ページで、[ロールの メンバー ] タブを選択します。
[ メンバーの追加] を選択します。
[ 詳細な構成] を選択します。
[ アクセス許可グループ ] ボックスで、ユーザーを含める各アクセス許可の横にあるチェック ボックスをオンにします。
各権限グループはそのグループに所属するユーザー数を示します。
複数のアクセス許可グループを選択すると、選択したすべての必要なアクセス許可を持つユーザーが含まれます。
[ 追加] を選択してグループを含め、ロールを保存します。
ロールを削除する
OneLakeのセキュリティロールを削除するには以下の手順をご利用ください。
セキュリティを定義する項目を開きます。
項目メニューから [OneLake セキュリティの管理 ] を選択します。
OneLake セキュリティ ウィンドウで、削除するロールの横にあるチェック ボックスをオンにします。
[ 削除] を選択し、ロールが正常に削除されたことを示す通知を待ちます。