Power Pagesで業務アプリを構築する際、「セキュリティロール」と「Webロール」の違いを正しく理解することは非常に重要です。どちらもアクセス制御に関係しますが、役割が異なります。
今回の記事では、両者の違い、ユースケース、図解を通じてわかりやすく解説します。
セキュリティロール
セキュリティロールは、Dataverse上のデータアクセス権限を制御するためのものです。どのユーザーが、どのテーブルに対して、どの操作(CRUD)を行えるかを定義します。
主な操作権限:
- 読み取り(Read):レコードの閲覧
- 作成(Create):新規レコードの作成
- 編集(Write):既存レコードの編集
- 削除(Delete):レコードの削除
- 関連付け(Append / Append To):関連エンティティ操作
- 所有権変更 / 共有(Assign / Share):Change ownership / share access
これらのロールは、Power Platform Admin Centerで管理され、社内ユーザーだけでなくPower PagesのWebユーザー(Contact)にも割り当て可能です。
Webロール
WebロールはPower Pages専用のロールで、Webサイト内のUIアクセスを制御します。例えば「どのページにアクセスできるか」「どのフォームを表示できるか」などが対象です。
管理対象:
- Webページ(Web Page)
- フォーム(Basic Form / Entity Form)
- リスト(Entity List)
- Webファイル
- サイト設定など
WebロールはDataverse内のContactエンティティに対して割り当てます。
Webロール vs セキュリティロール
項目 | Webロール | セキュリティロール |
---|
管理対象 | UI表示(ページ、フォーム等) | データアクセス(テーブル、レコード) |
割り当て対象 | Webユーザー(Contact) | ユーザー、Webユーザー両方 |
アクセス制御対象 | Power Pagesの画面 | Dataverseの中身 |
例 | /my-profile ページへのアクセス | 自分のContact情報を更新する権限 |
設定場所 | Power Pagesサイト設定 | Power Platform Admin Center |

ユースケース
シナリオ:ユーザーがログインし、自身のプロフィールを更新できるPower Pagesサイトを構築。
実装手順:
- ユーザーがログイン(Contactとして認証)
- Webロールにより
/my-profile
ページが表示可能に - セキュリティロールにより Contactテーブルの自分のレコードを編集可能に
フォームは表示されるが保存できない…という場合は、セキュリティロールのWrite権限が不足している可能性が高いです。
実践Tips
- Webロールとセキュリティロールは必ずセットで考える
- 表示はできるが保存できない場合 → Security Roleの確認を最優先
- 最小権限の原則(Least Privilege Principle)で設定
コメント