第8章 認証の設定


この章では、複数の認証トピックを説明します。以下のトピックを以下に示します。

  • 厳密なパスワードおよびワンタイムパスワード (OTP) ポリシーを強制します。
  • 異なる認証情報タイプの管理
  • Kerberos でログインします。
  • ビルトイン認証情報タイプを無効にして有効化します。

8.1. パスワードポリシー

Red Hat build of Keycloak は、レルム作成時にパスワードポリシーをレルムに関連付けません。長さ、セキュリティー、または複雑性に制限のない簡単なパスワードを設定できます。実稼働環境では、シンプルなパスワードは受け入れられません。Red Hat build of Keycloak には、管理コンソールから利用できるパスワードポリシーのセットが含まれています。

手順

  1. メニューで Authentication をクリックします。
  2. Policies タブをクリックします。
  3. Add policy ドロップダウンボックスで、追加するポリシーを選択します。
  4. 選択したポリシーに適用する値を入力します。
  5. Save をクリックします。

    パスワードポリシー Password Policy

ポリシーを保存すると、Red Hat build of Keycloak が新規ユーザーにそのポリシーを適用します。

注記

新しいポリシーは既存のユーザーには無効になります。したがって、レルム作成の最初からパスワードポリシーを設定するか、既存のユーザーに "パスワードの更新" を追加するか、"パスワードの有効期限" を使用してユーザーが次の "N" 日以内にパスワードを更新するようにしてください。これにより、実際には新しいパスワードポリシーに合わせて調整します。

8.1.1. パスワードポリシータイプ

8.1.1.1. HashAlgorithm

パスワードは平文で保存されません。Red Hat build of Keycloak は、保存または検証の前に、標準のハッシュアルゴリズムを使用してパスワードをハッシュ化します。

サポートされているパスワードハッシュアルゴリズムを次の表に示します。

Expand
ハッシュアルゴリズム説明

argon2

Argon2 (FIPS 以外のデプロイメントのデフォルト)

pbkdf2-sha512

SHA512 を使用した PBKDF2 (FIPS デプロイメントのデフォルト)

pbkdf2-sha256

SHA256 を使用した PBKDF2

pbkdf2

PBKDF2 と SHA1 (非推奨)

PBKDF2 に比べて CPU 要件が大幅に少なく、それと同時により安全であるため、可能な場合は Argon2 を使用することを強く推奨します。

サーバーのデフォルトのパスワードハッシュアルゴリズムは、--spi-password-hashing-provider-default=<algorithm> で設定できます。

メモリーと CPU の過剰な使用を防ぐため、デフォルトでは、Argon2 によるハッシュの並列計算において、JVM で利用可能なコア数が上限となっています。Argon2 ハッシュプロバイダーを設定するには、プロバイダーオプションを使用します。

独自のハッシュアルゴリズムを追加する方法は、サーバー開発者ガイド を参照してください。

注記

ハッシュアルゴリズムを変更した場合、ストレージ内のパスワードハッシュは、ユーザーがログインするまで変更されません。

8.1.1.2. ハッシュの反復

Red Hat build of Keycloak が、保存または検証前にパスワードをハッシュ化する回数を指定します。デフォルト値は -1 で、次の表に示すように、選択したハッシュアルゴリズムのデフォルトのハッシュイテレーションを使用します。

Expand
ハッシュアルゴリズムデフォルトのハッシュイテレーション

argon2

5

pbkdf2-sha512

210,000

pbkdf2-sha256

600,000

pbkdf2

1,300,000

注記

ほとんどの場合、ハッシュイテレーションは推奨されるデフォルト値から変更しないでください。イテレーションの値が小さいとセキュリティーが不十分になり、値が大きいと CPU パワー要件が高くなります。

8.1.1.3. 数字

パスワード文字列に必要な数字の数。

8.1.1.4. 小文字

パスワード文字列に必要な小文字の数。

8.1.1.5. 大文字

パスワード文字列に必要な大文字の数。

8.1.1.6. 特殊文字

パスワード文字列で必要な特殊文字の数。

8.1.1.7. ユーザー名なし

パスワードはユーザー名と同じにすることはできません。

8.1.1.8. メールなし

パスワードは、ユーザーのメールアドレスと同じにすることはできません。

8.1.1.9. 正規表現

パスワードは、定義された 1 つ以上の Java 正規表現パターンと一致する必要があります。正規表現の構文は、Java 正規表現のドキュメント を参照してください。

8.1.1.10. パスワードが失効する

パスワードが有効な日数。有効期限が切れた日数が経過したら、パスワードを変更する必要があります。

8.1.1.11. 最近使用されていない

ユーザーがパスワードを使用できない。Red Hat build of Keycloak は、使用されたパスワードの履歴を保存します。保存される古いパスワードの数は、Red Hat build of Keycloak で設定できます。

8.1.1.12. 最近使用されていない (日数)

設定された期間 (日数) 内はパスワードを再利用できません。この期間内に新しいパスワードが最後に設定された場合、ユーザーは別のパスワードを入力するよう強制されます。

8.1.1.13. パスワードのブラックリスト

パスワードをブラックリストファイルに含めることはできません。

  • ブラックリストファイルは、Unix 行で終わる UTF-8 プレーンテキストファイルです。すべての行は、ブラックリストに指定されたパスワードを表します。
  • Red Hat build of Keycloak は、大文字と小文字を区別せずにパスワードを比較します。
  • ブラックリストファイルの値は、ブラックリストファイルの名前 (たとえば、100k_passwords.txt) である必要があります。
  • ブラックリストファイルは、デフォルトでは ${kc.home.dir}/data/password-blacklists/ に対して解決されます。以下を使用して、このパスをカスタマイズします。

    • keycloak.password.blacklists.path システムプロパティー。
    • passwordBlacklist ポリシー SPI 設定の blacklistsPath プロパティー。CLI を使用してブラックリストフォルダーを設定するには、--spi-password-policy-password-blacklist-blacklists-path=/path/to/blacklistsFolder を使用します。

誤検知に関する注意事項

現在の実装では、特定のパスワードがブラックリストに含まれているかどうかなど、誤検知の可能性がある封じ込めチェックを高速かつメモリー効率よく行うために BloomFilter を使用しています。

  • デフォルトでは、0.01% の誤検知確率が使用されます。
  • CLI 設定によって誤検知確率を変更するには、--spi-password-policy-password-blacklist-false-positive-probability=0.00001 を使用します。

8.1.1.14. 認証の最大有効期間

ユーザーが再認証なしでパスワードを更新できるユーザー認証の最大有効期間を秒単位で指定します。値が 0 の場合、ユーザーはパスワードを更新する前に常に現在のパスワードで再認証する必要があることを示します。このポリシーに関する詳細は、AIA セクション を参照してください。

注記

認証の最大有効期間は、管理コンソールの Required Actions タブで必要なアクション Update Password を設定するときにも設定できます。認証の最大有効期間 パスワードポリシーは、今後非推奨化または削除される可能性があるため、設定に必要なアクションを使用することを推奨します。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る