ADVERTISEMENT

【Power Automate】HTTPアクションでつまずく時の接続と所有者の確認

【Power Automate】HTTPアクションでつまずく時の接続と所有者の確認
🛡️ 超解決

Power AutomateのHTTPアクションは、外部APIや社内システムと連携する際に欠かせない機能ですが、認証や接続の所有者に関するトラブルでつまずくことが多くあります。特にフローが突然エラーを吐いたり、他のユーザーが実行したときに失敗する場合、原因は接続設定や所有者の違いにあることが少なくありません。本記事では、HTTPアクションで発生しやすい問題を接続と所有者の観点から整理し、迅速に原因を特定して解決するための手順をお伝えします。

【要点】この記事で確認すること

  • 最初に見る場所: HTTPアクションの接続参照(コネクション)とその所有者、そしてフロー実行時の認証エラーメッセージを確認します。
  • 切り分けの軸: フローを実行したユーザーと接続の所有者が一致しているかどうか、そして認証方式(基本認証、OAuth2、Azure AD統合など)が適切に設定されているかが重要な切り分けポイントです。
  • 注意点: 会社のポリシーによっては個人の接続を共有できない場合があります。また、接続の所有者を変更する際には、その接続が他のフローで使われていないか事前に確認しましょう。

ADVERTISEMENT

HTTPアクションでよくあるエラーと原因の切り分け

HTTPアクションで発生するエラーは、大きく分けて認証エラー(401 Unauthorizedなど)、接続タイムアウト、そして許可がない旨のメッセージ(403 Forbidden)などが代表的です。これらの原因のほとんどは、接続設定の不備か、実行時のコンテキスト(誰が実行するか)にあります。フローを自分が実行するときに限り正常動作するが、他のユーザーが実行すると失敗する場合、接続の所有者を疑ってください。

認証エラー(401)が発生する場合

認証エラーの最も多い原因は、接続で使用している認証情報の有効期限切れやパスワード変更です。HTTPアクションには「接続」と呼ばれるリソースが関連付けられており、その接続内でユーザー名やパスワード、APIキーなどを保存しています。フローが実行されるたびにその接続を使って認証が行われますが、もし認証情報が古くなっていると401エラーになります。また、接続の所有者がフローを作成した本人であっても、そのアカウントのパスワードが変更されると、接続は自動的に更新されずにエラーとなる点に注意が必要です。

接続の所有者が異なることによる問題

Power Automateの接続は常に1人のユーザー(所有者)に紐づいています。フローを他のユーザーと共有し、そのユーザーが実行する場合、HTTPアクションが参照する接続の所有者と実行ユーザーが異なることで認証が失敗することがあります。これは、特に「Microsoft Entra ID(旧Azure AD)認証」や「OAuth2認証」を使用する場合に顕著です。例えば、接続の所有者がAさんで、フローをBさんが手動実行したとき、Bさんの権限では接続の認証トークンを取得できないためエラーになります。

接続の所有者を確認する手順

では、実際に接続の所有者を確認し、必要に応じて修正する手順を説明します。ここではPower Automateのポータル画面から操作します。

  1. Power Automate(make.powerautomate.com)にログインします。
  2. 左側のメニューから「データ」→「接続」を選択します。ここにフローで使用されている全ての接続が一覧表示されます。
  3. 問題のHTTPアクションを含むフローを開き、アクションの設定画面で「接続」欄に表示されている接続名を確認します。多くの場合、接続名は「HTTP」や「HTTP with Azure AD」などです。
  4. 「接続」一覧画面で該当の接続を見つけ、その行の「所有者」列を確認します。所有者が自分のアカウントか、それとも別のユーザーかをチェックします。
  5. もし接続を編集したい場合は、接続をクリックして詳細画面を開きます。ただし、所有者を変更することはできません。新しい接続を作成してフローで参照を切り替える必要があります。
  6. 必要な場合は、新しい接続を作成します。「接続」一覧画面の上部にある「新しい接続」をクリックし、接続の種類として「HTTP」を選択します。認証方式(基本、OAuth2など)を選び、適切な資格情報を入力して作成します。
  7. フロー編集画面に戻り、HTTPアクションの設定で既存の接続を、先ほど作成した新しい接続に変更します。接続のドロップダウンから新しい接続を選択し、保存します。

これらの手順により、接続の所有者を自分のアカウントに統一できます。ただし、組織のポリシーによっては、個人で接続を作成できない場合もあります。その際は次項で説明する管理者への確認が必要です。

失敗パターンと具体例

実際の現場でよく見られる失敗パターンを表にまとめました。自分の遭遇している状況と照らし合わせてみてください。

状況・パターン フロー実行結果 典型的なエラーメッセージ 考えられる原因
フロー作成者(Aさん)のみ実行成功、他のユーザーは失敗 401 Unauthorized または 403 Forbidden “A connection was not found” または “Access denied” HTTPアクションの接続所有者がAさんであり、他のユーザーがその接続を使用する権限を持っていない。
突然フローが動作しなくなった(自分でも失敗する) 401 Unauthorized “Authentication failed. The access token is expired.” 接続に保存された認証情報(パスワードやAPIキー)が変更または期限切れになっている。
フローを共有して実行したが「接続が見つからない」エラー 400 Bad Request または 404 “The connection reference is missing or invalid.” フローの所有者が接続を削除した、または接続が別の環境に存在している。
Azure AD認証を使っているが、一部のユーザーだけ403 403 Forbidden “Insufficient privileges to complete the operation.” HTTPアクションで委任された権限が不足している。または接続所有者のEntra IDテナントでは許可されているが、実行ユーザーのテナントでは許可されていない。

この表を見れば、問題の切り分けが容易になるでしょう。特に「接続所有者が実行ユーザーと異なる」パターンは非常に多いため、フローを共有する際は常に接続の所有権意識が必要です。

管理者に確認すべき設定事項

HTTPアクションのトラブルが解消しない場合、Power Platform管理者またはExchange Online管理者に以下の点を確認してもらいましょう。

  • データ損失防止(DLP)ポリシー: HTTPアクションがブロックされていないか。管理者が特定のコネクタを禁止していると、フローそのものが実行できないことがあります。
  • コネクタの共有設定: 組織全体で使用できる共有コネクタ(例えば、HTTP with Azure AD)が適切に設定されているか。共有コネクタを使えば、接続所有者の問題を回避できる場合があります。
  • アプリ登録とAPIアクセス許可: HTTPアクションがMicrosoft Entra IDのリソースにアクセスする場合、アプリ登録のAPIアクセス許可が必要です。管理者はテナントレベルで「同意」を与える必要がある場合があります。
  • 委任とアプリケーションの権限: フローで使用している認証方式が「委任」ベースか「アプリケーション」ベースかで、必要な設定が変わります。管理者に委任の設定が正しいか確認を依頼しましょう。

管理者への確認は、エラーメッセージのスクリーンショットや実行履歴のログを添えて依頼するとスムーズです。

よくある質問

最後に、HTTPアクションの接続と所有者に関してよく寄せられる質問をまとめました。

  • Q: 接続の所有者を変更することはできますか?
    A: 残念ながら、既存の接続の所有者を変更することはできません。新しい接続を作成し、フローのアクションでその接続を参照するように変更する必要があります。フローが複数ある場合は、すべてのフローで参照を更新してください。
  • Q: フローを共有するときに、接続も一緒に共有されますか?
    A: いいえ。接続はフローとは別のリソースです。フローを共有しても、接続の所有者は変わりません。共有先のユーザーがフローを実行する場合、そのユーザー自身の接続が必要になります。または、管理者が組織全体の共有接続を設定している場合があります。
  • Q: HTTPアクションに代わる方法はありますか?
    A: 連携先がMicrosoft 365サービスであれば、専用コネクタ(Outlook、SharePointなど)を使う方が認証周りでトラブルが少ないです。汎用的なHTTPリクエストが必要な場合は、「HTTP with Azure AD」コネクタを使用し、Entra IDのアプリ登録を適切に設定すると、テナント内での認証が統一できます。
  • Q: エラーメッセージに「接続が見つかりません」と出ます。どうすればいいですか?
    A: 原因として、接続が削除された、または所有者が別の環境(開発環境など)に存在している可能性があります。フローを開いてアクションの設定を確認し、接続が有効な状態かどうかチェックしてください。接続が一覧にない場合は再接続を作成する必要があります。

まとめ

HTTPアクションのトラブルは、接続の所有者と認証情報の管理に集約されます。まずはフロー実行時のエラー内容を確認し、接続の所有者が適切かどうかを確認しましょう。所有者が異なる場合は新しい接続を作成してフローを更新し、認証情報の期限切れが疑われる場合は接続を再認証(編集)します。組織でフローを共有する際には、共有コネクタの利用も検討するとよいでしょう。これらの基本を押さえておけば、HTTPアクションにつまずく頻度は格段に減らせます。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT