Adaptive MFAを使用するには、エンタープライズプランとAdaptive MFAアドオンが必要です。詳細については、「Auth0の価格設定」を参照してください。
仕組み
| 評価子 | 危険信号 | 判定方法 |
|---|---|---|
NewDevice | ユーザーがアカウントを使って過去30日以内に使用していないデバイスからサインインしようとしました。 | ユーザーエージェントとブラウザーのクッキーを基にデバイスを特定します。ログイン時にデバイス情報をアカウントのデバイス一覧と照らし合わせます。 |
ImpossibleTravel | ユーザーがログインしようとしている地理的な位置が、最後にログインした場所から移動不可能な場所を示しています。 | 最後の有効な場所からサインインの場所までの距離を算出し、2つのサインイン間の経過時間から推定される移動速度を算出します。その速度を合理的に可能な移動速度と比較します。 |
UntrustedIP | 疑わしい動作のあるIPアドレスからユーザーがサインインしようとしています。 | Auth0はトラフィックイベントから情報を収集し、IPアドレスが悪意のある行為者によって高速攻撃に利用されている可能性を判断します。 |
PhoneNumber | ログインやサインアップ時に入力された電話番号が無効か、信頼できない出所からのものであると判断されました。 | Auth0は電話番号の構造と出所の情報を収集し、正しいユーザーに使用されているかを判断します。 |
| Overall Risk Score(総リスクスコア) | 上記のNewDevice、ImpossibleTravel、UntrustedIP の要素を組み合わせたものです。PhoneNumberは総リスクスコアに影響しません。 | Auth0は3つのスコアから総スコアを評価します。独自のビジネスロジックを実装したい場合には、アクションを使用します。 |

Adaptive MFAをカスタマイズする
サポートと制限事項
| プロトコル | フロー | 対応 |
|---|---|---|
| OIDC/OAuth2 | 認可コードフロー | 対応 |
| OIDC/OAuth2 | PKCEを用いた認可コードフロー | 対応 |
| OIDC/OAuth2 | Form Postを用いた暗示的なフロー | 対応 |
| OIDC/OAuth2 | ハイブリッドフロー | 対応 |
| OIDC/OAuth2 | クライアントの資格情報 | 非対応 |
| OIDC/OAuth2 | デバイス認可 | 非対応 |
| OIDC/OAuth2 | リソース所有者のパスワード(ROP) | 非対応 |
| SAML | サービスプロバイダー起点(SP-initiated) | 対応 |
| SAML | IDプロバイダー起点(IdP-initiated) | 非対応* |
| WS-Federation | 該当なし | 対応 |
| AD/LDAP | 該当なし | 対応 |
Auth0の機能
| ログインフローの実装 | Adaptive MFAサポートレベル |
|---|---|
| ユニバーサルログイン | サポート |
| クラシックログイン、カスタマイズなし | サポート |
クラシックログイン(Auth0がホスト)、lock.js Lockテンプレートのカスタムログインページ | サポート |
クラシックログイン(Auth0がホスト)、auth0.jsカスタムログインフォームテンプレートのカスタムログインページ | サポート |
クラシックログイン(Auth0がホスト)、メールパスワードレスフローおよびlock.jsパスワードレステンプレートのカスタムログインページ | サポート |
クラシックログイン(Auth0がホスト)、SMSパスワードレスフローおよびlock.jsパスワードレステンプレートのカスタムログインページ | 要件である、メールアドレスを利用可能にしないため、サポートしていません。 |
リソース所有者のパスワード付与(ROPG)フローを使用するWebまたはネイティブアプリ(lock.androidおよびlock.swift SDKの旧バージョンを使用するものを含む) | サポートしていますが、以下の制限付きです: •すべてのエンドユーザーがすでにMFAに登録されている場合のみ機能します(サインアップ時にユーザーが登録を求められた時)。登録されていないユーザーは、危険なシナリオでブロックされます。 •ユーザーが新しいデバイスでログインしているかを判断するリスク評価は機能しません。ROPGフローは、リスクを特定するのに必要なブラウザークッキーをサポートしていません。 •IPレピュテーションのリスク評価が機能するには、発信元のIPアドレスから、情報を含んだ auth0-forwarded-forヘッダーを渡す必要があります。 |
| 埋め込みユニバーサルログインをサポートしているSDKの最新バージョンを使用しているネイティブアプリ | サポート |
| SDKの最新バージョンおよびROPGフローを使用しているネイティブアプリ | サポートしていますが、以下の制限付きです: •すべてのエンドユーザーがすでにMFAに登録されている場合のみ機能します(サインアップ時にユーザーが登録を求められた時)。登録されていないユーザーは、危険なシナリオでブロックされます。 •ユーザーが新しいデバイスでログインしているかを判断するリスク評価は機能しません。ROPGフローは、リスクを特定するのに必要なブラウザークッキーをサポートしていません。 •IPレピュテーションのリスク評価が機能するには、発信元のIPアドレスから、情報を含んだ auth0-forwarded-forヘッダーを渡す必要があります。 |
cross-origin認証(co/認証エンドポイント)を実行するlock.jsまたはauth0.jsを使用しているあなた(Auth0ではなく)がホストするフロー | サポート |