Microsoft Fabric でデータ アクセスをセキュリティで保護する

Microsoft Fabric には、データ アクセスを管理するためのマルチレイヤー セキュリティ モデルが用意されています。 セキュリティは、ワークスペース全体、個々の項目、または各 Fabric エンジンの詳細なアクセス許可を使用して設定できます。 この演習では、ワークスペースと項目アクセス制御と OneLake データ アクセス ロールを使用してデータを保護します。

:このラボの演習を完了するには、2 人のユーザーが必要です。1 人のユーザーにワークスペース管理者ロールを割り当て、もう 1 人にワークスペース ビューアー ロールを割り当てる必要があります。 ワークスペースにロールを割り当てるには、「ワークスペースへのアクセスを許可する」を参照してください。 同じ組織内で 2 つ目のアカウントにアクセスできない場合でも、ワークスペース管理者として演習を実行し、ワークスペース ビューアー アカウントとして実行される手順を省略できます。ワークスペース ビューアー アカウントがアクセスできる内容については、演習のスクリーンショットを参照します。

このラボの所要時間は約 45 分です。

ワークスペースの作成

Fabric でデータを操作する前に、Fabric 試用版を有効にしてワークスペースを作成してください。

  1. ブラウザーで Microsoft Fabric ホーム ページ (https://app.fabric.microsoft.com/home?experience=fabric) に移動し、Fabric 資格情報でサインインします。
  2. 左側のメニュー バーで、 [ワークスペース] を選択します (アイコンは 🗇 に似ています)。
  3. 任意の名前で新しいワークスペースを作成し、Fabric 容量を含むライセンス モード (“試用版”、Premium、または Fabric) を選択します。**
  4. 開いた新しいワークスペースは空のはずです。

    Fabric の空のワークスペースを示すスクリーンショット。

:ワークスペースを作成すると、自分は自動的にワークスペース管理者ロールのメンバーになります。

データ ウェアハウスの作成

次に、作成したワークスペースにデータ ウェアハウスを作成します。

  1. [+ 新しい項目] をクリックします。 [新しい項目] ページの [データの保存] セクションで、[サンプル ウェアハウス] を選択し、任意の名前の新しいデータ ウェアハウスを作成します。

    1 分ほどで、新しいレイクハウスが作成されます。

    新しいウェアハウスのスクリーンショット。

レイクハウスを作成する

次に、作成したワークスペースにレイクハウスを作成します。

  1. 左側のメニュー バーで、[ワークスペース] を選択します (アイコンは 🗇 に似ています)。
  2. 前に作成したワークスペースを選択します。
  3. ワークスペースで、[+ 新しい項目] ボタンを選択してから、[レイクハウス] を選択します。 任意の名前で新しいレイクハウスを作成します。

    1 分ほどすると、新しいレイクハウスが作成されます。

    Fabric での新しいレイクハウスのスクリーンショット。

  4. [サンプル データで開始] タイルを選択したあと、publicholidays (祝日) サンプルを選択します。 1 分ほどすると、レイクハウスにデータが設定されます。

ワークスペースのアクセス制御を適用する

ワークスペース ロールは、ワークスペースとその中のコンテンツへのアクセスを制御するために使用されます。 ワークスペース ロールは、ユーザーがワークスペース内のすべての項目を表示する必要がある場合、ワークスペースへのアクセスを管理する必要がある場合、または新しい Fabric 項目を作成する必要がある場合、またはワークスペース内のコンテンツを表示、変更、または共有するために特定のアクセス許可が必要な場合に割り当てることができます。

この演習では、ワークスペース ロールにユーザーを追加し、アクセス許可を適用し、アクセス許可の各セットが適用されたときに表示可能な内容を確認します。 2 つのブラウザーを開き、別のユーザーとしてサインインします。 1 つのブラウザーではワークスペース管理者になり、もう 1 つのブラウザーでは 2 番目の特権のないユーザーとしてサインインします。 1 つのブラウザーでは、ワークスペース管理者が 2 番目のユーザーのアクセス許可を変更し、2 番目のブラウザーでは、アクセス許可の変更の影響を確認できます。

  1. 左側のメニュー バーで、 [ワークスペース] を選択します (アイコンは 🗇 に似ています)。
  2. 次に、前に作成したワークスペースを選択します。
  3. 画面上部で、[アクセスの管理] を選択します。

: ワークスペースを作成したため、ログに記録されているユーザー (ワークスペース管理者 ロールのメンバー) が表示されます。 他のユーザーには、ワークスペースへのアクセス権がまだ割り当てられません。

  1. 次に、ワークスペースに対するアクセス許可のないユーザーが表示できる内容を確認します。 ブラウザーで InPrivate ウィンドウを開きます。 Microsoft Edge ブラウザーで、右上隅にある省略記号を選択し、[新しい InPrivate ウィンドウ] を選択します。
  2. テストに使用している 2 番目のユーザーとして https://app.fabric.microsoft.com を入力してサインインします。
  3. 画面の左下隅で、[Microsoft Fabric] を選択し、[Data Warehouse] を選択します。 次に、[ワークスペース] を選択します (アイコンは 🗇 に似ています)。

注: 2 番目のユーザーはワークスペースにアクセスできないため、表示できません。

  1. 次に、2 番目のユーザーに ワークスペース ビューアー ロールを割り当て、そのロールによってワークスペース内のウェアハウスへの読み取りアクセスが許可されることを確認します。
  2. ワークスペース管理者としてログインしているブラウザー画面に戻ります。作成したワークスペースが表示されているページにまだ残っていることを確認します。 ページの下部に、新しいワークスペース項目とサンプル ウェアハウスとレイクハウスが表示されるようにする必要があります。
  3. 画面右上の [アクセスの管理] を選択します。
  4. [ユーザーまたはグループの追加] を選択します。 テストする 2 番目のユーザーのメールアドレスを入力します。 [追加] を選択して、ユーザーをワークスペース ビューアー ロールに割り当てます。
  5. 2 番目のユーザーとしてログインしている InPrivate ブラウザー画面に戻り、ブラウザーの [更新] ボタンを選択して、2 番目のユーザーに割り当てられているセッションのアクセス許可を更新します。
  6. 左側のメニュー バーの [ワークスペース] アイコン (アイコンは 🗇 に似ています) を選択し、ワークスペース管理者ユーザーとして作成したワークスペース名を選択します。 2 番目のユーザーには、ワークスペース ビューアー ロールが割り当てられているため、ワークスペース内のすべての項目を表示できるようになりました。

    Fabric のワークスペース項目を示すスクリーンショット。

  7. ウェアハウスを選択して開きます。
  8. 日付テーブルを選択し、行が読み込まれるのを待ちます。 ワークスペース ビューアー ロールのメンバーとして、ウェアハウス内のテーブルに対する CONNECT および ReadData アクセス許可があるため、行を表示できます。 ワークスペース ビューアー ロールに付与されるアクセス許可の詳細については、「ワークスペースのロール」をご覧ください。
  9. 次に、左側のメニュー バーの [ワークスペース] アイコンを選択し、レイクハウスを選択します。
  10. レイクハウスが開いたら、画面の右上隅にある [レイクハウス] というドロップダウン ボックスをクリックし、[SQL 分析エンドポイント] を選択します。
  11. publicholidays (祝日) テーブルを選択し、データが表示されるのを待ちます。 ユーザーは SQL 分析エンドポイントに対する読み取りアクセス許可を付与するワークスペース ビューアー ロールのメンバーであるため、レイクハウス テーブル内のデータは SQL 分析エンドポイントから読み取り可能です。

項目アクセス制御を適用する

項目のアクセス許可は、ウェアハウス、レイクハウス、セマンティック モデルなど、ワークスペース内の個々の Fabric 項目へのアクセスを制御します。 この演習では、前の演習で適用したワークスペース ビューアーのアクセス許可を削除してから、ウェアハウスに項目レベルのアクセス許可を適用して、権限の低いユーザーが、レイクハウス データではなく、ウェアハウス データのみを表示できるようにします。

  1. ワークスペース管理者としてログインしているブラウザー画面に戻ります。左側のナビゲーション ウィンドウから [ワークスペース] を選択します。
  2. 前に作成したワークスペースを選択して開きます。
  3. 画面上部から、[アクセスの管理] を選択します。
  4. 2 番目のユーザーの名前の下にあるビューアーを選択します。 表示されるメニューから [削除] を選択します。

    Fabric のワークスペース アクセス ドロップダウンのスクリーンショット。

  5. [アクセスの管理] セクションを閉じます。
  6. ワークスペースで、ウェアハウスの名前にカーソルを合わせると、省略記号 () が表示されます。 省略記号を選択してから、[アクセス許可の管理] を選択します。
  7. [ユーザーの追加] を選択し、2 番目のユーザーの名前を入力します。
  8. 表示されるボックスの [追加のアクセス許可] で、[SQL を使用してすべてのデータを読み取る (ReadData)] チェックボックスをオンにし、他のすべてのボックスをオフにします。

    Fabric で付与されているウェアハウスのアクセス許可のスクリーンショット。

  9. [許可] を選択します。
  10. 2 番目のユーザーとしてログインしているブラウザー画面に戻ります。 ブラウザー ビューを更新します。
  11. 2 番目のユーザーはワークスペースにアクセスできなくなり、代わりにウェアハウスにのみアクセスできます。 左側のナビゲーション ウィンドウでワークスペースを参照してウェアハウスを見つけることができなくなります。 左側のナビゲーション メニューで [OneLake カタログ] を選択して、ウェアハウスを見つけます。

    OneLake カタログのスクリーンショット。

  12. ウェアハウスを選択します。 表示された画面で、上部のメニュー バーから [開く] を選択します。
  13. ウェアハウス ビューが表示されたら、日付テーブルを選択してテーブル データを表示します。 ユーザーがウェアハウスに対する読み取りアクセス許可を持っているため、行は表示可能です。これは、ウェアハウスに対する項目のアクセス許可を使用して ReadData アクセス許可が適用されたためです。

レイクハウスで OneLake データ アクセス ロールを適用する

OneLake データ アクセス ロールを使用すると、レイクハウス内にカスタム ロールを作成し、指定したフォルダーに読み取りアクセス許可を付与できます。 現在、OneLake データ アクセス ロールはプレビュー機能です。

この演習では、項目のアクセス許可を割り当てて OneLake データ アクセス ロールを作成し、それらが連携してレイクハウス内のデータへのアクセスを制限する方法を試します。

  1. 2 番目のユーザーとしてログインしているブラウザーに残ります。
  2. 左側のナビゲーション バーで [OneLake カタログ] を選択します。 2 番目のユーザーには、レイクハウスが表示されません。
  3. ワークスペース管理者としてログインしているブラウザーに戻ります。
  4. 左側のメニューで [ワークスペース] を選択して、ワークスペースを選択します。 レイクハウスの名前にカーソルを合わせます。
  5. 省略記号の右側にある省略記号 () を選択し、[アクセス許可の管理] を選択します。

    Fabric のレイクハウスに対するアクセス許可の設定のスクリーンショット。

  6. 表示された画面で、[ユーザーの追加] を選択します。
  7. 2 番目のユーザーをレイクハウスに割り当て、[ユーザー アクセスの許可] ウィンドウのチェックボックスがオフになっていることを確認します。

    Fabric の [アクセス権の付与] レイクハウス ウィンドウのスクリーンショット。

  8. [許可] を選択します。 2 番目のユーザーは、レイクハウスに対する読み取りアクセス許可を持つようになりました。 読み取りアクセス許可では、ユーザーはレイクハウスのメタデータのみを表示できますが、基になるデータは表示できません。 次に、これを検証します。
  9. 2 番目のユーザーとしてログインしているブラウザーに戻ります。 ブラウザーを更新します。
  10. 左側のナビゲーション ウィンドウで [OneLake] を選択します。
  11. レイクハウスを選択して開きます。
  12. 上部のメニュー バーで、[開く] を選択します。 読み取りアクセス許可が付与されている場合でも、テーブルまたはファイルを展開できません。

    データを読み込むことができないレイクハウスのスクリーンショット。

  13. 次に、OneLake データ アクセス許可を使用して、2 番目のユーザーに特定のフォルダーへのアクセス権を付与します。
  14. ワークスペース管理者としてログインしているブラウザーに戻ります。
  15. 左側のナビゲーション バーから [ワークスペース] を選択します。
  16. ワークスペース名を選択します。
  17. レイクハウスを選択します。
  18. レイクハウスが開いたら、上部のメニュー バーで [OneLake データ アクセスの管理] を選択し、[続行] ボタンを選択して機能を有効にします。

    Fabric のメニュー バーにある OneLake データ アクセスの管理 (プレビュー) 機能のスクリーンショット。

  19. 表示される [OneLake セキュリティ] 画面で [+ 新規] を選択します。

    OneLake データ アクセスの管理機能の新しいロール機能のスクリーンショット。

  20. publicholidaysという名前の新しいロールを作成し、[選択したデータ] [レイクハウスを参照する] の順に選択します。 新しいウィンドウで、publicholidays テーブルを選択します。
  21. [ロールにメンバーを追加する] フィールドに、2 番目のユーザーを追加します。
  22. [ロールのプレビュー] セクションで、publicholidays テーブルが読み取りアクセス許可を持つ [データのプレビュー] タブに追加され、2 番目のユーザーが [メンバーのプレビュー] タブに追加されていることを確認します。[ロールの作成] を選択します。
  23. 2 番目のユーザーとしてログインしているブラウザーに戻ります。 レイクハウスが開いているページにまだ居残っていることを確認します。 ブラウザーを更新します。
  24. publicholidays (祝日) テーブルを選択し、データが読み込まれるのを待ちます。 ユーザーがカスタム OneLake データ アクセス ロールに割り当てられたため、publicholidays テーブル内のデータにのみユーザーがアクセスできます。 ロールは、他のテーブル、ファイル、またはフォルダーのデータではなく、publicholidays テーブル内のデータのみを表示することを許可します。

    テーブルのアクセス権を示すレイクハウスのスクリーンショット。

リソースをクリーンアップする

この演習では、ワークスペースのアクセス制御、項目のアクセス制御、および OneLake データ アクセス ロールを使用してデータを保護しました。

  1. 左側のナビゲーション バーで、ワークスペースのアイコンを選択して、それに含まれるすべての項目を表示します。
  2. 上部のツール バーのメニューで、[ワークスペース設定] を選択します。
  3. [全般] セクションで、[このワークスペースの削除] を選択します。