【データ分析】PowerBIのロールを使う目的や方法

注目記事

PowerBIのロール

ロールとは?

PowerBIのロール(Role)は、データモデル内のセキュリティとアクセス制御を管理するための機能またはツールです。

データベースに詳しい方であれば、View(ビュー)と言われればイメージが付きやすいのではないでしょうか。

ロールは異なるユーザーグループに、異なるデータアクセスレベルを設定することができます。

ロールを適切に設定することで、データのセキュリティとアクセス管理を強化し、効果的なデータ活用を実現できます。
 

ロールを使う目的

ロールを使う目的は主に、
 

  • データアクセスの制限
  • 行レベルセキュリティ
  • メジャーレベルセキュリティ
  • 外部ユーザーへの共有
  • フィルタリングとパーソナライズ
  • レポートやダッシュボードの配信

 
になります。
 

データアクセスの制限

ロールを作成する目的として、一番利用されるケースが、データアクセスの制限になります。

データモデル内のテーブルや列に対して、特定のロールに属するユーザーだけがアクセスできるように制限することができます。

これにより、ユーザーごとに必要なデータのみを表示することができます。

例えば、組織内の部門ごとに異なるデータを提供する場合、各部門に対してそれぞれ異なるロールを作成し、部門ごとにアクセス可能なデータを制御できます。
 

行レベルセキュリティ

ロールには、行レベルセキュリティ(Row Level Security)という行レベルでデータの可視性を制御し、データにアクセスする際の制限やレベルを設定することができます。

行レベルセキュリティのことを「Row Level Security」の頭文字を取って『RLS』と略され用語として使用されることが多く、RLSのことを『レベル制御』と言ったりもします。

例えば、特定のロールが特定の集計レベルや詳細レベルのデータにアクセスできるようにすることが可能です。

または、特定の地域の営業担当者にのみ関連するデータを表示させたい場合、それぞれの営業担当者に対して異なるロールを作成し、彼らがアクセス可能な行を制限することができます。
 

メジャーレベルセキュリティ

ロールを使用して、特定のメジャー(集計)データに対するアクセスを制御することもできます。

例えば、特定の役職の管理者にのみ売上の集計データを表示させたい場合、それぞれの管理者に対して異なるロールを作成し、集計データへのアクセスを制限することができます。
 

外部ユーザーへの共有

ロールを使用して、外部のユーザーに対してデータを安全に共有することもできます。

例えば、顧客やパートナーに特定のデータを提供する場合、それらのユーザーに対してロールを作成し、彼らがアクセスできるデータを制限することができます。
 

フィルタリングとパーソナライズ

ロールを使用することで、ユーザーごとに異なるフィルタリングを適用することができ、個々のユーザーに合わせたデータの表示やパーソナライズを実現できます。

これにより、特定のロールに属するユーザーが特定のフィルター条件でデータを表示できるようになり、ユーザーが自分に関連するデータや情報を容易に見つけることができます。
 

階層的なデータアクセス

データモデル内の階層的な構造やレベルに基づいて、ロールを使用して異なるデータアクセスレベルを設定することができます。

たとえば、管理者ロールと一般ユーザーロールを設定し、管理者ロールには全データへのアクセス権を与え、一般ユーザーロールには一部の制限されたデータへのアクセス権を与えることができます。
 

レポートやダッシュボードの配信

ロールを使用して、特定のロールに属するユーザーに対して特定のレポートやダッシュボードを配信することができます。

それにより、ユーザーごとに関連性の高い情報を提供し、より効果的な情報の共有や意思決定を促進できます。
 

ロールを使ったアクセス制御の使用例

例として、ある企業の以下のようなデータがあるとします。
 

項目 テーブル名 内容
売上データ Sales 商品ごとの売上金額、地域ごとの売上金額など。
従業員データ Employee 従業員の氏名、役職、所属部署など。
顧客データ Customer 顧客の氏名、連絡先情報、購買履歴など。

 
このテーブルのデータが含まれるPowerBIダッシュボードを作成し、アクセス制御をするケースとしての使用例をいくつか紹介します。
 

セールスマネージャーロール

セールスマネージャーロール(Sales Manager Role)は、売上データへのフルアクセスを持つロールで、Salesデータの全ての詳細情報にアクセスできる権限が与えられます。
 

地域セールスロール

上記のセールスマネージャーロールに対して、地域セールスロールなど、特定のアクセスに限定したロールが、フルアクセスとセットで作成される場合があります。

地域セールスロール(Regional Sales Role)は、特定の地域のセールスチームのリーダーに与えられるロールで、Salesデータの地域別の売上金額など、地域ごとのデータにアクセスできる権限が与えられます。
 

人事マネージャーロール

人事マネージャーロール(HR Manager Role)は、従業員データへのアクセスを持つロールで、Employeeデータの詳細情報にアクセスできる権限が与えられます。
 

カスタマーサポートロール

カスタマーサポートロール(Customer Support Role)は、顧客サポートチームのメンバーに与えられるロールで、Customerデータの連絡先情報や購買履歴など、顧客データにアクセスできる権限が与えられます。
 

ロールを使う方法

ロールを設定するには、Power BI DesktopやPower BI Serviceのセキュリティ設定やデータモデルの管理機能を使用します。

適切なロールを設定することで、データのセキュリティを確保し、ユーザーグループごとに必要な情報にアクセスできるようにすることができます。
 

使い方

郵便番号一覧を使って、簡単ですが使う方法を説明していきます。

例として、47都道府県のうち『北海道』の郵便番号データだけが表示されるロールを作成してみます。

PowerBIのツールバー(リボン)から「ホーム」タブを選択し「ロールの管理」をクリックします。

「ロール管理」の画面が表示されるので、「作成」ボタンをクリックします。

「新しいロール名」という欄が表示されるので、ロール名を変更し、フィルタをかけたいテーブル名の左端にある3点リーダーを選択します。

表示されるメニューから「フィルターの追加」を選択し、この場合では「都道府県名」を選択します。

「テーブルフィルターのDAX式」の欄に「北海道 = “値"」と表示されています。

この「値」を「北海道」に変更し、「保存」ボタンをクリックします。

次に「ロール管理」の隣の「表示方法」をクリックします。

「ロールとして表示」という画面が表示されるので、さきほど作成した「郵便番号一覧(北海道)」を選択し、「OK」ボタンをクリックします。

これで北海道データのみが表示される(フィルターがかかった状態で)テーブルが表示されます。