適切な開発プラクティスを適用する
ソリューションでデータ アクセス許可を正しく効率的に適用することが重要です。 適用すべき適切な開発プラクティスを、次の一覧に示します。
アプリ ロジックの代わりにロールを使用して、データ アクセス許可を適用するようにします。 Power BI クライアント API で実現されるクライアント側のフィルター処理は、データ アクセス許可の適用に使用しないでください。 クライアント側のフィルター処理は、ユーザーが表示でいるデータのサブセットを一時的にフィルター処理するためのものです。
ロールが適切に設計された、より少ないデータセット (モデル) を定義するようにします。
動的ルールを使用して、より少ないロールを作成するようにします。 データ駆動型ソリューションは保守が容易です。
ファクト テーブルではなくディメンション テーブル上でルールを作成します。これは、より高速なクエリ パフォーマンスを提供するのに役立ちます。
リレーションシップやリレーションシップのプロパティなど、モデルの設計が正しく設定されていることを検証します。
USERNAME
関数の代わりにUSERPRINCIPALNAME
関数を使用します。 これにより、Power BI Desktop と Power BI サービスでロールを検証するときに一貫性が提供されます。すべてのロールと予想されるユーザー名の値をテストすることで、モデルの RLS を検証します。 予期しない値がユーザー名として渡された場合の動作をテストします。 そのようなインスタンスで、テーブル行が返されないことを確認します。
Power BI Desktop のデータ ソースの接続で、Power BI サービスで設定されるときに適用されるのと同じ資格情報が使用されることを確認します。
アプリ開発者への引き渡しのために、データ モデラーのドキュメント ロール、目的、および予想されるユーザー名の値を要求します。