Power AutomateのApply to eachアクションを使用していると、権限エラーが発生してフローが失敗することがあります。このエラーは多くの場合、接続設定の不一致やフロー所有者の権限不足が原因です。エラーコードやメッセージを確認しながら、適切に原因を切り分けることで迅速に解決できます。本記事では、権限エラーの代表的な原因と、接続と所有者に焦点を当てた確認手順を詳しく解説します。
【要点】この記事で確認すること
- 最初に見る場所: フローの実行履歴に表示されるエラーメッセージと、関連するコネクタの認証状態
- 切り分けの軸: フロー所有者の権限、接続で使用しているアカウント、対象リソース(SharePointなど)のアクセス許可
- 注意点: 会社のポリシーにより、個人アカウントでの接続が制限されている場合があるため、管理者に確認を取ってから対処すること
ADVERTISEMENT
目次
Apply to eachで発生する権限エラーの代表的な原因
Apply to eachアクションにおける権限エラーは、主に三つの原因に分類できます。それぞれの原因を理解することで、適切な対処が可能になります。
原因1:接続の認証が切れている
Power Automateのコネクタは、一定期間が経過すると認証トークンが失効します。特にパスワードを変更した場合や、長期間フローを編集していなかった場合に発生しやすくなります。エラーメッセージには「認証に失敗しました」や「Unauthorized」といった文言が表示されることが多いです。
原因2:フロー所有者と接続アカウントが異なる
フローの所有者がAさんであっても、Apply to each内で使用している接続のアカウントがBさんのままになっているケースです。例えば、Aさんがフローを作成した後、Bさんに共有してBさんが接続を変更した場合に、この状態が発生します。フロー実行時に「アクセスが拒否されました」というエラーが出ることがあります。
原因3:対象リソースへのアクセス権限がない
接続で使用しているアカウントに、Apply to eachで処理するデータ(SharePointリストやSQLテーブルなど)に対する十分な権限が付与されていない場合です。例えば、読み取り専用のアカウントで書き込みアクションを実行しようとすると権限エラーになります。
接続設定の確認手順
権限エラーの原因を特定するには、まず接続設定を確認します。以下の手順で確認を行ってください。
- Power Automate(make.powerautomate.com)にサインインし、問題が発生しているフローを開きます。
- 編集画面でApply to eachアクションを選択し、アクション内のコネクタ(例:SharePoint)の設定を開きます。
- 「接続」欄に表示されているアカウント名を確認します。ここに表示されているアカウントが実際に使用されている認証情報です。
- アカウント名の横にある「変更」リンクをクリックし、正しいアカウントで再認証を行います。必要に応じて新しい接続を作成します。
- 変更後、「保存」してから「テスト」を実行し、権限エラーが解消されたか確認します。
- 複数のコネクタを使用している場合は、すべてのアクションで同様の確認を行ってください。
フローの所有者と共有設定の確認手順
接続の確認だけでは解決しない場合、フローの所有者や共有設定に問題がある可能性があります。以下の手順で確認します。
- フローの一覧画面で該当フローを選択し、メニューバーの「共有」をクリックします。
- 現在の所有者と共有ユーザーの一覧を確認します。所有者は1名ですが、フローを実行できるユーザーは「実行専用」または「共同所有者」として追加できます。
- 「追加」ボタンでユーザーを追加する際、権限レベルを確認します。「共同所有者」はフローの編集と実行が可能ですが、「実行専用」のユーザーは実行のみ可能で、接続の変更はできません。
- 権限エラーが出ているユーザーが「実行専用」の場合、そのユーザーが使用する接続が正しく設定されているか確認します。フロー所有者の接続が自動的に使用されるわけではないため、実行ユーザー用の接続が必要なアクションがあります。
- 必要に応じて、該当ユーザーを「共同所有者」に昇格させるか、そのユーザー専用の接続を追加で設定します。変更後は必ずテスト実行を行ってください。
エラーが発生する具体的なパターンと解決方法
実際に発生しやすいパターンを表にまとめました。自分の状況に当てはめて確認することで、原因を特定しやすくなります。
| パターン | エラーの状況 | 主な原因 | 解決方法 |
|---|---|---|---|
| フロー共有後の権限エラー | 共有されたユーザーがフローを実行するとApply to eachでエラーが発生する | フロー所有者の接続が共有ユーザーに認識されず、認証情報が不足している | 共有ユーザー用の接続を作成し、Apply to eachのアクション設定でその接続を指定する。または共有ユーザーを共同所有者にする |
| パスワード変更後のエラー | パスワードを変更した直後からエラーが発生するようになった | 接続の認証トークンが無効になった | 該当コネクタの接続を編集し、新しいパスワードで再認証する |
| リソース権限不足 | 特定のアクション(リスト更新やファイル作成)でのみ権限エラーが発生する | 接続アカウントに該当リソースの書き込み権限がない | 対象リソース(SharePointサイトやSQLデータベース)の管理者に依頼して、アカウントに適切な権限を付与してもらう |
| 委任認証が必要な場合 | フローが委任認証を要求するAPIに対して権限エラーが出る | コネクタの認証方法が委任(Delegated)とアプリケーション(Application)のどちらかが適切でない | Azure ADでアプリケーションの登録とAPIの権限設定を確認し、適切な認証方法を選択する。管理者のサポートが必要な場合が多い |
管理者に確認すべき設定項目
自分で対処しても権限エラーが解決しない場合は、管理者に以下の設定を確認してもらう必要があります。
データ損失防止ポリシー(DLP)
会社のDLPポリシーによって、特定のコネクタの使用が制限されている場合があります。例えば、SharePointとSQL Serverの両方を使用するフローがポリシー違反になり、アクションがブロックされることがあります。管理者にポリシーの設定内容を確認し、必要に応じて例外申請を行ってください。
コネクタの使用制限
テナント全体で特定のコネクタ(例:Microsoft 365 GroupsやAzure Functions)が無効にされている場合、Apply to each内でそれらを使用すると権限エラーになります。Power Platform管理センターでコネクタの状態を確認してもらいましょう。
アプリケーションのアクセス許可
カスタムコネクタやAPIを使用している場合、Azure AD上で適切なアクセス許可が設定されていないと権限エラーが発生します。管理者にアプリケーションの登録とAPIの権限付与を依頼してください。
よくある質問
ここでは、権限エラーに関してよく寄せられる質問とその回答を紹介します。
Q1. Apply to eachのループ内で権限エラーが出るが、ループ外のアクションは正常に動作します。なぜですか?
A1. ループ内のアクションで使用しているコネクタが、ループ外のアクションとは異なる接続設定になっている可能性があります。各アクションの接続を個別に確認し、正しい認証情報が設定されているか確かめてください。また、ループ内で変数や動的コンテンツを使用している場合、そのデータソースへのアクセス権限が不足していることも原因となります。
Q2. エラーコード403が表示されるのですが、どう対処すればよいですか?
A2. エラーコード403は「アクセス拒否」を意味します。接続で使用しているアカウントに、対象リソースへのアクセス権限がないことがほとんどです。まず接続アカウントの権限を確認し、必要に応じてリソース管理者に権限付与を依頼してください。また、フローが委任認証を使っている場合、そのアカウントにAPIのアクセス許可が不足している可能性もあるため、Azure ADでの設定も確認します。
Q3. フローを共同作成者と共有しているのに権限エラーが出ます。共有の仕方に問題がありますか?
A3. 共同作成者として共有されていても、フロー内のアクションで使用されている接続が共有ユーザーのものと異なる場合、権限エラーが発生することがあります。共同作成者はフロー編集は可能ですが、既存の接続を自動的に使用できるわけではありません。接続設定で「新しい接続」を作成し、共有ユーザーのアカウントで認証する必要があります。また、フロー所有者のデフォルト接続を使用する設定になっていないか、アクションごとに確認してください。
Q4. 接続の再認証をしても権限エラーが解消されません。他に確認すべきことはありますか?
A4. 接続の再認証だけでなく、Power Automateのキャッシュが原因で古い認証情報が残っている場合があります。ブラウザのキャッシュをクリアするか、Power Automateからサインアウトして再度サインインしてみてください。また、接続が複数の環境(開発、テスト、本番)で異なる設定になっていることもありますので、環境の切り替えも確認してください。
Q5. フローを実行したときだけ権限エラーが出て、手動でテストすると成功するのはなぜですか?
A5. 手動テストでは現在サインインしているユーザーの認証情報が使われるため、権限エラーになりにくいです。一方、フローを自動実行するときは、フロー所有者の認証情報(または共有設定で指定されたユーザーの認証情報)が使われます。フロー所有者のアカウントに権限がない場合、エラーが発生します。フロー所有者の権限を確認し、適切な接続設定を行ってください。
まとめ
Apply to eachで権限エラーが発生したら、まずエラーメッセージを確認し、接続の認証状態とフロー所有者の権限をチェックすることが重要です。原因に応じて接続の再認証や所有者の変更を行いましょう。再発防止には、定期的な認証確認と共有設定の見直しが有効です。また、会社のポリシーや管理者設定が影響する場合もあるため、必要に応じて管理者に相談することをおすすめします。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【PDF】PDFのサムネイルプレビューが表示されない!エクスプローラーの設定とAcrobat環境設定
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
