Entra IDのSMS・音声MFA廃止とは?Entra ID のパスキー自動有効化を Graph API でテナント丸ごと延期する

3行まとめ

  • 2026年9月1日、SMS・音声が有効なユーザーに Entra ID がパスキーを自動で有効化し、登録キャンペーンも Microsoft 管理状態(Microsoft側の既定動作に従って有効化される状態)へ切り替えます。管理者が何もしなくても動きます。
  • これをテナント単位で一時的に延期するオプトアウト設定が8月1日に公開されました。Microsoft Graphで passkeyDynamicMigrationtrue にするだけです。管理センターからは設定できません。
  • 延期できるのは自動有効化と登録キャンペーンだけです。2027年2月1日の SMS・音声の廃止は、この設定に関係なく実行されます。

本記事は前回記事の追加記事で、この延期設定そのものだけを扱います。全体像や対象ユーザーの洗い出し方、パスキーの種類の選び方、Security Store 経由で SMS を展開する仕様変更などは前回記事に書いたので、そちらをご覧ください。

はじめに:8/1 に公開されたのは、SMS・音声MFA廃止の回避策ではありません

前回、Entra ID が Microsoft 提供の SMS・音声 MFA をやめること、その代わりがパスキーになることを書きました。マイルストーンは二つあり、2026年9月1日に対象ユーザーのパスキーが自動で有効になり、2027年2月1日に SMS・音声そのものが止まります。

8月1日に新たに公開されたのはこのうち手前の9月1日に関わるオプトアウト設定です。廃止が延びたわけではありませんので、「オプトアウトしておいたから2月も平気」と思ったまま2027年を迎えることがないようにしましょう。止められるのは自動有効化のタイミングだけです。

この設定で影響を受けること

9月1日、認証方法ポリシー(Authentication methods policy/AMP)または従来の MFA 設定で SMS か音声が有効なユーザーに、次が適用されます。オプトアウトすると、テナント丸ごとこの対象から外れます。

  • パスキー(FIDO2)が AMP 上で有効化され、対象ユーザーにパスキー登録が促される
  • 登録キャンペーンが Microsoft 管理状態(Microsoft Managed)になり、対象ユーザーが自動でスコープに入る
  • 次回サインインで MFA を通ったあとに、パスキー登録を促すプロンプトが出る
  • 既定では、ユーザーはこのプロンプトを何度でもスヌーズできる

設定はテナント単位ですので「この部署だけ遅らせる」という使い方はできません。一部のユーザーだけ催促を止めたいなら、遅延設定ではなく登録キャンペーンの除外グループで調整します。

使うべきか:迷うなら入れておく

この設定を入れる価値があるのは、移行計画はあるのに9月1日に間に合わないテナントです。セキュリティキーの選定中、ヘルプデスクの手順書が未完成、TAP の運用が決まっていない。こうした状態で登録キャンペーンが開始されると手順書のない問い合わせだけが殺到しますので、それを避けるための時間稼ぎです。

9月1日までに自分たちの方針でパスキーを有効化し、対象ユーザーの SMS・音声を無効化してしまえるなら、この設定は要りません。

どちらでもなく「まだ何も決めていない」場合は、入れておくのが無難です。あとから false に戻せる設定なので、決まってから外すほうが、9月1日を無防備に迎えるより安全です。

なお、本設定を展開しても2027年2月1日のSMS・音声MFAの廃止は延期されません。

公式ドキュメントには "Beginning February 1, 2027, standard passkey migration and enforcement timelines will apply regardless of this setting."(2027年2月1日以降は、この設定に関係なく標準のパスキー移行と施行のスケジュールが適用されます)と書かれています。2027年2月1日の時点で Microsoft マネージドの SMS・音声が有効なユーザーが残っていて、Security Store 経由の通信プロバイダーも構成していない場合、そのユーザーは他のMFA手段を持たない場合パスキー登録を促すスキップできないプロンプトに当たり、登録するまでサインインが進みません。

設定手順:Graph エクスプローラーで設定する

送るリクエストはこれだけです。

PATCH https://graph.microsoft.com/beta/policies/authenticationMethodsPolicy
Content-Type: application/json

{
   "optOutSettings": {
     "passkeyDynamicMigration": true
   }
}
https://learn.microsoft.com/ja-jp/entra/identity/authentication/concept-sms-voice-retirement#temporarily-opt-out-of-the-automatic-passkey-enablement

管理センターに設定項目はないため、Microsoft Graph を直接叩きます。ここでは Graph エクスプローラー(https://aka.ms/ge)を使います。

実行するユーザーには、Entra ID 側のロールとして 認証ポリシー管理者 など認証方法ポリシーを変更できる権限が必要です。加えて、Graph エクスプローラー側では Policy.ReadWrite.AuthenticationMethod のアクセス許可に同意する必要がありますが、こちらはテナント設定によってはグローバル管理者権限が必要になります。

1. beta に切り替えて、アクセス許可に同意する

Graph エクスプローラーに認証ポリシー管理者ロールを持つアカウント(あるいはグローバル管理者など当該権限を含む管理者ロールを付与したアカウント)でサインインします。

初めて利用する場合はGraph Explorerにサインインしアクセス許可の同意が必要です。サインインに必要なユーザープロフィール読み込みへの同意なので組織の代理として同意しても良いでしょう。(テナント設定によっては、ユーザー自身では同意できず、グローバル管理者権限による同意が必要な場合があります。)
初めて利用する場合はGraph Explorerにサインインしアクセス許可の同意が必要です。サインインに必要なユーザープロフィール読み込みへの同意なので組織の代理として同意しても良いでしょう。(テナント設定によっては、ユーザー自身では同意できず、グローバル管理者権限による同意が必要な場合があります。)

URL 欄の左にあるバージョンのプルダウンを v1.0 から beta へ 変えます。続けてGETメソッド https://graph.microsoft.com/beta/policies/authenticationMethodsPolicyを実行し、

「Modify permissions」タブから Policy.ReadWrite.AuthenticationMethod に同意します。

GETメソッド https://graph.microsoft.com/beta/policies/authenticationMethodsPolicy を実行し、アクセス許可の同意を行う
GETメソッド https://graph.microsoft.com/beta/policies/authenticationMethodsPolicy を実行し、アクセス許可の同意を行う
強い権限なので個人単位の同意のほうがおすすめです。(テナント設定によっては、ユーザー自身では同意できず、グローバル管理者権限による同意が必要な場合があります。)
強い権限なので個人単位の同意のほうがおすすめです。(テナント設定によっては、ユーザー自身では同意できず、グローバル管理者権限による同意が必要な場合があります。)

2. 変更前の状態を見ておく(未定義状態とわかる)

先に GET で現状の設定値を取得して確認しておきましょう。ということでGETメソッドで実行してみました。

GET https://graph.microsoft.com/beta/policies/authenticationMethodsPolicy
実行結果がかえってきました。
実行結果がかえってきました。

optOutSettings は今回追加されたプロパティなので、一度も設定していないテナントでは値はnull です。

optOutSettings はnullです。
optOutSettings はnullです。

3. PATCH を送る

メソッドを PATCH に変え、URL は手順2と同じまま、「Request body」タブに先ほどの JSON を貼って実行します。

実行してみます
実行してみます
ステータスコードは204で成功しています。レスポンスの Body(本文)が空(No Content)で正常です。変更結果の確認は次のセクションのGETで行います。
ステータスコードは204で成功しています。レスポンスの Body(本文)が空(No Content)で正常です。変更結果の確認は次のセクションのGETで行います。

4. 反映されたか確認する

もう一度 GET して、optOutSettings.passkeyDynamicMigrationtrue で設定されていることを確認しました。これで「9月1日の自動有効化から外れた」と判断できます。

GET レスポンスで "passkeyDynamicMigration": true が確認できました。
GET レスポンスで "passkeyDynamicMigration": true が確認できました。

PowerShell から実行する場合

なお、Graph エクスプローラーを使わずともMicrosoft Graph PowerShellでも設定変更可能です。(こちらは事前準備なども含めて今回はご説明いたしませんので、すでに環境整っている方向けです)

元に戻すとき

準備が整ってオプトアウトを外すなら、同じリクエストで false を送ると設定変更できます。この設定は個別に削除するものではありません。

PATCH https://graph.microsoft.com/beta/policies/authenticationMethodsPolicy
Content-Type: application/json

{
   "optOutSettings": {
     "passkeyDynamicMigration": false
   }
}
falseを設定してPATCHメソッドを実行します
falseを設定してPATCHメソッドを実行します
ちゃんとfalseに切り替わりました。
ちゃんとfalseに切り替わりました。

まとめ

8月1日に公開されたのは、9月1日の自動有効化を自社の都合で後ろにずらすテナント単位の設定です。Graph APIで passkeyDynamicMigrationtrue にすれば、自動パスキー有効化と登録キャンペーンの展開から外し、延期することができます。

ただし、この設定で2027年2月1日のSMS・音声MFA廃止は変更できません。とりあえず入れて忘れる、がいちばん危ない使い方ですのでご注意を・・・というお話です。

オプトアウト設定を入れてもSMS・音声MFAが有効なユーザーの確認、パスキー展開方針の決定、ヘルプデスク向け手順の準備を進め、準備ができた時点で falseに戻す運用にしておきましょう。

この記事をシェア