Exchange Online EWS廃止対応ガイド|8月末と10月の2つの締め切りを乗り越える


はじめに

こんにちは!横浜情報機器株式会社のロホマン シャヒンです。

RS

ロホマン シャヒン

  • Microsoft Student Ambassador
  • GitHub Copilot User Group Japan 運営
  • Azure Solutions Architect Expert 取得

Exchange OnlineのEWS(Exchange Web Services)が2026年10月から順次強制無効化される、という話は聞いていたんですが、改めて公式情報をちゃんと整理してみたら「8月末」という締め切りがもうすぐそこまで来ていることに気づきました。

しかも、スケジュールが「8月末」「10月」「2027年4月」と3段階になっていて、それぞれで対応内容が違う。これは放置すると業務アプリが突然止まるパターンです。


1. EWSって何?止まると何が困るのか

EWS(Exchange Web Services)は、アプリケーションがExchangeのメールボックスにプログラムからアクセスするためのSOAPベースのAPIです。メールを読んだり、予定表を取得したり、連絡先を同期したりするために使われています。

ここで注意したいのは、EWSが止まってもメールの送受信やOutlookの使用には影響がないという点です。影響を受けるのは、裏側で動いている連携・自動化の類です。

具体的には、こんなシステムが止まる可能性があります:

  • バックアップ・アーカイブ製品(例:Druvaなどがメールボックスを保護している場合)
  • CRM・会議室予約システムとの予定表・連絡先の同期
  • EWS Managed APIで作られた自作スクリプトや社内アプリ
  • パブリックフォルダーとサードパーティ製品の連携

一番怖いのは、ユーザーの体感は正常なまま、バックアップだけがサイレントに止まるパターンです。リストアが必要になったタイミングで「保護されていない期間」に初めて気づく、という事態になりかねません。

特に注意が必要なのは、アーカイブメールボックス・パブリックフォルダー・Microsoft 365グループメールボックスです。2026年8月時点では、移行先のMicrosoft Graph APIにこれらの代替が存在しません。ベンダー対応待ちだけでは解決できない領域なので、早めにベンダーへの確認が必要です。


2. 2つの締め切りとスケジュールの全体像

EWSの廃止スケジュールは3段階になっています。「締め切り」「仕様変更」「完全廃止」が別々の日付なので、混乱しやすいです。

日付 内容 やること
2026年8月31日 延命の意思表示の締め切り EWSEnabled=True + 許可リスト(EwsAllowedAppIDs)を設定する
2026年9月 Microsoftが未設定テナントの許可リストを自動生成 自動生成に任せず、自分でリストを作る(自作リストは上書きされない)
2026年10月1日〜 EWSEnabled=Nullのテナントを強制的にFalseへ順次変更。Trueでも許可リストが空なら全ブロック 許可リスト登録を完了させる
2027年4月1日 EWS完全廃止。例外なし、延長なし Microsoft Graphへの移行を完了させる

ここでちょっと複雑なのが、EWSEnabledの値によって動作が変わる点です。

EWSスケジュールと対応フロー図

10月以降の動作が変わる点(重要)

10月1日以降は、EWSEnabled=Trueでも許可リストが空だと全ブロックになります。これは仕様が変わるので注意が必要です。

EWSEnabled 許可リスト 10月より前 10月以降
Null 全許可 強制的にFalseへ変更(全ブロック)
True 全許可 全ブロック ←ここが変わる
True 設定済み リスト内のみ許可 リスト内のみ許可
False 全ブロック 全ブロック

3. まず確認:EWSを使っているかをチェックする

まず自テナントでEWSが使われているかを確認するところから始めます。実際にレポートを見ると、「うちは使っていない」と思っていたのに意外なアプリが出てくることがあります。

方法1:管理センターのEWS Usageレポート

Microsoft 365管理センター → 「使用状況」 → 「Exchange」 → 「EWS Usage」から確認できます。

注意点:日付範囲を必ず最大(過去90日)まで広げる。デフォルトは短い期間のままなので、拾い漏れが出ます – 月次・四半期のバッチ処理や、リストア時にしか動かないツールは短い期間には現れません – レポートで確認できるのはAppIDのみで、アプリ名は別途Entra管理センターで調べる必要があります

AppIDからアプリ名を特定するには、Entra管理センターの「エンタープライズアプリケーション」→「フィルターの追加」→「アプリケーションID」でAppIDを貼り付けて検索します(上部の検索ボックスはアプリ名・テンプレートID用なので、AppIDを入れてもヒットしません)。

方法2:PowerShellで現在の設定を確認する

# Exchange Onlineへ接続
Connect-ExchangeOnline

# 接続先テナントを必ず確認してから進める
Get-ConnectionInformation | Select Organization, TenantID, UserPrincipalName

# 現在のEWS設定を確認
Get-OrganizationConfig | Select EwsEnabled, EwsApplicationAccessPolicy

# 許可リストを確認(何も表示されなければ空)
Get-OrganizationConfig -RetrieveEwsOperationAccessPolicy | Format-List EwsAllowedAppIDs

EwsEnabledFalseを返した場合は、すでにEWSがブロック済みなので以降の対応は不要です。

方法3:Find-EwsUsage.ps1で詳細調査(90日より前も遡れる)

管理センターのレポートは最大90日分しか確認できません。四半期に1回しか動かないバッチや、リストア時にしか使われないツールは拾えない場合があります。

Microsoftが公開している Exchange-App-Usage-Reporting スクリプトを使うと、監査ログから最大180日(Audit Premiumは最大1年)まで遡って確認できます。

スクリプトの事前準備として、調査専用のEntraアプリ登録が必要です。以下の4つのGraph APIのアプリケーション権限を付与してください:

  • Application.Read.All
  • AuditLog.Read.All
  • AuditLogsQuery.Read.All
  • Directory.Read.All

実行後は、アプリ登録に作成したクライアントシークレットを削除しておくことを強くおすすめします。テナント全体のサインインログを読める強い権限を持つので、シークレットの漏えいは情報漏えいに直結します。


4. 8月31日までにやること:EWSEnabled=Trueにする

EWSの利用状況を確認して延命が必要と判断したら、EWSEnabledを明示的にTrueに変更します。これが10月の強制無効化の「対象外」にするための唯一の方法です。

変更前に必ず確認すること:EwsAllowedAppIDs(許可リスト)が空であること。すでに値が入っている場合、Trueにした時点から「リスト内のアプリのみ許可」が適用されます。

# 許可リストが空であることを確認(何も表示されなければOK)
Get-OrganizationConfig -RetrieveEwsOperationAccessPolicy | Format-List EwsAllowedAppIDs

# EWSを明示的に有効化(Null → True)
Set-OrganizationConfig -EwsEnabled $true

# Trueになったことを確認(証跡として保存しておくと安心)
Get-OrganizationConfig | Select EwsEnabled, EwsApplicationAccessPolicy

5. 10月1日までにやること:許可リスト(EwsAllowedAppIDs)を作る

EWSEnabled=Trueに設定した後は、10月1日より前までに許可リスト(EwsAllowedAppIDs)を登録します。これを忘れると、10月以降はTrueでも全ブロックになります。

重要:許可リストは「全体上書き」仕様です。追加・削除だけを行う操作はありません。必ず現在のリスト全体を読み取ってから書き戻してください。

# 現在の許可リストを読み取り
$current = (Get-OrganizationConfig -RetrieveEwsOperationAccessPolicy | Select-Object -ExpandProperty EwsAllowedAppIDs)

# 書き換え前のリストをCSVへバックアップ(誤消去時の復元用)
($current -split ",") | ForEach-Object { [PSCustomObject]@{ AppID = $_ } } | Export-Csv -Path ".\EwsAllowedAppIDs_backup_$(Get-Date -Format 'yyyyMMddHHmm').csv" -NoTypeInformation -Encoding UTF8

# 現在のリストに、レポートや詳細調査で控えたAppIDを追加して書き戻す
$updated = @($current | Where-Object { $_ }) + @("<追加するAppID-1>", "<追加するAppID-2>")
Set-OrganizationConfig -EwsAllowedAppIDs ($updated -join ",")

# 登録内容を確認
Get-OrganizationConfig -RetrieveEwsOperationAccessPolicy | Format-List EwsAllowedAppIDs

許可リストに漏れがあると: 登録した時点でリスト外のアプリが止まります。バックアップのようにサイレントで動くアプリは止まっても気づかないので、前節の詳細調査まで済ませてからリストを確定させてください。

また、従来の EwsApplicationAccessPolicy(EnforceAllowList/EnforceBlockList)と新しい EwsAllowedAppIDs は別々に動きます。10月以降にEWSを使うには両方のチェックを通過する必要があります。既存のポリシーを設定済みの場合、ここも一緒に確認しておくと二重チェックになって安心です。


6. 2027年4月の完全廃止に向けて:Microsoft Graphへの移行

ここまでの対応はあくまで「2027年3月末までの延命」です。2027年4月1日以降はEWSが完全に無効化され、管理者がEWSEnabledを操作する権限自体も削除されます。延長はないと公式が明言しているので、「いつかやる」という先送りは選択肢にないと思っておいた方がいいです。

延命期間中に進めておきたいのは以下のとおりです:

  • EWSを使っているアプリ・スクリプトのMicrosoft Graphへの移行
  • サードパーティ製品のベンダーへの事前問い合わせ
    • そのツールがEWSを使っているかどうか
    • Graphへの対応予定・ロードマップ
    • 2026年10月・2027年4月それぞれで必要な作業があるか
  • パブリックフォルダーを使っている場合は、Microsoft 365グループなどへの移行を検討する

注意が必要なのは、2026年8月時点でGraphの代替がまだない機能です:

機能 状況
パブリックフォルダーのインポート/エクスポート Graph未対応
アーカイブメールボックス(インプレースアーカイブ) プレビュー中(GA未達)
Microsoft 365グループのインポート/エクスポート Graph未対応

これらの機能にEWSで依存しているシステムを持っている場合は、「ベンダーに問い合わせればOK」では解決しません。2027年4月までの対応方針を早めに決める必要があります。


まとめ

  • 8月31日まで:EWSEnabled=True に設定し、強制無効化の対象外になる(延命の意思表示の締め切り)
  • 10月1日まで:許可リスト(EwsAllowedAppIDs)を登録する。True でも空リストだと10月以降は全ブロック
  • 今すぐやること:EWS Usageレポートでテナントの利用状況を確認する。90日レポートに現れないアプリは Find-EwsUsage.ps1 で詳細調査する
  • 2027年4月まで:Microsoft Graph への移行・ベンダーへの問い合わせを進める。延長はなし
  • アーカイブメールボックス・パブリックフォルダーはGraph代替が未提供(2026年8月時点)なので、依存しているシステムは今すぐベンダーへ確認する

「今EWSが動いているから大丈夫」は通用しません。今回は明示的にオプトインしなければ止められる仕組みになっているので、まずは現状確認からやってみてください。

この記事が少しでも参考になったら、ぜひシェアしていただけると嬉しいです!


出典

技術ブログ一覧に戻る