データマートへのアクセスを制御する

この記事では、行レベルのセキュリティ、Power BI Desktop のルール、データマートがアクセス不可になる、または利用できなくなるしくみなど、データマートへのアクセス制御について説明します。

ワークスペースのロール

各種ワークスペース ロールにユーザーを割り当てることで、データマートに関する次の機能が提供されます。

ワークスペース ロール 説明
管理者 データフローを介したデータの取り込み、SQL と視覚化のクエリの記述、モデルまたはセマンティック モデルの更新 (リレーションシップの作成、メジャーの作成など) を行うためのアクセス許可をユーザーに付与します
Member データフローを介したデータの取り込み、SQL と視覚化のクエリの記述、モデルまたはセマンティック モデルの更新 (リレーションシップの作成、メジャーの作成など) を行うためのアクセス許可をユーザーに付与します
Contributor データフローを介したデータの取り込み、SQL と視覚化のクエリの記述、モデルまたはセマンティック モデルの更新 (リレーションシップの作成、メジャーの作成など) を行うためのアクセス許可をユーザーに付与します
ビューアー SQL と視覚化のクエリの記述、読み取り専用モードでの "モデル ビュー" へのアクセスを行うためのアクセス許可をユーザーに付与します。 詳しくは、「閲覧者の制限事項」を参照してください。

閲覧者の制限事項

閲覧者ロールは、他のワークスペース ロールと比べて制限の大きいロールです。 閲覧者に付与される SQL のアクセス許可が減るだけでなく、実行が制限されるアクションも増えます。

特徴量 制限事項
設定 閲覧者は読み取り専用アクセス権を持っているので、データマートの名前変更、説明の追加、秘密度ラベルの変更は実行できません。
モデル ビュー 閲覧者は、モデル ビューに対して読み取り専用モードになります。
クエリを実行する 閲覧者は、特に付与しない限り完全な DML/DDL 機能を持っていません。 閲覧者は、SQL クエリ エディターで SELECT ステートメントを使ってデータを読み取り、視覚化クエリ エディターのツール バーにあるすべてのツールを使うことができます。 また、閲覧者は Power BI Desktop やその他の SQL クライアント ツールからデータを読み取ることもできます。
Excel で分析 閲覧者は [Excel で分析] を実行するアクセス許可を持っていません。
セマンティック モデルを手動で更新する 閲覧者は、データマートが接続されている既定のセマンティック モデルを手動で更新できません。
新しいメジャー 閲覧者は、メジャーを作成するアクセス許可を持っていません。
系列ビュー 閲覧者は、系列ビューのグラフを参照するアクセス権を持っていません。
アクセス許可の共有または管理 閲覧者は、データマートを他のユーザーと共有するアクセス許可を持っていません。
レポートの作成 閲覧者にはワークスペース内にコンテンツを作成するためのアクセス権がないため、データマートに基づいてレポートを作成することはできません。

行レベルのセキュリティ

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

データマート エディターでデータマートの RLS を構成できます。 データマートで構成された RLS は、自動生成されたセマンティック モデルやレポートなど、ダウンストリーム項目に自動的に適用されます。

Note

データマートは拡張行レベルのセキュリティ エディターを使用します。つまり、Power BI でサポートされているすべての行レベルのセキュリティ フィルターを定義できるわけではありません。 制限には、USERNAME() や USERPRINCIPALNAME() といった動的ルールなど、現在は DAX を使うことによってのみ定義できる式が含まれます。 これらのフィルターを使ってロールを定義するには、DAX エディターを使用するように切り替えてください。

データマートの行レベル セキュリティ (RLS) ロールと規則を定義する

RLS ロールを定義するには、次の手順を実行します。

  1. データマートを開き、リボンから [ロールの管理] を選択します。 Screenshot of the manage roles ribbon button.

  2. [行セキュリティの設定] ウィンドウを使って新しい RLS ロールを作成します。 テーブルにフィルターの組み合わせを定義し、[保存] を選択してロールを保存できます。 Screenshot of the row security settings window.

  3. ロールが保存されたら、[割り当て] を選択してユーザーをロールに追加します。 割り当てたら、[保存] を選択してロールの割り当てを保存し、RLS 設定モーダルを閉じます。 Screenshot of the row security settings selections.

作成されたロールを検証するには、次の手順を実行します。

  1. リボンから [表示方法] ボタンを選択します。 Screenshot of the view as ribbon button.

  2. ロールのチェック ボックスをオンにして検証するロールを選択し、[OK] を選択します。 Screenshot of the manage view as role window.

  3. データ ビューには、選択したロールが持つアクセス権が表示されます。 Screenshot of the view as results.

ご自分のアクセス権に戻すには、リボンの [表示方法] ボタンをもう一度選択し、[なし] を選択します。

Screenshot of the view as role window with none selected.

データマートが利用できなくなるしくみ

データマートは、次のいずれかの状況が発生すると、使用できないデータマートとしてマークされる可能性があります。

状況 1: Premium ワークスペースが Premium から Premium 以外に変更されると、そのワークスペース内のすべてのデータマートが使用できなくなります。 データマート エディターが使用できなくなり、データマートと自動生成されたセマンティック モデルのダウンストリームの使用がブロックされます。 ユーザーまたは管理者は、データマートを復元するために、ワークスペースを元の Premium 容量にアップグレードする必要があります。

状況 2: データフローがデータマートおよび関連付けられたセマンティック モデルを更新するが、システム ロックのためにデータマートまたはセマンティック モデルの更新が保留中の場合、データマートは使用できなくなります。 データマート エディターは、データマートが使用できない状態になるとアクセスできなくなります。 次の図に示す [再試行] アクションを使用すると、ユーザーはデータフロー、データマート、セマンティック モデル間の同期をトリガーできます。 要求されたアクションが完了するまで数分かかる場合がありますが、ダウンストリームの使用を継続できます。

Screenshot of the request access setting.

状況 3: Premium ワークスペースが別のリージョンの別の Premium 容量に移行されると、データマートは「ワークスペースのリージョンが変更されたため、データマートを開くことができません」というエラーとともに利用できなくなります。 データマートを開くためには、データマートが作成された時点で接続されていたリージョンにワークスペースを再接続してください。データマートが作成されたリージョンは、ワークスペースが存在するべきリージョンであり、移行はサポートされていません。この動作は仕様によるものです。

この記事では、データマートへのアクセスの制御に関する情報を提供しました。

データマートと Power BI の詳細については、以下の記事を参照してください。

データフローとデータ変換の詳細については、次の記事を参照してください。