LoginSignup
4
1

More than 1 year has passed since last update.

Object Level Security(OLS)をつかってみた

Last updated at Posted at 2021-07-07

Power BI Premium環境でもアカウントによってアクセス権を制御したい

これまでRow Level Securityによって、レポートレベルであればアクセスしてくる人によって行レベルでフィルタをかけることはできたが、Power BI PremiumへPublishしてしまうとそのRepotyに紐づくすべてのTableへのRead権が付与されてしまうので、アクセス権制御については若干あきらめていた。

Row Level Securityについて

Power BI で行レベル セキュリティ (RLS) を使用すると、特定のユーザーのデータ アクセスを制限できます。 フィルターでは行レベルでデータ アクセスが制限され、ロール内でフィルターを定義することができます。 Power BI サービスでは、ワークスペースのメンバーがそのワークスペース内のデータセットにアクセスすることができます。 RLS では、このデータ アクセスは制限されません。

Object Level Securityがリリースされていた(知らなかった)

マイクロソフトの方に教えていただいた、個人的にサポートの手厚さはピカいちな気がします。ありがとうございます。

日本語と英語のページを置いておきます。

思った通りの挙動になるのか試しにやってみる

設定方法についてもブログを教えてもらいました。至れり尽くせり。

1. ロールの作成

モデリングからロールの管理へ進み、今回は以下の二つのRoleを作ってみた

・Management:すべてのテーブルが見えるRole
・Facility Operator:Facilityのテーブルだけ見えるRole

image.png

2. 外部ツールのTablareditorを使用してRoleを作成する

インストール(必要に応じて)

外部ツールなので、事前にインストールが必要です。こんな感じで出ていればOK。
image.png

設定をする

さっき入れたRoleが反映されているのが確認できます
image.png

Securityカテゴリからテーブルごとに設定できる

image.png

サンプルとしてFacility operatorは特定のTableしか見えないよう設定する

image.png

3. 設定がうまくいっているか確認してみる

Power BI Desktopでは、そのRoleでの見え方を確認できるので、Facility Operator権限を割り当てる

image.png

何もアクセス制御がかかってない場合このように見える

これは二つのテーブルから名前の一覧を持ってきていて、
それぞれデータのソースが、fac_list(左)とnet_list(右)です
Facility operator権限で閲覧した時に、左側のテーブルだけ見えるようになっているのが正しい挙動になります。
image.png

想定通りの動きをすることが確認できた

下のように、左側のテーブルだけが見えるようになりました。
問題がありますと出てくるのが若干いけてないですが、しかたないですね。
今自分がどのRoleで見ているのかも明示してくれるので、その辺も間違いようがありません。
image.png

4. Power BI Services上でアカウントをRoleへアサインする

Roleにアカウントを割り当てる

Power BI DesktopからPower BI ServicesへPublishして、
一覧からDatasetのSecurityを選択
image.png

Facility OperatorへRoleをアサインする

image.png

5. Power BI Premium環境へPublishして挙動を確かめる

Admin権限がなかったので、代理で実施してもらいました。

もとの記事にある通り、XMLAをRead Writeで有効化してもらいました。

image.png

想定通りの動きであることが確認できた

image.png

6. まとめ

Power BI Premium上でも閲覧権限をテーブルレベルで操作できる機能は非常に大きいと思います。
グループと組み合わせることで、各Data setにSecurityの設定をいれるところも楽に管理できるのではと感じました。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1