パスワードポリシー
Logto では、パスワードの作成や更新方法に応じてパスワードポリシーの適用方法が異なります:
- 標準のサインイン体験、体験 API、Account API などのエンドユーザーフローでは、常に現在の パスワードポリシー が適用されます。
- 管理者が Management API の
patch /api/users/{userId}/passwordを通じて操作する場合は例外となり、必要に応じてポリシーチェックなしで資格情報のプロビジョニングやリセットが可能です。 - 既存のパスワードが現在のルールに準拠しているか監査するには、
POST /api/sign-in-exp/default/check-passwordを呼び出し、返されたバリデーション結果に基づいて対応します。詳細は パスワード準拠チェック をご覧ください。
パスワードポリシーの設定
新規ユーザーやパスワードを更新するユーザーに対して、パスワードの強度要件を強制するためのパスワードポリシーを設定できます。コンソール > セキュリティ > パスワードポリシー でパスワードポリシーの設定を行ってください。
- 最小パスワード長:パスワードに必要な最小文字数を設定します。(NIST は少なくとも 8 文字 を推奨しています)
- 必要な文字種の最小数:パスワードに必要な文字種の最小数を設定します。利用可能な文字種は以下の通りです:
- 大文字:
(A-Z) - 小文字:
(a-z) - 数字:
(0-9) - 記号:
(!"#$%&'()\*+,-./:;<>=?@[]^\_`|{}~ )
- 大文字:
- 漏洩履歴チェック:この設定を有効にすると、過去にデータ漏洩で公開されたパスワードを拒否します。(Have I Been Pwned により提供)
- 繰り返しチェック:この設定を有効にすると、同じ文字が繰り返されているパスワードを拒否します。(例:「11111111」や「password123」など)
- ユーザー情報チェック:この設定を有効にすると、ユーザー名、メールアドレス、電話番号などのユーザー情報を含むパスワードを拒否します。
- カスタムワード:パスワードに含めたくないカスタムワード(大文字小文字を区別しない)をリストで指定できます。
パスワード準拠チェック
Logto でパスワードポリシーを更新した後も、既存ユーザーは現在のパスワードでサインインできます。新規作成されたアカウントのみが更新されたポリシーに従う必要があります。
より強力なセキュリティを実現するために、POST /api/sign-in-exp/default/check-password API を利用して、ユーザーのパスワードがデフォルトのサインイン体験で定義された現在のポリシーを満たしているか確認できます。満たしていない場合は、Account API を使ったカスタムフローでパスワードの更新を促すことができます。