利用ユーザ数が増えた場合に必要となるアクセス制御
一般的に BI ツールを小規模に導入した場合、セキュリティ面の課題はあまり出てきませんが、利用者が数十名から百名を超えるくらいの規模になると必ずアクセス制御、すなわちレポートやデータを権限のあるユーザのみにアクセスを限定したい、といった要件があがってきます。Power BI Serviceではダッシュボード・レポート・データセットと呼ばれるコンテンツレベルでのアクセス制御と、データの行レベルでのアクセス制御を提供しています。
コンテンツレベルでの認可 (ダッシュボード、レポート、データセット)
Power BI Service ではコンテンツレベルでアクセス制御する方法を3種類提供しています。それぞれ特徴を説明します。
・ダッシュボードの共有
ダッシュボードを作成したユーザが任意のユーザもしくはセキュリティグループに対して読み取り許可の権限をPush型で与える機能です。ダッシュボードを共有されたユーザはダッシュボードに紐づくレポートにドリルダウンをして、フィルターやスライサーの操作をすることができます。ダッシュボード・レポートの編集権限は与えませんので、オリジナルのコンテンツは維持されます。
・組織のコンテンツパック の発行
ダッシュボード・レポート・データセットを複数選択してひとつのテンプレートとして配信することができる仕組みです。権限を与えられたユーザはPull 型でコンテンツを取得することができます。また、レポートを自分好みにアレンジしたい場合はオリジナルのコンテンツを自分のワークスペースにコピーをすることで、編集することができます。あくまでオリジナルのコンテンツは維持されますので、ガバナンスと自由度を両立することができる仕組みです。
・Office 365 グループ ワークスペース
Office 365グループはOutlookやYammer等のOffice 365サービスにおいて複数のユーザで共同作業をするための機能で、Power BI もこのグループを利用してコンテンツを共有できるようになっています。グループのワークスペースに発行されたコンテンツはグループの管理者がグループのメンバーに対して読み取り権限か編集権限のいずれかを付与することができます。編集権限を割り当てた場合、すべてのグループ メンバーがワークスペース内のコンテンツを編集できるようになります。図1にも記載した通り、唯一オリジナル コンテンツを複数ユーザで編集ができるため、もっとも自由度が高い共有方法です。
データレベルでの認可 (行レベルセキュリティ)
次にデータレベルでの認可について説明します。同一のダッシュボード・レポートに対し、アクセスするユーザの権限に応じて、データの中身を動的に制御することができます。データレベルでアクセス制御をするには大きく2つの方法があります。
1つは前回の記事でもご紹介した、データソースにSQL Server Analysis Services を使用する方法で、データソース側で一元管理ができるようになっています。この構成の場合の注意点などは こちらのドキュメントにまとまっています。
もう1つの方法は Power BI Desktop で作成したロールをPower BI Service上でユーザやセキュリティグループと紐づける方法です。詳細は こちら を参照ください。
いずれの方法でも行レベルアクセス制御を実現することができ、これまで部署ごとに複数作成していたレポートをひとつのレポートとしてまとめることで運用負荷を下げたり、誤って部外のユーザにレポートを共有してしまった場合でも中身のデータは見ることができない、といったような、よりセキュアな環境を作ることができたり、といったメリットがあります。