Microsoft 365のアプリ登録(Azure ADアプリ)で利用するクライアントシークレットは、有効期限が設定されています。この期限が切れると、そのシークレットを使って認証を行っていた外部連携や自動化処理が突然停止します。原因がシークレット期限切れだと気づかずに、パスワードリセットやネットワーク障害など別の原因を疑ってしまい、無駄な時間を費やすケースは少なくありません。この記事では、シークレット期限切れを特定するための確認方法や、影響を調査する手順を具体的に解説します。
【要点】この記事で確認すること
- 最初に見る場所: Azure Portalのアプリ登録画面にある「証明書とシークレット」で有効期限を確認します。
- 切り分けの軸: 連携エラーが発生しているサービスのログ(401エラーや認証失敗)と、アプリのクレデンシャル有効期限を照らし合わせます。
- 注意点: シークレットの更新は管理者権限が必要です。一般ユーザーは変更できないため、会社のIT管理者に事前に相談してください。
ADVERTISEMENT
目次
シークレット期限切れが原因で発生する代表的なエラーと症状
シークレットが期限切れになると、そのシークレットを使って認証しているすべてのサービスに影響が出ます。以下のような症状が典型的です。
メール送信の失敗(SMTP認証)
Power Automateや業務アプリケーションからSMTPサーバー経由でメールを送信する場合、クライアントシークレットをパスワード代わりに使うことがあります。期限切れになると「認証できません」「5.7.3 Client was not authenticated」といったエラーが返ってきます。
Graph API呼び出しのエラー
カスタムアプリやスクリプトがMicrosoft Graph APIを呼び出すときにシークレットを使っていると、期限切れ後にHTTPステータス401 Unauthorized、エラーコードInvalidClientSecretが返ります。APIの応答本文に“AADSTS7000222: The provided client secret keys are expired”と含まれていれば、シークレット期限切れが確定します。
自動バックアップや同期ツールの停止
クラウドストレージの同期、CRMとMicrosoft 365の連携、会議室予約システムなど、バックグラウンドで動作するツールが急に動かなくなる場合も、シークレット期限切れが原因の一つです。エラーログに“authorization_failure”や“secret_expired”が記録されます。
シークレットの有効期限を確認する方法
シークレットの有効期限はAzure Portal上で確認できます。以下の手順では、対象のアプリ登録にアクセスできる管理者権限が必要です。
- ブラウザで Azure Portal にサインインします。
- 左側メニューから「Azure Active Directory」を選択します。
- 「アプリの登録」をクリックし、連携が止まっているアプリケーションを一覧から選択します。
- 左側メニューの「証明書とシークレット」をクリックします。
- 「クライアントシークレット」セクションに、登録されているシークレットの一覧が表示されます。それぞれの「有効期限」列で日付を確認します。
- 期限切れのシークレット(Expiredと表示される)や、期限が切れる直前のシークレットがないか確認します。
このとき、複数のシークレットが登録されている場合があります。その中にまだ有効なものがあれば、そちらを使うことで一時的に復旧できることもあります。
シークレットが期限切れになった場合の影響を調べる
シークレットの期限切れによる影響は、連携の種類やシークレットの使用タイミングによって異なります。以下の表で状態ごとの症状を整理しました。
| 状態 | サービスへの影響 | エラーログの例 |
|---|---|---|
| 有効期限内 | 正常動作 | なし |
| 期限切れ直後(数時間) | 断続的な認証エラー(一部のリクエストが成功することもある) | 401 Unauthorized / AADSTS7000222 |
| 期限切れ後(1日以上) | 完全停止。すべての認証要求が失敗。 | Invalid client secret / The provided client secret keys are expired |
また、シークレットの期限切れはアプリケーションの「イベント」としてAzure ADの監査ログにも記録されます。「Azure Active Directory」→「監査ログ」で“Update application”や“Add service principal credentials”のイベントを確認すると、いつシークレットが追加・削除されたか把握できます。
シークレットを更新する手順(管理者向け)
期限切れのシークレットを新しいものに差し替えるには、以下の手順を実行します。この操作はグローバル管理者またはアプリケーション管理者のみ可能です。
- Azure Portalで該当アプリの「証明書とシークレット」画面を開きます。
- 「新しいクライアントシークレット」をクリックします。
- 説明(例:Automation Script 2026)と有効期限を設定します。推奨は24か月以下ですが、組織のポリシーに従ってください。最大の36か月でも設定可能ですが、長期間に設定すると更新忘れのリスクが高まります。
- 「追加」をクリックするとシークレット値が生成されます。この値はこの画面を閉じると二度と表示できません。必ず安全な場所にコピーしてください。
- シークレット値が表示されたら、すぐにクリップボードにコピーし、パスワード管理ツールや連携サービスの設定画面に貼り付けます。
- 連携サービス側(Power Automate、カスタムスクリプト、ボットなど)の認証設定で、古いシークレットを新しいものに更新します。
- 更新後、必ず動作確認を実施してください。テスト送信やAPI呼び出しでエラーが発生しないことを確認します。
注意点として、古いシークレットは更新直後も短時間は有効な場合があります(期限切れ後すぐに削除すると、切り替え中のリクエストが失敗する可能性がある)。そのため、新しいシークレットの動作確認が取れたら、古いシークレットを削除しても問題ありません。
管理者に確認すべきポイント(一般ユーザー向け)
一般ユーザーがシークレット期限切れを直接確認・修正することはできません。連携が止まった場合、以下の情報を整理して管理者に連絡するとスムーズです。
- 利用しているアプリの名前(またはAzure ADアプリ名): 社内で何と呼ばれているかわかれば伝えてください。
- エラーメッセージのスクリーンショット: 特にエラーコード(401やAADSTS7000222など)を含めると原因特定が早まります。
- いつから動かなくなったか: 正確な日時があれば、シークレットの有効期限と突き合わせやすくなります。
- 連携の種類: メール送信、データ同期、API呼び出しなど、どのような処理でエラーが出ているかを伝えましょう。
管理者はこれらの情報をもとにAzure Portalを確認し、シークレットの有効期限切れかどうかを判断します。
よくある質問(FAQ)
シークレットの有効期限はどこで確認できますか?
Azure PortalのAzure Active Directory → アプリの登録 → 該当アプリ → 「証明書とシークレット」で一覧表示されます。有効期限の列に日付が表示され、Expiredと書かれていれば期限切れです。
管理者でなくても確認できますか?
一般ユーザーはAzure Portalのアプリ登録画面を閲覧する権限がありません。会社のIT管理者に確認を依頼してください。
期限切れのシークレットを削除しても大丈夫ですか?
新しいシークレットで正常動作が確認できたら、古い期限切れシークレットは削除して問題ありません。ただし、削除前に新しいシークレットが正しく動作していることを必ず確認してください。
シークレット更新後、即座に反映されますか?
通常は数分以内に反映されますが、キャッシュの影響で最大30分程度遅れることがあります。即時反映が必要な場合は、対象サービスを再起動してみてください。
有効期限を最大(36か月)に設定しても問題ありませんか?
セキュリティポリシーによっては36か月が許容される場合もありますが、長期に設定すると更新忘れのリスクが高まります。可能であれば24か月以下に設定し、更新リマインダーをカレンダーに登録することをおすすめします。
まとめ
アプリ登録のシークレット期限切れは、突然の連携停止を引き起こす原因の一つです。まずはAzure Portalで有効期限を確認し、期限切れが判明したら早急に新しいシークレットへ更新する必要があります。一般ユーザーは操作できないため、管理者への情報提供がスムーズな復旧の鍵となります。また、定期的なシークレットの棚卸しや更新リマインダーの設定により、予期しない停止を予防できます。
ADVERTISEMENT
超解決 リモートワーク研究班
Microsoft 365の導入・保守を専門とするエンジニアグループ。通信障害やサインイン不具合など、ビジネスインフラのトラブル対応に精通しています。
Office・仕事術の人気記事ランキング
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【PDF】PDFのサムネイルプレビューが表示されない!エクスプローラーの設定とAcrobat環境設定
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
