Power Appsのアクセス制限と共有|「データが見えない」原因と権限設計の考え方
Power Appsで作ったアプリを同僚に共有した。ところが相手から「開けるけどデータが表示されない」と連絡が来る——これは非常によくある事態です。
原因はPower Appsのアクセス制御が2層構造になっていることにあります。アプリを共有しても、データは共有されません。この記事では、誰に何を許可するのか、そして「隠す」と「守る」の違いを解説します。
最重要|アプリを共有してもデータは共有されない
Microsoftの公式ドキュメントに明記されています。
「アプリが他のデータソース(OneDrive for Businessでホストされている Excel ファイルなど)への接続を使用している場合は、これらのデータソースを、アプリを共有したユーザーと共有するようにしてください」
つまり必要な作業は2つあります。
| 層 | 何を設定するか | 設定する場所 |
|---|---|---|
| ①アプリ | 誰がアプリを開けるか | Power Apps の共有画面 |
| ②データソース | 誰がデータを読み書きできるか | SharePointやOneDrive側 |
「アプリは開けるのにデータが出ない」の原因は、ほぼ②の設定漏れです。アプリだけ共有して安心してしまうと、この状態になります。
逆に言えば、アプリを共有していなくても、データソースに直接アクセスできる人はデータを見られます。アプリは入口のひとつにすぎません。
権限は2種類|ユーザーと共同所有者
| 権限 | できること | できないこと |
|---|---|---|
| ユーザー | アプリを使う | 編集・再共有はできない |
| 共同所有者 | 使う・編集する・他人に共有する | 所有者の削除・変更はできない |
共同所有者は編集と再共有ができます。安易に付けると、意図しない相手にアプリが広がったり、勝手に改変されたりします。
一方で、共同所有者を1人も置かない状態も危険です。作成者が異動・退職すると、誰も編集できないアプリが残ります。エラー通知も所有者と共同所有者にしか届きません。業務で使うアプリには、必ず複数の共同所有者を置くべきです。
人数が増えるならセキュリティグループを使う
個人を1人ずつ指定する方法は、最初は簡単ですが後で破綻します。公式にもこう記載されています。
「管理エクスペリエンスの低下を回避するには、100人を超えるユーザーとアプリを共有する場合、セキュリティグループを使用します」
セキュリティグループの利点
- メンバーの増減に自動で追従する——グループに入れば権限を継承し、抜ければアクセスできなくなる
- 入退社・異動のたびにアプリを触らなくて済む——グループの管理だけで完結する
- 複数のアプリで同じグループを使い回せる
知っておくべき挙動
- グループの「所有者」は自動ではメンバーになりません——権限を継承するには、自分をメンバーとして明示的に追加する必要があります
- グループに実行権限、特定個人に共同所有者権限、といった組み合わせが可能です。強いほうの権限が適用されます
- 配布グループには共有できません。セキュリティグループである必要があります
- Microsoft 365グループに共有する場合、そのグループでセキュリティを有効にする必要があります(既定では無効)
アプリ内で画面を出し分ける|ただし「隠す」であって「守る」ではない
「管理者にはこのボタンを見せて、一般ユーザーには見せない」——こうした制御はアプリ内で実装できます。ユーザー情報を判定して、コントロールの表示・非表示を切り替える方法です。
しかし、ここで決定的な注意点があります。
アプリ内で非表示にしても、データそのものは守られません。データソースにアクセスできる人は、アプリを経由せずに直接データを見られます。SharePointリストに権限があれば、ブラウザでリストを開けばよいだけです。
| アプリ内の表示制御 | データソースの権限 | |
|---|---|---|
| 目的 | 使いやすさ(不要な機能を隠す) | セキュリティ(アクセスを遮断する) |
| 効果 | 画面に出さない | そもそも取得できない |
| 迂回 | できる(データソースに直接アクセス) | できない |
見せたくない情報があるなら、データソース側で権限を分けるのが本筋です。アプリ内の出し分けは、あくまで画面を整理するための手段と考えてください。
Dataverseを使う場合はセキュリティロール
データソースがDataverseの場合、話が変わります。単に共有するだけでなく、セキュリティロールという仕組みで権限を割り当てます。
アプリの共有画面でロールを選ぶと、共有と同時に割り当てられます。管理者が設定していれば、次のような役割を選べます。
| ロール | 権限の範囲 |
|---|---|
| アプリ閲覧者 | 読み取りのみ |
| アプリユーザー | 自分のレコードはフルアクセス、他は読み取り |
| アプリ作成者 | 作成・読み取りが可能、自分のレコードは編集・削除も可 |
| アプリ管理者 | すべてのレコードにフルアクセス |
注意点として、一度割り当てたセキュリティロールは、アプリの共有画面から解除できません。変更するには共有を解除して再共有するか、管理ポータルで操作する必要があります。Dataverseの利用にはPremiumライセンスが必要である点も併せて確認してください。
共有とライセンスの関係
見落とされやすい点です。アプリにプレミアムコンポーネントが含まれる場合、使う人もPower Appsライセンスが必要になります。
公式には、管理者にライセンスを要求する機能も用意されています。ただしセキュリティグループや配布リストに対してライセンスを要求することはできません——個人単位での対応が必要です。
「共有すれば誰でも使える」わけではない、という点はライセンスの記事で詳しく解説しています。
会社で運用する前に決めること
- 共同所有者を複数置く——作成者の異動・退職に備える。エラー通知の宛先にもなる
- 10人を超えるならセキュリティグループにする——後から移行するより最初から使うほうが楽
- データソース側の権限を必ず設定する——アプリの共有だけでは動かない
- 見せたくない情報はデータで分ける——アプリ内で隠すだけでは守れない
- 誰がアクセスできるか定期的に確認する——共同所有者は再共有できるため、知らない間に広がることがある
よくある質問
Q. アプリを共有したのに「データが表示されない」と言われます
データソース側の権限が不足しています。SharePointリストやExcelファイルを、アプリの利用者と共有してください。アプリの共有とデータの共有は別の操作です。
Q. 共同所有者とユーザーはどう使い分けますか?
編集させたくない相手は「ユーザー」で十分です。共同所有者は編集と再共有ができるため、実質的な管理権限を渡すことになります。ただし業務用アプリなら、引き継ぎのために共同所有者を複数置くべきです。
Q. 部署異動があるたびに設定を変えるのが大変です
セキュリティグループで共有してください。グループのメンバー管理だけで済み、アプリ側を触る必要がなくなります。
Q. アプリ内で権限に応じて画面を変えれば、セキュリティ対策になりますか?
なりません。アプリ内で非表示にしても、データソースに直接アクセスできればデータは見られます。本当に守りたい情報は、データソース側の権限で分けてください。
Q. 社外の人にアプリを共有できますか?
ゲストユーザーへの共有という仕組みがありますが、組織の設定やライセンスの条件が関わります。管理者への確認が必要です。なお組織内の配布グループや組織外のグループには共有できません。
まとめ
- Power Appsのアクセス制御は①アプリの共有 ②データソースの権限の2層。アプリを共有してもデータは共有されない
- 権限はユーザー(使うだけ)と共同所有者(編集・再共有も可)の2種類
- 共同所有者は複数置く——作成者の異動でアプリが孤立するのを防ぐ
- 人数が増えるならセキュリティグループ。公式も100人超では推奨している
- アプリ内で隠すことはセキュリティではない。守りたいならデータソース側で権限を分ける
- Dataverseの場合はセキュリティロール。一度割り当てると共有画面からは解除できない
Power Apps全体の位置づけはPower Appsとは、Teamsでの配布はTeamsで使うで解説しています。
参考・出典
- キャンバス アプリを組織と共有する(Microsoft Learn)――ユーザーと共同所有者の違い、データソースの別途共有、セキュリティグループの挙動、アプリレベルのセキュリティロール







