Power Automate で「接続の新規作成だけ弾かれる」理由——Connection Reference と Environment Maker ロールの関係
接続の切り替えは通るのに、新規作成だけ失敗する。このエラーの原因は画面操作の問題ではなく、Connection Reference という Dataverse テーブルへの書き込み権限が Environment Maker ロールに紐づいているという構造にある。この構造を理解せずに「既存接続への切り替えで凌ぐ」運用を続けると、新規接続が必要になった瞬間に必ず詰まる。 前提:本記事は Power Platform 環境(M365 または Dataverse あり)でフローの引き継ぎ・接続設定を担う立場の話。Basic User ロールのみ付与されたユーザー環境での動作が出発点。 接続と Connection Reference は別物——権限が分かれる場所Power Automate では「接続(Connection)」と「接続参照(Connection Reference)」が別の概念として動いている。この分離を把握していないと、エラーメッセージの意味がつかみにくい。 **接続(Connection)**は、コネクタへのサインインで生成される認証トークンのセット。Outlook や SharePoint へのサインインを完了した時点で、接続自体は作成される。この操作は Basic User ロールでも実行可能で、「接続の切り替え(既存接続を別の接続に変更する)」もここで完結する。 **接続参照(Connection Reference)**は、フローやアプリがコネクタに直接バインドせず間接的に参照するための中間レイヤーで、Dataverse の connectionreference テーブルに格納されるリソースだ(Microsoft Learn 公式エンティティリファレンス、2024年)。新規コネクタをフローに追加したとき、または新規フローを作成したときに、この Connection Reference が Dataverse テーブルへ新規書き込みされる。 Dataverse テーブルへの新規書き込みには、Environment Maker ロールが必要になる。接続トークンは作れる。しかし Connection Reference という Dataverse レコードを新しく作る権限がない——それが「切り替えは通るのに新規作成だけ弾かれる」現象の構造的な理由だ。 Environment Maker と Basic User、権限の実質的な差「Environment Maker(環境作成者)」という名称は直感的にわかりにくい。実態は「環境上で新しいリソースを作成できるロール」であり、接続・フロー・アプリ・カスタム API がすべてその対象に含まれる(Microsoft Learn「Role-based security roles for Dataverse」2024年)。 操作 Environment Maker Basic User フロー・アプリの新規作成 可 不可 接続(Connection)の新規作成 可 不可 Connection Reference の新規作成 可 不可 カスタムコネクタの作成 可 不可 既存接続への切り替え(更新) 可 可 Dataverse データへのアクセス 不可(別ロール要) 可(最小限) 表を見ると、Basic User は「既存リソースを動かす」ためのロールであり、「新しいリソースを作る」ためには設計されていない。一方で Environment Maker は「作成」に特化しており、皮肉なことに Dataverse データへのアクセス権は持たない(データアクセスには System Customizer や Business Unit 単位のセキュリティロールが別途必要になる)。 ...