Power BI Desktop での行レベルのセキュリティ (RLS)Row-level security (RLS) with Power BI Desktop

Power BI Desktop で行レベル セキュリティ (RLS) を使用すると、特定のユーザーのデータ アクセスを制限できます。Row-level security (RLS) with Power BI Desktop can be used to restrict data access for given users. フィルターは、行レベルでデータを制限します。Filters restrict data at the row level. 役割内でフィルターを定義できます。You can define filters within roles.

Power BI Desktop で Power BI にインポートされたデータ モデルの RLS を構成できます。You can now configure RLS for data models imported into Power BI with Power BI Desktop. SQL Server などの DirectQuery を使用しているデータセットに RLS を構成することもできます。You can also configure RLS on datasets that are using DirectQuery, such as SQL Server. これまで、RLS を実装できるのは、Power BI の外部にあるオンプレミスの Analysis Services モデル内だけでした。Previously, you were only able to implement RLS within on-premises Analysis Services models outside of Power BI. Analysis Services のライブ接続では、オンプレミスのモデルに行レベルのセキュリティを構成します。For Analysis Services live connections, you configure Row-level security on the on-premises model. このセキュリティ オプションは、ライブ接続データセットには表示されません。The security option will not show up for live connection datasets.


Power BI サービス内で役割/ルールを定義した場合は、Power BI Desktop でこれらの役割を作成しなおし、サービスにレポートを公開する必要があります。If you defined roles/rules within the Power BI service, you will need to recreate those roles within Power BI Desktop and publish the report to the service.

Power BI サービス内の RLS のオプションについては、こちらを参照してください。Learn more about options for RLS within the Power BI Service.

Power BI Desktop 内でロールとルールを定義するDefine roles and rules within Power BI Desktop

Power BI Desktop 内でロールとルールを定義できます。You can define roles and rules within Power BI Desktop. Power BI に発行するとき、ロールの定義も発行されます。When you publish to Power BI, it will also publish the role definitions.

セキュリティ ロールは次のように定義できます。To define security roles, you can do the following.

  1. Power BI Desktop レポートにデータをインポートするか、DirectQuery 接続を構成します。Import data into your Power BI Desktop report, or configure a DirectQuery connection.


    Analysis Services ライブ接続の Power BI Desktop 内ではロールを定義できません。You cannot define roles within Power BI Desktop for Analysis Services live connections. Analysis Services モデル内で定義する必要があります。You will need to do that within the Analysis Services model.

  2. [モデリング] タブを選択します。Select the Modeling tab.
  3. [ロールの管理] を選択します。Select Manage Roles.

  4. [作成] を選択します。Select Create.

  5. ロールの名前を指定します。Provide a name for the role.
  6. DAX ルールを適用するテーブルを選択します。Select the table that you want to apply a DAX rule.
  7. DAX 式を入力します。Enter the DAX expressions. この式は true か false を返すはずです。This expression should return a true or false. たとえば、[Entity ID] = “Value” のようになります。For example: [Entity ID] = “Value”.


    この式の中では username() を使用できます。You can use username() within this expression. Power BI Desktop 内では username() の形式は DOMAIN\username になることにご注意ください。Be aware that username() will have the format of DOMAIN\username within Power BI Desktop. Power BI サービス内では、ユーザーの UPN の形式になります。Within the Power BI service, it will be in the format of the user's UPN. また、必ずユーザー プリンシパル名の形式でユーザーを返す userprincipalname() を使用することもできます。Alternatively, you can use userprincipalname() which will always return the user in the format of their user principal name.

  8. DAX 式を作成した後、式ボックスの上にあるチェックを選択し、式を評価できます。After you have created the DAX expression, you can select the check above the expression box to validate the expression.

  9. [保存]を選択します。Select Save.

Power BI Desktop 内のロールにユーザーを割り当てることはできません。You cannot assign users to a role within Power BI Desktop. 割り当ては Power BI サービス内で行われます。This is done within the Power BI service. username() または userprincipalname() DAX 関数を使用し、適切な関係を構成することで、Power BI Desktop 内で動的セキュリティを有効にできます。You can enable dynamic security within Power BI Desktop by making use of the username() or userprincipalname() DAX functions and having the proper relationships configured.

Power BI Desktop 内でのロールの検証Validating the role within Power BI Desktop

ロールの作成後、Power BI Desktop 内でロールの結果をテストできます。After you have created your role, you can test the results of the role within Power BI Desktop. これを行うには、[ロールとして表示] を選択します。To do this, select View As Roles.

[ロールとして表示] ダイアログでは、その特定のユーザーまたはロールに対して表示されるビューを変更できます。The View as roles dialog allows you to change the view of what you are seeing for that specific user or role. 作成したロールが表示されます。You will see the roles you have created.

作成したロールを選択し、[OK] を選択すると、そのロールが表示内容に適用されます。You select the role you created and then select OK to apply that role to what you are viewing. レポートには、そのロールに関連するデータのみが表示されます。The reports will only render the data relevant for that role.

その他のユーザーを選択し、特定のユーザーを指定することもできます。You can also select Other user and supply a given user. Power BI サービスで使用されるユーザー プリンシパル名 (UPN) を指定することが推奨されます。It is best to supply the User Principal Name (UPN) as that is what the Power BI service will use. [OK] を選択すると、ユーザーに表示される内容に基づいてレポートがレンダリングされます。Select OK and the reports will render based on what that user can see.


Power BI Desktop 内では、DAX 式に基づいて動的セキュリティを使用している場合、異なる結果のみが表示されます。Within Power BI Desktop, this will only display different results if you are using dynamic security based on your DAX expressions.


クラウド モデルの行レベル セキュリティにおける現在の制限事項を次に示します。Here is a list of the current limitations for row-level security on cloud models.

  • Power BI サービス内でロール/ルールを以前に定義している場合、Power BI Desktop 内で再作成する必要があります。If you previously had roles/rules defined within the Power BI service, you will need to recreate them within Power BI Desktop.
  • RLS は、クライアントを使用して作成されたデータセットにのみ定義できます。You can define RLS only on the datasets created using Power BI Desktop client. Excel で作成されたデータセットに対して RLS を有効にするには、最初にファイルを PBIX ファイルに変換する必要があります。If you want to enable RLS for datasets created with Excel, you will need to convert your files into PBIX files first. 詳細情報Learn more
  • ETL と DirectQuery 接続のみサポートされます。Only ETL, and DirectQuery connections are supported. Analysis Services へのライブ接続は、オンプレミス モデルで処理されます。Live connections to Analysis Services are handled in the on-premises model.
  • 現在のところ、Q&A と Cortana は RLS でサポートされていません。Q&A and Cortana is not supported with RLS at this time. すべてのモデルで RLS が構成されている場合、ダッシュボードの Q&A 入力ボックスは表示されません。You will not see the Q&A input box for dashboards if all models have RLS configured. これはロードマップにありますが、タイムラインは利用できません。This is on the roadmap, but a timeline is not available.
  • 外部共有は、現在のところ、RLS を使用するデータセットでは利用できません。External sharing is not currently supported with datasets that use RLS.
  • 任意の特定のモデルで、セキュリティ ロールに割り当てることができる Azure AD プリンシパル (個々のユーザーまたはセキュリティ グループ) の最大数は 1,000 です。For any given model, the maximum number of Azure AD principals (i.e. individual users or security groups) that can be assigned to security roles is 1,000. 多数のユーザーをロールに割り当てるには、個々のユーザーではなく、セキュリティ グループを割り当てることを確認します。To assign large numbers of users to roles, be sure to assign security groups, rather than individual users.

既知の問題Known issues

以前に発行されていない場合、Power BI Desktop から発行しようとすると、エラー メッセージが届くという既知の問題があります。There is a known issue where you will receive an error message when trying to publish from Power BI Desktop if it was previously published. シナリオは次のようになります。The scenario is as follows.

  1. Anna には Power BI サービスに発行されたデータセットが与えられており、RLS を構成しています。Anna has a dataset that is publised to the Power BI service and has configured RLS.
  2. Anna は Power BI Desktop でレポートを更新し、再発行します。Anna updates the report in Power BI Desktop and re-publishes.
  3. Anna にはエラーが届きます。Anna will receive an error.

回避策: この問題が解決されるまで、Power BI サービスから Power BI Desktop ファイルを再発行します。Workaround: Re-publish the Power BI Desktop file from the Power BI service until this issue is resolved. これを行うには、[データの取得] > [ファイル] を選択します。You can do that by select Get Data > Files.


質問: 以前に、Power BI サービスでデータセットのロール/ルールを作成している場合はどうなりますか。Question: What if I had previously created roles/rules for a dataset in the Power BI service? 何もしなくても動作しますか。Will they still work if I do nothing?
回答: いいえ。Answer: No. ビジュアルは正しく表示されません。Visuals will not render properly. Power BI Desktop 内でロール/ルールを再作成し、Power BI サービスに発行する必要があります。You will have to re-create the roles/rules within Power BI Desktop and then published to the Power BI service.

質問: Analysis Services データ ソースにこれらのロールを作成できますか。Question: Can I creates these roles for Analysis Services data sources?
回答: Power BI Desktop にデータをインポートした場合は作成できます。Answer: You can if you imported the data into Power BI Desktop. ライブ接続を使用している場合、Power BI サービス内で RLS を構成できなくなります。If you are using a live connection, you will not be able to configure RLS within the Power BI service. これは Analysis Services モデルのオンプレミス内で定義されます。This is defined within the Analysis Services model on-premises.

質問: RLS を使って、ユーザーがアクセスできる列またはメジャーを制限できますか。Question: Can I use RLS to limit the columns or measures accessible by my users?
回答: いいえ。Answer: No. ユーザーは、特定のデータ行にアクセスできる場合は、その行のすべてのデータ列を見ることができます。If a user has access to a particular row of data, they can see all the columns of data for that row.

質問: RLS を使って、詳細なデータは表示されないようにしながら、ビジュアルの集計データにはアクセスできるようにすることができますか。Question: Does RLS allow me to hide detailed data but give access to data summarized in visuals?
回答:いいえ、個々のデータ行は保護されますが、ユーザーは常に詳細データまたは集計データを見ることができます。Answer: No, you secure individual rows of data but users can always see either the details or summarized data.

次の手順Next steps

Power BI サービスでの行レベルのセキュリティ (RLS)Row-level security (RLS) with the Power BI service

他にわからないことがある場合は、More questions? Power BI コミュニティで質問してみてくださいTry asking the Power BI Community