Power Automateのエラーコード401の意味は?改善方法は?

Power Automateで「401エラー」が出た!原因と解決方法を徹底解説

「Power Automateのフローが突然止まって、エラーメッセージに『401 Unauthorized』って出たんだけど、これってどういう意味?」「このエラーが出ると、どうすればいいか分からないな…」

こんな風に感じたことはありませんか? Power Automate(パワー・オートメイト)で業務を自動化していると、時々エラーに遭遇することがあります。その中でも「401エラー」は、比較的よく見かけるエラーの一つです。このエラーが出ると、フローは連携先のサービス(例えばOutlookやSharePoint、Teamsなど)に接続できなくなり、作業が中断してしまいます。

「401エラー」は、その意味を理解し、適切な対処法を知っていれば、多くの場合、比較的簡単に解決できます。このエラーは、決してあなたのフローが壊れてしまったわけではありません。


「401エラー」ってどんな意味?「認証ができない」というサイン

Power Automateで発生する「401エラー」は、HTTPステータスコードの一種で、「Unauthorized(アンオーソライズド)」と読みます。これは、日本語で言うと「未認証」や「認証に失敗」といった意味になります。

簡単に言えば、Power Automateのフローが、連携先のサービス(Outlookのメールボックス、SharePointのサイト、Salesforceのシステムなど)に対して、「私はこの操作をしていいですよ」と自分自身が誰であるかを示すための「身分証明書」や「鍵」を提示したけれど、それがサービス側で認められなかった状態を表します。

「権限がない」エラーとは少し違う

よく似たエラーに「403 Forbidden(フォービドゥン)」というものがありますが、これは「認証は通ったけれど、その『鍵』を持つあなたには、この場所への『アクセス許可』がない」という意味です。それに対して、401エラーは、そもそも「鍵が間違っているか、身分証明書が期限切れで、誰なのか確認できない」という、「認証そのものができない」状態を示します。

Power Automateでの表示

Power Automateのフローの実行履歴では、エラーになったステップをクリックすると、「ステータス コード: 401」という表示とともに、「Unauthorized」や「Access Denied」といったメッセージが表示されることが多いです。また、「接続が無効」というメッセージが表示されて、フローが動かなくなることも、この401エラーが原因である場合がほとんどです。


 「401エラー」はなぜ起きるの?主な原因を考える

401エラーが発生する原因はいくつか考えられますが、ほとんどの場合、Power Automateが連携先のサービスに接続するために使っている「認証情報」や「接続」に問題があります。

 パスワードの変更や有効期限切れ

これは最も一般的な原因です。Power Automateが連携先のサービス(例:Outlook、SharePointなど)に接続するために使っているあなたのMicrosoft 365アカウントのパスワードが、最近変更されたり、パスワードの有効期限が切れてしまったりした場合に発生します。フローは古いパスワード情報で接続しようとするため、認証に失敗します。

多要素認証(MFA)の問題

もしあなたのアカウントで多要素認証(MFA:パスワードだけでなく、スマートフォンアプリでの承認やSMSコードの入力など、複数の方法で本人確認を行うセキュリティ機能)が有効になっている場合、そのMFAの認証プロセスが正しく完了していないことが原因となることがあります。例えば、自動で承認が求められているのに、あなたがスマートフォンで「承認」ボタンを押していない場合などです。

アカウントが無効化されたり、ロックされたりした場合

接続に使用しているあなたのアカウントが、会社のMicrosoft 365管理者によって一時的にロックされたり、無効化されたりした場合にも、Power Automateは接続できなくなり、401エラーが発生します。例えば、パスワードを何度も間違えすぎた場合などに、アカウントがロックされることがあります。

接続情報の破損やトークンの期限切れ

ごく稀に、Power Automate側で保存されている連携先のサービスへの「接続情報」自体が、何らかの理由で破損してしまったり、認証トークンの有効期限が切れてしまったりすることがあります。Power Automateの接続は、一度認証すれば一定期間その状態が維持されますが、長期間使用されていない接続は自動的に無効になることがあります。

条件付きアクセスポリシーの影響

会社のIT部門がAzure Active Directory(アジュール・アクティブ・ディレクトリ)で「条件付きアクセス」というセキュリティルールを設定している場合、それが原因で401エラーが発生することがあります。例えば、「特定の場所からしかアクセスできない」「特定のデバイスからしかアクセスできない」といったルールが設定されている場合、Power Automateからの自動的なアクセスがブロックされることがあります。

 APIキーやシークレットの誤り(カスタムコネクタやHTTPアクションの場合)

もしフローで「HTTP要求を送信します」アクションや、自分で作った「カスタムコネクタ」を使っている場合、そこで設定しているAPIキーやクライアントシークレット(秘密鍵のようなもの)が間違っていたり、有効期限が切れていたりすると、401エラーが発生します。


「401エラー」の具体的な修復・改善方法

401エラーは、原因が認証にあるため、基本的には「接続を再認証する」ことで解決することがほとんどです。以下の方法を順番に試してみてください。

接続の「再認証」を行う(最も重要で効果的!)

これが401エラーを解決する最も確実で効果的な方法です。

  1. Power Automateポータルにサインインします。ウェブブラウザでPower Automateのポータルサイト(https://www.google.com/search?q=make.powerautomate.com)にアクセスし、あなたのMicrosoft 365アカウントでサインインしてください。
  2. 左側のメニューから「データ」を展開し、「接続」をクリックします。画面の左側にあるナビゲーションメニューを見てください。そこに「データ」という項目があるはずです。これをクリックして展開し、「接続」を選んでください。
  3. 無効になっている接続を探し、「接続を修正」または「再接続」を選びます。接続の一覧が表示されます。この中で、ステータスが「無効」や「エラー」になっている接続(多くの場合、赤い警告アイコンが表示されています)を探してください。該当の接続の右側にある「…」(三点リーダー)をクリックし、表示されるメニューから「接続を修正」または「再接続」を選択します。
  4. 画面の指示に従って再認証を完了します。新しいウィンドウやポップアップが表示され、サインインを求められます。正しいユーザー名とパスワードを入力し、再度サインインして認証を完了させてください。
    • 多要素認証(MFA)が有効な場合: スマートフォンアプリでの承認、SMSコードの入力、生体認証など、MFAの手順が求められますので、指示に従って認証を完了させてください。これを忘れると、再び認証に失敗します。
  5. 接続が「有効」になったことを確認し、フローを再テストします。接続のステータスが「有効」になったことを確認したら、エラーが出ていたフローに戻り、再度テスト実行してみてください。多くの場合、これで問題は解決します。

アカウント情報の確認とリセット

もし再認証がうまくいかない場合や、パスワードを忘れてしまった場合は、アカウント自体を確認します。

  1. 連携先のサービスに直接サインインしてみます。Power Automateの接続に使用しているアカウントで、連携先のサービス(例:Outlook Web App、SharePoint Online、Teamsなど)に直接サインインしてみてください。パスワードが間違っていないか、アカウントが有効であるかを確認できます。
  2. パスワードのリセットやアカウントのロック解除を依頼します。もしパスワードを忘れてしまった場合や、アカウントがロックされている場合は、会社のIT管理者や情報システム部門に連絡し、パスワードのリセットやアカウントのロック解除を依頼してください。

新しい接続を作成し、フロー内で置き換える

既存の接続の再認証がどうしても解決しない場合や、接続が破損していると疑われる場合に試す方法です。

  1. 新しい接続を作成します。「データ」→「接続」の画面で、「+ 新しい接続」をクリックします。無効になっている接続と同じコネクタ(例:SharePoint、Outlook)を検索して選択し、新しい接続を作成します。この際、フローで利用したい、有効なアカウント情報で認証を行います。
  2. フロー内の古い接続を新しい接続に置き換えます。エラーが出ているフローを編集モードで開きます。フロー内の各アクション(例:「SharePointのアイテムを取得」)をクリックし、設定画面で「接続」のドロップダウンメニューを開きます。そこに、新しく作成した接続が表示されているはずですので、これを選択し直してください。フロー内のすべての該当アクションでこの作業を繰り返します。
  3. フローを保存してテストします。変更を保存し、フローを再度テスト実行して問題が解決したか確認します。

条件付きアクセスポリシーを確認する(会社のIT管理者向け)

会社のIT管理者にしか確認できない項目です。

  1. Azure Portalで条件付きアクセスポリシーを確認します。会社のIT管理者は、Azure Portal(https://www.google.com/search?q=portal.azure.com)にアクセスし、「Azure Active Directory」→「セキュリティ」→「条件付きアクセス」を確認します。Power Automateからのアクセスが、特定のポリシー(例:未承認の場所やデバイスからのアクセス制限)によってブロックされていないかを確認してもらいます。
  2. ポリシーの調整を依頼します。もし条件付きアクセスポリシーが原因であると判明した場合、管理者に、Power Automateからのアクセスを許可するようにポリシーを調整してもらうよう依頼します。

APIキーやクライアントシークレットの確認(カスタムコネクタ/HTTPアクション使用時)

もしフローがカスタムコネクタやHTTPアクションを使用している場合、認証情報が原因である可能性があります。

  1. APIキーやクライアントシークレットを再確認します。連携先のサービス(APIプロバイダー)で発行されているAPIキーやクライアントシークレットが、有効期限切れになっていないか、または正しく入力されているかを確認します。
  2. 新しいAPIキーなどを再発行します。必要であれば、新しいAPIキーなどを再発行し、Power Automateの接続情報を更新します。

今後の「401エラー」を防ぐための改善策

一度解決しても、再び401エラーが発生しないように、以下の点を意識しましょう。

 定期的な接続の確認と再認証

Power Automateの「接続」画面(「データ」→「接続」)を定期的に確認し、ステータスが「無効」になっていないかをチェックする習慣をつけましょう。特に、パスワードを更新した後や、長期間使用していないフローがある場合は、意識的に確認すると良いでしょう。

エラーハンドリングの導入

フローにエラーハンドリング(エラーが発生した時に特定の処理を行う仕組み)を導入し、401エラーを含む実行時エラーが発生した場合に、自動でTeams通知やメール通知が飛ぶように設定します。これにより、問題発生を早期に検知し、迅速に対応できます。以前の回答「Power Automateで実行時エラーの内容を取得する」もご参照ください。

再試行ポリシーの活用

一時的なネットワークの問題やAPIの一時的な不具合による401エラーの場合に備え、フローの各アクションの「設定」で「再試行ポリシー」を設定しておきましょう。これにより、フローが自動で数回再試行し、軽微な一時的エラーであれば自動で回復し、正常に完了する可能性を高められます。

サービスアカウントの利用検討

もし可能であれば、個人のアカウントではなく、特定のフローやシステム連携のためだけに用意された「サービスアカウント」をPower Automateの接続に使用することを検討します。これにより、個人のパスワード変更や退職がフローに与える影響を最小限に抑え、より安定した運用が可能になります。ただし、サービスアカウントの管理には会社のセキュリティポリシーに従う必要があります。


「401エラー」は、認証に関する問題が原因であることがほとんどです。上記の手順を参考に、Power Automateの接続が、連携先のサービスに対して適切に認証されているかを確認し、必要に応じて修正することで、問題を解決し、フローの安定稼働を維持できるでしょう。