OneLake セキュリティ ロールの作成と管理

OneLakeのセキュリティロールでは、Fabricのデータ項目内の特定のテーブルやフォルダにアクセスできる人を制御できます。 OneLakeのセキュリティ管理では、ロールビューで役割を設定し、メンバービューでメンバーシップ管理、データビューでデータがどのように保護および共有されているかを確認します。 OneLakeのセキュリティ概念と権限の概要については、「 OneLakeのデータセキュリティ」をご覧ください。

以下のアイテムタイプのデータへのアクセスを制御するためのOneLakeセキュリティロールを作成します。

布製品 サポートされているアクセス許可
Lakehouse 読み取り、読み書き
Azure Databricks ミラーリングされたカタログ Read
ミラー化されたデータベース Read
ミラーカタログ Read

ロール作成とメンバーシップの割り当ては、ロールを保存するとすぐに有効になるので、誰かをロールに追加する前に、そのユーザーにアクセス権を付与してよいことを確認してください。

[前提条件]

  • ファブリックの書き込みまたは再共有権限(通常、管理者またはメンバーワークスペースのユーザーに含まれます)

ロールの管理

「All roles」タブを使ってロールを作成し、各ロールの権限、データ、メンバーシップを管理してください。

ロールの作成

OneLake セキュリティ ロールを作成するには、次の手順に従います。

  1. データアクセスを制御したい場所のFabric項目を開きます。

  2. 項目メニューから [OneLake セキュリティの管理 ] を選択します。

  3. OneLake のセキュリティ ペインの「All <item type> roles」タブで、「New」を選択します。

  4. 新しいロールに関する次の情報を指定します。

    パラメーター 価値
    ロール名 次のガイドラインを満たす名前を指定します。

    * ロール名には英数字のみが含まれます。
    * ロール名は文字で始まります。
    * 名前は大文字と小文字が区別されず、一意である必要があります。
    * 名前の最大長は 128 文字です。
    ロールの種類 OneLakeのセキュリティは 助成金 の役割タイプのみをサポートしています。
    [アクセス許可の付与] を選択する 付与するアクセス許可を選択します。 Read は最低限の権限で、一部のアイテムタイプには ReadWrite を追加できます。

    Note

    読み取り権限のみを付与するロールには、行レベルのセキュリティ(RLS)やカラムレベルのセキュリティ(CLS)を適用できます。 RLSおよびCLSオプションは、 ReadWrite 権限を与える役割では利用できません。

  5. 次へを選択します。

  6. 役割にデータを追加しましょう。 含めるデータを選択して、ロールのスコープを定義します。

    • すべてのデータ:この役割はこのアイテム内のすべてのテーブルとファイルへのアクセスを許可します。 この選択により、将来追加されるフォルダへのアクセスも可能です。
    • 選択データ:この役割は、選ばれたテーブルやフォルダ群へのアクセスを許可します。 次に、次の手順を使用して、このロールの承認済みデータを定義します。
  7. 前のステップで 「選択済みデータ 」を選択した場合は、その選択を設定してください:

    1. [編集] を選択します。

      データを選択するための[編集]ボタンを強調表示したスクリーンショットです。

    2. テーブルとファイルディレクトリを展開して、アイテム内のデータを閲覧してください。

    3. ロールを適用するテーブルとファイルの横にあるチェック ボックスをオンにします。

    4. テーブルに行レベルまたはカラムレベルのセキュリティを適用するには、テーブル名を選択してください。 次に「データアクセス」を選択し、適切なオプションを選択してください。 詳細については、「 行レベルのセキュリティを適用 」および「 カラムレベルのセキュリティを適用」をご覧ください。

      テーブルのデータアクセスオプションを強調表示するスクリーンショットです。

    5. [ データの追加] を選択して、選択した項目をロールに追加します。

  8. 次へを選択します。

  9. メンバーを自分の役割に追加しましょう。 ロールに含めるユーザーの名前またはメール アドレスを手動で入力します。 または、[ 詳細な構成 ] を選択し、「 仮想メンバーの割り当て」の手順に従います。

    Important

    制限されたアクセス権限のあるロールにユーザーを追加する前に、DefaultReaderの役割がすでにより広範なアクセス権を与えていないか確認してください。 アクセスを制限するには、DefaultReaderロールから削除するか、DefaultReaderロールを修正または削除してください。

  10. を選択してを作成します。

役割の閲覧と編集

既存の OneLake セキュリティ ロールを編集するには、次の手順に従います。

  1. セキュリティを定義する項目を開きます。

  2. 項目メニューから [OneLake セキュリティの管理 ] を選択します。

  3. OneLake のセキュリティ ペインの「All <item type> roles」タブで、編集したいロールを選択します。

    この操作で役割詳細ページが開きます。 役割詳細ページの上部には、役割名、権限、タイプが表示されます。 役割詳細ページの下部には、 役割内のデータ と 役割のメンバーの2つのタブがあります。

  4. 「 編集 」を選択して 役割名を更新 するか、 「役割権限を編集」を選択します。

    Fabricポータルのスクリーンショットで、ロール名や権限を更新するために編集メニューを開く様子が示されています。

  5. 役割タブの 「Data 」を選択して、役割のメンバーがアクセスできるすべてのデータを確認できます。

    「Data in role」タブに表示される詳細を示すスクリーンショットです。

    Column 表示される内容
    データ 役割がアクセス権を与えるテーブルやフォルダ。 スキーマを展開・折りたたんで下の項目を表示したり、エントリにカーソルを合わせて全体のパスを表示したり、さらにオプションにカーソルを合わせて行レベルやカラムレベルのセキュリティを設定したりできます。 詳細については、 OneLakeの「テーブル、列、行レベルのセキュリティ」をご覧ください。
    Type アイテムタイプ: スキーマ、 テーブル、 またはフォルダー。
    データ アクセス 項目に行レベルか列レベルの制限があるか。 横線のロックアイコンは行レベルのセキュリティを示します。縦線の鍵アイコンは列レベルのセキュリティを示します。
  6. 役割内のデータに変更を加えてください:

    • テーブルやフォルダの追加または削除:「 データ編集 」を選択してテーブルとフォルダ選択ダイアログを開きます。 テーブルまたはフォルダーをチェックまたはチェックを外してロールに追加するかロールから削除し、選択内容を確定するには データの追加 を選択します。
    • 行レベルのセキュリティを追加または編集:詳細については「 テーブルに行レベルのセキュリティを適用」をご覧ください。
    • カラムレベルのセキュリティを追加または編集:詳細については、「 テーブルにカラムレベルのセキュリティを適用」をご覧ください。
  7. [ ロールのメンバー ] タブを選択して、ロールのメンバーを表示します。

    メンバーの「役割」タブで詳細が見えるスクリーンショットです。

    Column 表示される内容
    メンバー プロフィール写真とメンバーの名前。
    Type メンバーがユーザーであろうとグループであろうと。
    使用して追加 ユーザーが役割のメンバーになった経緯:メールアドレスを通じて直接、またはグループの一員として。 権限グループを使ってユーザーを追加する方法については、「 仮想メンバーの割り当て」をご覧ください。
  8. ロールのメンバーを編集するには、[メンバーの 追加] を選択します。

    • メンバーを手動で追加するには、[ ロールにメンバーを追加 する] テキストボックスに名前または電子メールを入力します。 候補リストから正しい名前を選択します。 次に、チェック アイコンを選択して選択を確定するか、 X アイコンを選択して選択を解除します。

    • Fabricのアイテム権限に基づいてメンバーを追加するには、「詳細設定」を選択し、仮想メンバーシップグループを作成します。 詳細は 「仮想メンバーの割り当て」をご覧ください。

  9. ロールからユーザーを削除するには、名前の横にある他のオプション (...) を選択し、[ ロールから削除] を選択します。

ロールメンバーシップに変更を加えると、ロールは即座に更新されます。 通知には、変更の成功または失敗が表示されます。

テーブルに行レベルのセキュリティを適用します

Delta Parquet形式のテーブルデータへのアクセスを許可するOneLakeセキュリティロールの一部として、行レベルセキュリティ(RLS)ルールを定義してください。 行は表形式のデータにのみ関連するため、非テーブルフォルダや非構造化データに対してRLSを定義することはできません。 ベストプラクティスとして、曖昧で過度に複雑なRLS表現は避けてください。 ルールの完全な構文については、 Row-level security syntax referenceを参照してください。

  1. アイテムのところに行き、「 OneLakeセキュリティ管理」を選択してください。

  2. 既存の役割を選択するか、新しい役割を作成するには 「新設 」を選択してください。

  3. 役割詳細ページで、保護したいテーブルの隣にある「その他のオプション」を選択し、「 行セキュリティ」を選択してください。

    テーブルの権限を編集するために行のセキュリティを選択する様子を示すスクリーンショットです。

  4. コードエディタで、ユーザーがどの行を見られるかを定義するSQL文を入力します。 構文のガイダンスについては、 行レベルのセキュリティ構文参考を参照してください。

  5. [保存] を選択して、行セキュリティ規則を確認します。

テーブルにカラムレベルのセキュリティを適用する

任意のDelta Parquetテーブルに対して、OneLakeのセキュリティロールの一部としてカラムレベルのセキュリティ(CLS)を定義します。 デフォルトでは、ユーザーはすべての列にアクセスできます。 アクセスを取り消すために列を隠すCLSルールを作成しましょう。

Important

別のロールが列へのアクセスを許可している場合、列へのアクセスを削除しても、その列へのアクセスは拒否されません。

  1. データ項目に行き、「 OneLakeセキュリティ管理」を選択してください。

  2. 既存の役割を選択するか、新しい役割を作成するには 「新設 」を選択してください。

  3. 役割詳細ページで、保護したいテーブルの隣にある「その他のオプション」を選択し、「 カラムセキュリティ」を選択します。

    テーブルの権限を編集するためにカラムセキュリティを選択する様子を示すスクリーンショットです。

  4. 列へのアクセスを取り除くには、「 Permission to Hide」欄を設定してください。 複数の列を選択し、権限を一括で設定するにはチェックボックスを使います。 許可で欄を閲覧するには フィルター を使ってください。 許可される列の一覧には、少なくとも 1 つの列が残っている必要があります。

  5. 保存を選びます。

ロールを削除する

OneLakeのセキュリティロールを削除するには以下の手順をご利用ください。

  1. セキュリティを定義する項目を開きます。

  2. 項目メニューから [OneLake セキュリティの管理 ] を選択します。

  3. OneLakeのセキュリティペインのAll <item type> rolesタブで、削除したいロールの横にあるボックスにチェックを入れてください。

  4. [ 削除] を選択し、ロールが正常に削除されたことを示す通知を待ちます。

メンバーシップの管理

「All members in roles」タブを使って、アイテム内のすべての OneLake セキュリティ ロールのユーザーとグループをレビュー・管理してください。

メンバーやグループを役割に割り当てる

OneLakeのセキュリティロールは、個別ユーザー、Microsoft Entraグループ、セキュリティプリンシパルの追加をサポートします。

「メンバー」ページの「>」ボックスを使うことで、ユーザーやグループを直接ロールに追加できます。 また、 Advanced Configuration Controlを使って権限グループ付きの仮想メンバーシップを作成することも可能です。

ユーザーをロールに直接追加するときは、ロールの明示的なメンバーにします。 これらのユーザーは、[ メンバー] リストに自分の名前と画像と共に表示されます。

Important

OneLakeのセキュリティロールにユーザーを追加する場合は、DefaultReaderロールから削除してください。 そうでなければ、彼らはデータへの完全なアクセス権を保持します。

この役割のバーチャルメンバーシップは、ユーザーのFabricアイテム権限に応じて動的に調整されます。 詳細設定と権限を選択すると、選択したすべての権限を持つFabricワークスペース内のユーザーをその役割の暗黙のメンバーとして追加します。 たとえば、ReadAll, Write を選択すると、Fabric ワークスペースのユーザーのうち、その項目に対する ReadAll と Write 権限を持つユーザーは、そのロールのメンバーになります。 権限グループに含まれているユーザーを確認するには、Members in role タブの Added using 列を確認してください。これらのメンバーを手動で削除することはできません。 権限グループを通じて追加したメンバーを削除するには、その権限グループをその役割から削除してください。

仮想メンバーを割り当てる

仮想メンバーを識別するには以下の権限を使用します:

  • Read
  • Write
  • リシェア
  • Execute
  • すべてを読む

アクセス許可グループにユーザーを割り当てるには、次の手順に従います。

  1. メンバーを割り当てるロールの名前を選択します。

  2. ロールの詳細ページで、[ロールの メンバー ] タブを選択します。

  3. [ メンバーの追加] を選択します。

  4. [ 詳細な構成] を選択します。

    権限グループを使ってメンバーを追加する詳細設定を選択する様子を示すスクリーンショットです。

  5. [ アクセス許可グループ ] ボックスで、ユーザーを含める各アクセス許可の横にあるチェック ボックスをオンにします。

    各権限グループはそのグループに所属するユーザー数を示します。

    複数のアクセス許可グループを選択すると、選択したすべての必要なアクセス許可を持つユーザーが含まれます。

  6. [ 追加] を選択してグループを含め、ロールを保存します。

メンバー別アクセスを見る

どの役割がメンバーにアクセス権を与え、どのデータにアクセスできるかを確認しましょう。

  1. アクセスを確認したい項目を開きます。

  2. 項目メニューから [OneLake セキュリティの管理 ] を選択します。

  3. 「ロール内のすべてのメンバー」タブを選択してください。

    このページには、OneLakeのセキュリティロールに属する各ユーザーまたはグループと、それらが所属するロールが一覧化されています。

  4. アクセス情報を開くためにユーザーまたはグループを選択します。

  5. ロール を選択して、このユーザーまたはグループがメンバーとなっているロールを参照してください。

  6. 「 付与されたデータ 」を選択して、メンバーがアクセス可能なデータを閲覧し、どの役割が各テーブルやフォルダへのアクセスを許可しているかを特定します。

  7. ユーザーやグループのアクセスを変更するには、役割を選択してロールのデータまたはメンバーを編集してください。

複数の役割にメンバーを追加する

複数のユーザーやグループを複数のOneLakeセキュリティロールに同時に追加できます。

  1. 「ロール内のすべてのメンバー」タブで「メンバーを追加」を選択してください。

  2. ロール のドロップダウンリストを使って、割り当てたい役割を選びます。

  3. Members テキスト ボックスに、追加したいユーザーやグループを入力します。 または、 詳細設定 を選択して 仮想メンバーを割り当ててください。

  4. 追加を選択します。

すべてのロールからメンバーを削除

その項目内のデータにアクセスする必要がなくなった場合は、OneLake のすべてのセキュリティ ロールからユーザーまたはグループを削除してください。

  1. 「ロール内のすべてのメンバー」タブで、削除したいユーザーまたはグループを選択します。

  2. 「アイテムタイプから削除」 (例: 「ミラーカタログから削除」) を選択すると、すべての OneLake セキュリティ ロールにわたるメンバーのデータ アクセスを取り消します。

データを管理する

「役割内のすべてのデータ」タブを使って、アイテム内のすべてのデータを確認し、どの役割がアクセス権を与えているかを理解しましょう。

データ別のアクセスを表示

  1. アクセスを確認したい項目を開きます。

  2. 項目メニューから [OneLake セキュリティの管理 ] を選択します。

  3. すべてのデータの役割 タブを選択してください。

    ページにはアイテム内のテーブル、各テーブルへのアクセスを許可するロール、アクセス権を持つメンバー数が一覧化されています。

  4. テーブルを選択して、そのテーブルに適用される役割や権限を表示できます。

  5. テーブルにアクセスできるメンバーを確認しましょう。