この記事では、次の MFA シナリオの Fiddler トレース ログについて説明します。
- 作業中の MFA シナリオ
- 電話が圏外にあるか、通話が応答されない場合
- 不正アクセスアラートがトリガーされてクラウド内のアカウントがブロックされたとき
- ブロックされたアカウントの場合
- マネージド アカウントに MFA を使用する場合
ユーザー アカウントがフェデレーションされている場合、ユーザーは認証と login.microsoftonline.com のためにサービス トークン サーバー (STS) にリダイレクトされ、SAML トークンは STS によって発行されます。 ユーザーが管理されている場合、login.microsoftonline.com はユーザーのパスワードを使用してユーザーを認証します。
MFA は、ユーザーのパスワードが Microsoft Entra ID または STS によって検証された後に開始されます。
SANeeded=1
Cookie は、ユーザーが Microsoft 365 または Microsoft Entra ID で MFA 認証を有効にしている場合に設定されます。 ユーザー パスワード認証後のクライアントと login.microsoftonline.com の間の通信は、次の例のようになります。
POST
https://login.microsoftonline.com/login.srf
HTTP/1.1
ホスト: login.microsoftonline.comHTTP/1.1 302 が見つかりました
Set-Cookie: SANeeded=1;domain=login.microsoftonline.com;secure= ;path=/;HTTPOnly= ;version=1
シナリオ 1: 正常に機能する MFA シナリオ
SANeeded=1 Cookie は、パスワード認証後に設定されます。 その後、ネットワーク トラフィックがエンドポイント ( https://login.microsoftonline.com/StrongAuthCheck.srf
) にリダイレクトされ、使用可能な認証方法が要求されます。
MFA は BeginAuth で始まり、電話サービス プロバイダーへのバックエンドで通話がトリガーされます。
MFA 承認が開始されると、クライアントは 10 秒ごとに EndAuth メソッドに対して同じエンドポイントのクエリを実行し、認証が完了したかどうかを確認します。 呼び出しが選択されて検証されるまで、結果の値は AuthenticationPending
として返されます。
電話が選択されて検証されると、EndAuth の次のクエリの回答は成功の ResultValue になります。 さらに、ユーザーは多要素認証を完了しました。 また、Set-Cookie: SANeeded=xxxxxxx Cookie が応答で設定され、エンドポイント login.srf に渡されて認証が完了します。
シナリオ 2: 電話がカバレッジから外れているか、電話が選択されていない場合
呼び出しが行われた後、60 秒以内に電話が選択されて検証されない場合、ResultValue は UserVoiceAuthFailedPhoneUnreachable
として設定されます。 EndAuth メソッドの次のクエリでは、Fiddler に示すように UserVoiceAuthFailedPhoneUnreachable が返されます。
シナリオ 3: クラウド内のアカウントをブロックするために不正アクセスアラートがトリガーされたとき
電話が選択されず、通話が行われた後 60 秒以内に不正行為のアラートが投稿されると、ResultValue は AuthenticationMethodFailed として設定されます。 EndAuth メソッドの次のクエリでは、Fiddler に示されているように、AuthenticationMethodFailed 応答が返されます。
シナリオ 4: ブロックされたアカウントの場合
ユーザーがブロックされている場合、ResultValue は UserIsBlocked
として設定されます。 EndAuth メソッドの最初のクエリでは、Fiddler に示すように、 UserIsBlocked
が返されます。
解決策: 疑わしいアクティビティの報告を参照してください。
Microsoft 365 で MFA が有効になっている場合は、Microsoft にサポートリクエストを送信してブロックを解除します。
シナリオ 5: マネージド アカウントの MFA
この状況では、認証は変わりませんが、フェデレーション アカウントの場合と同様にhttps://login.microsoftonline.com/common/SAS/BeginAuthするのではなく、エンドポイントはhttps://login.microsoftonline.com/common/SAS/EndAuthされ、https://login.microsoftonline.com/StrongAuthCheck.srf
されます。