多要素認証 (MFA) の設定
Logto での MFA 設定
Logto は、さまざまなセキュリティ要件に対応する柔軟な MFA 設定オプションを提供しています。すべてのユーザーに対してグローバルレベルで MFA を設定したり、マルチテナントアプリケーション向けに組織単位で有効化したりできます。
グローバル MFA 設定
ユーザーの Logto サインインフローで MFA を有効にするには、以下の手順に従ってください:
- コンソール > 多要素認証 に移動します。
- ユーザー向けにサポートする認証要素を有効にします。
- プライマリ要素:
- パスキー (WebAuthn):デバイスの生体認証やセキュリティキーなどをサポートする Web 製品向けの高セキュリティオプションで、強力な保護を実現します。
- 認証アプリ OTP:最も一般的で広く受け入れられている方法です。Google Authenticator や Authy などの認証アプリで生成される時限ワンタイムパスワード (TOTP) を使用します。
- SMS 認証:ユーザーの登録済み電話番号に SMS でワンタイム認証コードを送信する便利な方法で、追加アプリなしでモバイル認証を好むユーザーに最適です。
- メール認証:ユーザーの登録済みメールアドレスにワンタイム認証コードを送信する広く利用可能な方法で、すべてのプラットフォームやデバイスのユーザーに適しています。
- バックアップ要素:
- バックアップコード:上記のプライマリ要素で認証できない場合のバックアップオプションです。このオプションを有効にすると、ユーザーのアクセス成功率が向上します。
- プライマリ要素:
- MFA 必須を有効にするかどうかを選択します:
- 有効:ユーザーはサインイン時に MFA の設定を求められ、スキップできません。MFA の設定に失敗したり削除した場合、再設定するまでアカウントにアクセスできなくなります。
- 無効:ユーザーはサインアップフロー中に MFA 設定をスキップできます。後からセルフサービスのアカウント設定ページで MFA を設定できます。詳細はこちら でユーザーアカウント設定ページの実装方法を確認できます。さらに MFA 設定プロンプトのポリシーを選択します:
- ユーザーに MFA 設定を求めない:サインイン時に MFA 設定を求めません。
- 登録時に MFA 設定を求める:新規ユーザーは登録時に MFA 設定を求められ、既存ユーザーは次回サインイン時にプロンプトが表示されます。ユーザーはこのステップをスキップでき、再度表示されません。
- 登録後のサインイン時に MFA 設定を求める:新規ユーザーは登録後 2 回目のサインイン時に MFA 設定を求められ、既存ユーザーは次回サインイン時にプロンプトが表示されます。ユーザーはこのステップをスキップでき、再度表示されません。

組織単位の MFA 設定
組織 (Organizations) をサポートするマルチテナント構成のプロダクトでは、すべてのユーザーに MFA を必須とする必要はありません。代わりに、組織ごとに MFA を有効化でき、各クライアントの要件に合わせて柔軟に運用できます。詳細は 組織メンバーに MFA を必須化する を参照してください。
MFA ユーザーフロー
MFA 設定フロー
MFA が有効になると、ユーザーはサインインやサインアップ時に MFA 設定を求められます。「MFA 必須」ポリシーが無効の場合のみ、ユーザーはこの設定をスキップできます。
- サインインまたはサインアップページへアクセス:ユーザーがサインインまたはサインアップページに移動します。
- サインインまたはサインアップを完了:ユーザーがサインインまたはサインアップフロー内でアイデンティティ確認を完了します。
- MFA プライマリ要素の設定:ユーザーはパスキー、認証アプリ OTP、SMS コード、メールコードのいずれかのプライマリ MFA 要素の設定を求められます。
- 複数のプライマリ要素が有効な場合、ユーザーは好みの方法を選択できます。
- プライマリ要素がサインアップ識別子(例:SMS やメール)と同じ場合は事前認証され、認証ステップをスキップして次のステップ(例:「2 段階認証を追加」や「バックアップ要素を保存」)に進めます。
- 「MFA 必須」ポリシーが無効な場合、「スキップ」ボタンでこのステップを省略できます。
- MFA バックアップ要素の設定:バックアップコードが有効な場合、プライマリ認証要素の設定完了後にバックアップコードの保存を求められます。自動生成されたバックアップコードが表示され、ユーザーはダウンロードして安全に保管できます。MFA 設定完了には、ユーザーがバックアップコードを手動で確認する必要があります。

MFA 認証フロー
MFA を設定したユーザーは、サインイン時に設定済みの MFA 要素で本人確認を求められます。認証要素は Logto の MFA 設定とユーザー設定により異なります。
- 1 つだけ要素を設定している場合は、その要素で直接認証します。
- 2 要素認証 (2FA) のため複数要素を設定している場合、システムは以下の優先ルールで認証方法を提示します:
- パスキー優先:パスキーが設定されていれば、デフォルトの認証方法として提示されます。
- 最終利用優先:パスキーがない場合、ユーザーが最後に成功した認証方法を優先します。
- 選択リスト:上記いずれにも該当しない場合、2 段階認証ページで利用可能な認証方法をすべて表示し、ユーザーが選択できます。
- ユーザーは「他の方法で認証する」をクリックして、いつでも認証方法を切り替えられます。
- すべてのプライマリ要素が利用できず、バックアップコードが有効な場合は、ワンタイムバックアップコードで本人確認できます。

MFA 管理
サインイン / サインアップ時の初期設定に加え、ユーザーはセルフサービスのアカウントセンターで MFA 設定を管理できます。これにより、ユーザーは必要に応じて MFA 要素の追加や解除が柔軟に行えます。
アカウントセンターの構築
Logto の Account API を利用して、包括的なアカウントセンターを構築できます。ユーザーは以下の操作が可能です:
- 新しい MFA 要素の追加:追加の認証アプリやパスキーの登録、バックアップコードの再生成
- 既存 MFA 要素の解除:不要になった MFA 方法の削除
- 現在の MFA 状態の確認:設定済みの MFA 要素の確認
ログイン後の MFA 設定プロンプト
初回登録時に MFA を必須としないアプリケーションでは、MFA 設定を促すインテリジェントなプロンプトを実装できます:
- 条件付きプロンプト:ユーザーの行動やアカウント価値に応じて MFA 設定を推奨
- セキュリティダッシュボード:MFA 有効化でスコアが向上するセキュリティスコアの表示
- 段階的オンボーディング:セキュリティ強化フローの一部として MFA 設定を案内
これらのパターンの実装方法は Account API で詳しく解説しています。
コンソールでユーザーの MFA を管理
コンソール > ユーザー管理 では、管理者がユーザーの MFA 設定を効果的に管理できます:
- ユーザーの MFA 状態の確認:各ユーザーに有効な MFA 要素を確認できます。
- ユーザーの MFA 削除:ユーザーのすべての MFA 要素を削除し、再度 MFA 設定を求めることができます。
よくある質問
管理者がユーザーの既存 MFA 要素を削除した場合はどうなりますか?
管理者がユーザーのプライマリ MFA 要素(パスキー、認証アプリ OTP、SMS、メール)をすべて削除した場合、次回サインイン時に以下のシナリオが発生します:
シナリオ 1:MFA 要素が残っていない場合
- すべての MFA 要素(バックアップコードも含む)が存在せず、MFA ポリシー で MFA が必須の場合、ユーザーは MFA 認証なしでサインインでき、直ちに MFA 設定を再度求められます。
シナリオ 2:バックアップコードが残っている場合
- バックアップコードが残っている場合、ユーザーはサインイン時にまずバックアップコードで認証する必要があります。
- バックアップコード認証に成功すると、新しいプライマリ MFA 要素の設定を求められます。
- この設定をスキップできるかどうかは、設定した MFA ポリシーによります。
- この方法により、プライマリ要素がない場合でもユーザーがアカウントから締め出されることを防ぎます。