Power Automateでフローを実行したときに「アクセスが拒否されました」「この操作は許可されていません」といった権限エラーが発生することがあります。原因の一つにライセンス制限が関係しているケースがあり、特に無料ライセンス(Office 365に付属のもの)では使用できるコネクタやプレミアム機能が限られています。この記事では、ライセンス制限に起因する権限エラーを、フローの入力値や条件分岐の修正によって回避する方法を具体的に解説します。実際の業務で遭遇しやすい事例を交えながら、段階的に対処できるように進めます。
【要点】この記事で確認すること
- 最初に見る場所: フローの実行履歴に表示されるエラーメッセージと、該当アクションの「入力」タブで使用しているコネクタの種類やプレミアムラベルの有無を確認します。
- 切り分けの軸: エラーが発生しているアクションが標準コネクタかプレミアムコネクタか、またはトリガー条件やApply to eachの並列制御によるライセンス消費の違いを軸に切り分けます。
- 注意点: 会社のポリシーでライセンス変更が制限されている場合、あらかじめ管理者に連絡してから修正作業を行うようにしてください。また、フローの共有や実行専用ユーザー設定も影響するため、管理者設定の変更が必要なケースがあります。
ADVERTISEMENT
目次
ライセンス制限による権限エラーのメカニズム
Power Automateには無料ライセンス(Office 365 E3/E5などに付帯)と有料ライセンス(Power Automate per user / per flow)が存在します。無料ライセンスでは使用できるコネクタが標準コネクタ(SharePoint、Outlook、Teamsなど約300種類)に限定され、プレミアムコネクタ(SQL Server、Salesforce、各種REST APIなど)は利用できません。また、フロー内で一度でもプレミアムコネクタを使用すると、フロー全体が有料ライセンスを必要とするようになります。
権限エラーの直接の原因は、ライセンス不足によりPower Automateサービス側でアクションの実行が拒否されることです。具体的には、プレミアムコネクタを含むフローを無料ユーザーが実行しようとすると「この操作にはPower Automate per userライセンスが必要です」というエラーが発生します(エラーコード:ServiceException、AccessDeniedなど)。
一方、標準コネクタのみを使用している場合でも、フローの作成者や承認者のライセンスが不足していると同様のエラーが出ることがあります。特に「承認」アクションや「Apply to each」の並列実行設定はライセンス消費に影響するため注意が必要です。
エラーを切り分けるための確認手順
権限エラーが発生したら、以下の手順で原因を特定します。
- フローの実行履歴を開き、失敗したアクションのエラーメッセージを確認します。「この操作にはプレミアムライセンスが必要です」などの文言があれば、ライセンス制限が原因です。
- 該当アクションの「設定」タブでコネクタの種類を確認します。コネクタ名の横に「プレミアム」と表示されている場合、そのアクションは有料ライセンスが必要です。
- フロー全体のコネクタ一覧を確認するには、フローの編集画面で「コネクタ」タブを開きます。プレミアムコネクタが含まれているかどうかがわかります。
- 使用しているライセンスの種類を確認します。Power AutomateのWebサイトの右上の歯車アイコンから「設定」→「ライセンス」を開くと、現在のライセンスが表示されます。
- フローが実行ユーザー(Run only users)として実行されている場合、そのユーザーに適切なライセンスが割り当てられているか管理者に確認します。
これらの確認でプレミアムコネクタが見つかった場合、入力値や条件分岐を修正してプレミアムコネクタを使わない方法を検討します。どうしてもプレミアムコネクタが必要な場合は、有料ライセンスの購入または管理者によるライセンス割り当てが必要です。
入力値の修正方法(具体例)
権限エラーを回避するために、入力値の調整でプレミアムコネクタの使用を避ける方法を紹介します。
シナリオ:SharePointリストに新しいアイテムを追加するフローで、アイテム作成アクションに「作成者」などのユーザープロパティを動的に設定しようとしたところ、権限エラーが発生しました。これは、ユーザープロファイル情報を取得するためにMicrosoft Entra ID(旧Azure AD)コネクタ(プレミアム)が内部的に呼び出されていたためです。
修正方法:
- 該当アクション(例:「アイテムの作成」)の「動的なコンテンツ」で、トリガー出力から取得可能な値(例:トリガーで渡されたユーザーのメールアドレス)を使用します。
- SharePointに組み込みの関数を使う場合、例えば「作成者」フィールドにユーザー名を直接指定するのではなく、メールアドレスを渡すことで自動解決されることを利用します。
- どうしてもユーザーIDが必要な場合は、フローの最初で「ユーザープロファイル」アクション(標準)を使用して取得します。ただし、これもプレミアムコネクタが必要になる可能性があるため、代替として「HTTP要求」アクション(標準)でMicrosoft Graph APIを呼び出す方法も検討します。ただし、Graph APIでもエンドポイントによってはプレミアムライセンスが必要です。
入力値を最適化することで、不要なプレミアムコネクタの呼び出しを抑えられます。
例:REST API呼び出しで「この操作は許可されていません」
カスタムコネクタやHTTP要求アクションで外部APIを呼び出す場合、認証方式によってはプレミアムライセンスが必要になることがあります。特にAzure AD認証(OAuth2.0)を使用する場合、そのアクションはプレミアムとみなされることがあります。
修正方法:
- APIキー認証(クエリ文字列またはヘッダー)に変更できるかを確認します。APIキー認証であれば標準コネクタとして扱われることが多いです。
- どうしてもAzure AD認証が必要なら、フローを「Power Automate per user」ライセンスで実行するよう管理者に依頼するか、プレミアムコネクタを使用しない代替APIを探します。
条件分岐の修正方法(具体例)
条件分岐を適切に設定することで、プレミアムコネクタの呼び出しが必要な場合とそうでない場合を切り替え、ライセンス消費を最適化します。
例:特定の条件下でのみプレミアムコネクタを使用する
フローの中で、ある条件下でのみプレミアムコネクタを使う処理が必要なケースがあります。例えば、チーム内でのみ承認フローを実行し、その承認アクション(プレミアム)が必要な場合です。このような場合、条件分岐を使って、承認が必要なときだけプレミアムコネクタを呼び出し、それ以外は標準コネクタのみで処理を完結させる方法があります。
- フローに「条件」アクションを追加し、承認が必要かどうかを判定する式を設定します(例:@equals(triggerOutputs()?[‘body/重要度’],’高’))。
- 条件が「はい」の場合の分岐に、承認アクション(プレミアムコネクタ)を配置します。
- 条件が「いいえ」の場合の分岐では、標準コネクタのみを用いて処理を行います(例えば、メール送信にOutlookコネクタを使用するなど)。
- この方法により、フロー全体が常にプレミアム扱いになるのを防ぎ、必要なときだけライセンスを消費します。
ただし、注意点があります。条件分岐でプレミアムアクションが含まれる場合、フロー全体の「必要なライセンス」は条件に関係なくプレミアムが必要と判定される可能性があります。Power Automateの仕様上、フロー内に1つでもプレミアムアクションが存在すると、フロー全体がプレミアムと見なされることが多いです。この問題を回避するには、プレミアムアクションを使うフローと使わないフローを別々に作成し、条件分岐で呼び出す親フローを使う方法(分割)が有効です。
例:Apply to eachの並列制御を調整する
Apply to eachアクションで並列実行を有効にすると、パフォーマンスは向上しますが、各イテレーションが別々のセッションとして扱われ、ライセンスの消費が増えることがあります。特にプレミアムコネクタをApply to eachで使用する場合、各イテレーションごとにライセンスが必要となり、大量のアイテムを処理しようとするとエラーが発生することがあります。
修正方法:
- Apply to eachの「設定」で「並列実行」をオフ(1に設定)にします。これにより、すべてのイテレーションが逐次処理され、ライセンス消費が安定します。
- または、並列実行数を制限します(例:50)。ただし、並列数が多いとライセンス制限に引っかかる可能性があるため、適切な値を設定します。
管理者に確認すべきライセンス設定
個人でライセンスを変更できない場合、管理者に以下の点を確認してもらう必要があります。
| 確認事項 | 詳細 | 影響 |
|---|---|---|
| 現在のライセンス割り当て | ユーザーにPower Automate per userライセンスが割り当てられているか | 割り当てがないとプレミアムコネクタが使えない |
| フローの実行専用ユーザー設定 | フローが「実行専用ユーザー」として実行される場合、そのユーザーにライセンスが必要 | 設定ミスでエラーが発生 |
| Power Platform管理センターの制限 | テナント全体でDurable Functionなどプレミアム機能の使用が禁止されている可能性 | 管理者による設定変更が必要 |
管理者に確認するときは、具体的なエラーメッセージのスクリーンショットと、どのコネクタでエラーが出たかを伝えるとスムーズです。
よくある質問と失敗パターン
Q: 「この操作にはプレミアムライセンスが必要です」と表示されますが、標準コネクタしか使っていないはずです。なぜですか?
A: フロー内で「ユーザープロファイル」や「Azure AD」アクションを一度でも使用すると、それがプレミアムコネクタと判定される場合があります。また、「HTTP要求」アクションでも認証方式によってはプレミアム扱いになります。アクションのプロパティで「プレミアム」ラベルの有無を再確認してください。
Q: 条件分岐でプレミアムコネクタを使わないようにしたのに、まだエラーが出ます。
A: フロー全体にプレミアムアクションが一つでも存在する場合、フロー全体がプレミアムと評価されるため、条件分岐で回避しても意味がないことがあります。その場合はフローを分割する必要があります。親フロー(標準)から子フロー(プレミアム)を呼び出す構成にすることで、必要なときだけプレミアムライセンスが消費されます。
Q: 並列実行を減らすことでエラーが解決するのはなぜですか?
A: 並列実行数が多いと、Power Automate側で同時に実行されるセッション数が増え、ライセンスの同時消費制限に引っかかることがあります。逐次実行にすることで制限内に収まりやすくなります。
失敗パターン: 入力値に動的にユーザーIDを指定しようとして、意図せずプレミアムコネクタを呼び出してしまうケースが多いです。また、Apply to eachの中で外部APIを呼び出す際に、ループ内で毎回認証トークンを取得する処理がプレミアム扱いになることもあります。入力値の見直しと条件分岐の設計時には、これらの点を意識してください。
まとめ
ライセンス制限による権限エラーは、入力値の見直しと条件分岐の最適化である程度回避できます。まずはエラーメッセージとアクションのコネクタラベルを確認し、標準コネクタのみで処理できるか検討してください。どうしてもプレミアムコネクタが必要な場合は、条件分岐を活用して必要なときだけ使用する設計にするか、フローを分割することでライセンス消費を抑制できます。管理者と連携してライセンスの割り当てやポリシーを確認することも重要です。これらの対処で、多くの権限エラーは解決可能です。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【PDF】PDFのサムネイルプレビューが表示されない!エクスプローラーの設定とAcrobat環境設定
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
