【Power BI】RLSの設定方法 – 動的制御

PowerBI

はじめに

Power BIでRLSを設定する手順を紹介します。
本記事で紹介するのは動的な制御方法になります。

※RLSの静的制御の設定方法はこちら→【Power BI】RLSの設定方法 – 静的制御

Power BI DesktopでRLSを設定設定するためのロールを作成し、Power BI Serviceで作成したRLSのロールに対してユーザーを割り当てていきます。

使用するサンプルデータ

今回は3つのテーブルを使って、RLSの設定をしていきます。

・TRAN

・USER_MST

・COMPANY_MST

設定手順

1. Power BI Desktopで各テーブルに接続する

2. リレーションを設定する
 ※多対多になることを避けるため、COMPANY_MSTも必要となる

TRANとCOMPANY_MSTのリレーションは、クロスフィルターの方向を「単一」に設定

COMPANY_MSTとUSER_MSTのリレーションは、クロスフィルターの方向を「双方向」で両方向にセキュリティフィルターを適用する

3. 取り込んだデータで表を作成しておく

4. 「モデリング」>「ロールの管理」の順にクリック

5. 「新規」をクリック

6. ロールを任意の名前に設定

7. USER_MSTテーブルを選択し、「DAXエディターに切り替える」をクリック

8. 条件を入力して「保存」をクリック

[USER] == USERPRINCIPALNAME()

9. 「ロールの変更が正常に適用されました。」と表示されることを確認し、「閉じる」をクリック

10. 「ホーム」>「発行」の順にクリック

11. 発行先のワークスペースをクリックし、「選択」をクリック

12. 「✔成功しました!」の表示を確認

13. Power BI Serviceで発行先のワークスペースを開く

14. セマンティックモデルの「・・・」>セキュリティの順にクリック

15. RLSを適用したいユーザーのアドレスを入力し、「追加」をクリック
 ※「test01@gmail.com」を追加したと仮定します。

16. 追加されたことを確認したら「保存」をクリック

17. ロールにカーソルを合わせて、「・・・」>「ロールとしてテスト」をクリック

18. ログインしたユーザーのプリンシパル名で動的にレコードを制御することができる

注意事項

RLSはPower BI Serviceのワークスペースで「ビューアー」ロールが付与されているユーザーにのみ適用されます。
それ以外のロールを付与されているユーザーには適用されないので注意が必要です。

タイトルとURLをコピーしました