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ライセンスが必要になります

公式には、管理者にライセンスを要求する機能も用意されています。ただしセキュリティグループや配布リストに対してライセンスを要求することはできません——個人単位での対応が必要です。

「共有すれば誰でも使える」わけではない、という点はライセンスの記事で詳しく解説しています。

会社で運用する前に決めること

  1. 共同所有者を複数置く——作成者の異動・退職に備える。エラー通知の宛先にもなる
  2. 10人を超えるならセキュリティグループにする——後から移行するより最初から使うほうが楽
  3. データソース側の権限を必ず設定する——アプリの共有だけでは動かない
  4. 見せたくない情報はデータで分ける——アプリ内で隠すだけでは守れない
  5. 誰がアクセスできるか定期的に確認する——共同所有者は再共有できるため、知らない間に広がることがある

よくある質問

Q. アプリを共有したのに「データが表示されない」と言われます

データソース側の権限が不足しています。SharePointリストやExcelファイルを、アプリの利用者と共有してください。アプリの共有とデータの共有は別の操作です。

Q. 共同所有者とユーザーはどう使い分けますか?

編集させたくない相手は「ユーザー」で十分です。共同所有者は編集と再共有ができるため、実質的な管理権限を渡すことになります。ただし業務用アプリなら、引き継ぎのために共同所有者を複数置くべきです。

Q. 部署異動があるたびに設定を変えるのが大変です

セキュリティグループで共有してください。グループのメンバー管理だけで済み、アプリ側を触る必要がなくなります。

Q. アプリ内で権限に応じて画面を変えれば、セキュリティ対策になりますか?

なりません。アプリ内で非表示にしても、データソースに直接アクセスできればデータは見られます。本当に守りたい情報は、データソース側の権限で分けてください。

Q. 社外の人にアプリを共有できますか?

ゲストユーザーへの共有という仕組みがありますが、組織の設定やライセンスの条件が関わります。管理者への確認が必要です。なお組織内の配布グループや組織外のグループには共有できません

まとめ

  • Power Appsのアクセス制御は①アプリの共有 ②データソースの権限の2層。アプリを共有してもデータは共有されない
  • 権限はユーザー(使うだけ)と共同所有者(編集・再共有も可)の2種類
  • 共同所有者は複数置く——作成者の異動でアプリが孤立するのを防ぐ
  • 人数が増えるならセキュリティグループ。公式も100人超では推奨している
  • アプリ内で隠すことはセキュリティではない。守りたいならデータソース側で権限を分ける
  • Dataverseの場合はセキュリティロール。一度割り当てると共有画面からは解除できない

Power Apps全体の位置づけはPower Appsとは、Teamsでの配布はTeamsで使うで解説しています。

参考・出典