DataverseがあるPower Platform環境では、ユーザーはセキュリティロールで許可された範囲にしかアクセスできません。それはPower Platform管理者であっても例外ではありません。
しかし、アプリのアクセス権を検証中にちょっとおかしな現象に遭遇したので、この記事でまとめていきたいと思います。
Power Platform 管理者であっても初期状態ではセキュリティロールなし
環境を新規作成した直後は、環境を作成したユーザーにシステム管理者(System Administrator)ロールが割り合っている以外は、セキュリティロールの割り当てが一切なされていません。
この状態だと他のユーザーは環境内のデータにアクセスできないため、環境内で作業するユーザーにはBasic Userや環境作成者(Environment Maker)など、適切なロールを付与する必要があります。
このセキュリティロールによるアクセス制御はPower Platform管理者であっても例外ではありません。環境の管理に関するアクション(フロー・アプリの棚卸、監査ログの有効化など)はできますが、ロールがない状態では環境内のフロー・アプリ・テーブルにアクセスすることは一般ユーザーと同様にできません。
システム管理者ロールがほしいなら自己昇格する
Power Platform 管理者がその環境内のテーブルにアクセスしたり、チーム・ユーザーの管理を行いたい場合は、自己昇格させる必要があります。
この記事の主題ではないため詳しい設定方法には触れませんが、いちばん簡単な方法としてはPower Platform 管理センターの各環境の詳細画面にあるメンバーシップから自分をシステム管理者に追加することができます。

以前はPower Platform管理者であれば、全環境にシステム管理者が自動付与されていましたが、2024年6月以降に作成された環境に対しては手動付与が必要な仕様に変更されています。

権限が十分でないときの本来の挙動
環境に対するセキュリティロールがない
セキュリティロールの割り当てがない環境にアクセスするとどうなるでしょうか?
たとえばPower Apps アプリの編集画面のURLをアドレスバーに直接貼り付けてアクセスすると、以下のようなエラーメッセージが出ます。

環境のホーム画面でも同様のメッセージが出ます。
Power Automateの場合、環境のホーム画面にはアクセスできますが、環境内の誰かから共有を受けていない限り中身は空っぽです。
また、フローを新規作成しようとすると、十分な権限が足りないと表示されてアクションの追加やフローの保存ができません。

アプリ・フローへのアクセス権限がない
環境に対するセキュリティロールがあっても、共有されていないアプリ・フローにはアクセスできません。
アプリ・フローの一覧には表示されませんし、

URLでアクセスしても、エラーメッセージが表示されて編集画面に行くことができません。

なので、仮にシステム管理者のような環境内で強い権限を持つロールがあったとしても、所有者から共有を受けていないアプリ・フローにも勝手にアクセスできてしまうというわけではありません。
PPF管理者なら編集権限のないキャンバスアプリを勝手に編集できちゃう!?
さて、ここからが本題です。
Power Platform管理者がセキュリティロールの割り当てられていない環境にあるキャンバスアプリの編集リンクを入手しました。
そのアプリの所有者はそのPower Platform管理者に編集権限を付与していません。
また、Power Platform管理者自身もその環境においてシステム管理者への自己昇格を行っていません。
この状態でキャンバスアプリの編集リンクにアクセスしてみます。

本来必要な権限やロールがない状態でも、アクセスできてしまいました!
表示のみならず、変更を加えて上書き保存することもできちゃいます。
何ならロールなしでアプリの新規作成もできてしまう
既存のアプリの編集だけでなく、新規作成も可能です。
通常であればEnvrionment Makerやシステム管理者などのロールを持っていないと、環境内にアプリを作成できないはずですが、Power Platform管理者ならそれらのロールなしでも作成できてしまいます。
Power Platform管理者の場合、テナント内の全環境を環境一覧から選択可能なので、どの環境にも好きなときにアプリを作り放題です。

Power Automateフローは弾かれる
この現象で奇妙なのは、Power Automateでは通常ユーザーと同じように作成・編集権限がないことです。
フローの詳細画面にURLからアクセスしても、以下のように「このフローに対するアクセス許可がありません。」と表示されて何も閲覧・編集ができません。

これはMicrosoftが想定している挙動なのか?
これが実務に悪影響を及ぼすかと言うと微妙ですが、個人的に「モヤモヤするなあ」と思っています。
現実世界で考えたら、大家さんなら住人の部屋にある物を勝手に使い放題、勝手に私物置き放題していいってことですからね。
対策としては、Microsoft Entra Privileged Identity ManagementでPower Platform管理者特権付与に有効期限を付けるくらいでしょうか。一定時間後に特権が強制的に外されるので、いつでも他人のアプリを好き放題触れる状態にすることは防ぐことができます。
「バグなのか仕様なのかわからない、こういう挙動もあるんだな」くらいに覚えておいてもらえればいいかなと思います。
コメント