5.2.6. 属性の検証
管理対象の属性に対する検証を有効にして、属性値が特定のルールに準拠していることを確認できます。そのためには、属性を管理するときに、Validations 設定からバリデーターを追加または削除できます。
属性の検証
検証は、属性への書き込み時に随時実行されます。値が検証に失敗したときに、エラーを出力して UI に表示できます。
セキュリティー上の理由から、ユーザーが編集可能なすべての属性に、ユーザーが入力する値のサイズを制限する検証を指定する必要があります。length バリデーターが指定されていない場合、Red Hat build of Keycloak ではデフォルトで最大長が 2048 文字に設定されます。
5.2.6.1. ビルトインバリデーター リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Keycloak には、選択可能なビルトインバリデーターがいくつか用意されています。また、Validator SPI を拡張して独自のバリデーターを提供することもできます。
以下に、すべてのビルトインバリデーターのリストを示します。
| 名前 | 説明 | 設定 |
|---|---|---|
| length | 最小と最大長に基づいて文字列値の長さを確認します。 | min: 許容される最小長を定義する整数。 max: 許容される最大長を定義する整数。 trim-disabled: 検証前に値がトリミングされるかどうかを定義するブール値。 |
| integer | 値が整数であり、下限または上限の範囲内にあるかどうかを確認します。範囲が定義されていない場合、バリデーターは、値が有効な数字のみを確認します。 | Min: 小さい範囲を定義する整数。 max: 上限を定義する整数。 |
| double | 値が二重で、下層または上位の範囲内であるかどうかを確認します。範囲が定義されていない場合、バリデーターは、値が有効な数字のみを確認します。 | Min: 小さい範囲を定義する整数。 max: 上限を定義する整数。 |
| uri | 値が有効な URI かどうかを確認します。 | なし |
| pattern | 値が特定の RegEx パターンと一致するかどうかを確認します。 | パターン: 値の検証時に使用する RegEx パターン。 error-message: i18n バンドルのエラーメッセージのキー。設定されていない場合には、汎用メッセージが使用されます。 |
| | 値が有効なメールアドレスの形式かどうかを確認します。レルムがメールを送信するように設定 されていて、多言語対応メールをサポートするための Allow UTF-8 オプションが有効でない場合、このバリデーターは、アドレスのローカル部分に ASCII 文字のみが含まれていることも確認します。 | max-local-length: メールアドレスのローカル部分の最大長を定義する整数。仕様に従ってデフォルトで 64 に設定されます。 |
| local-date | レルムまたはユーザーロケールに基づいて、値が有効な形式かどうかを確認します。 | なし |
| iso-date | 値が ISO 8601 に基づく有効な形式であるかどうかを確認します。このバリデーターは、html5-date 入力タイプを使用した入力で使用できます。 | なし |
| person-name-prohibited-characters | 値がスクリプトインジェクションなどの攻撃にもう 1 つのバリアとして有効な人名であるかを確認します。検証は、デフォルト RegEx パターンをベースとしています。このパターンでは、文字が人名では一般的ではありません。 | error-message: i18n バンドルのエラーメッセージのキー。設定されていない場合には、汎用メッセージが使用されます。 |
| username-prohibited-characters |
値がスクリプトインジェクションなどの攻撃のためにもう 1 つのバリアとして有効なユーザー名であるかを確認します。検証は、ユーザー名に共通の文字をブロックするデフォルトの RegEx パターンに基づいています。 | error-message: i18n バンドルのエラーメッセージのキー。設定されていない場合には、汎用メッセージが使用されます。 |
| options | 値が許可された値の定義されたセットからのものであるかどうかを確認してください。選択フィールドと複数選択フィールドから入力された値を検証するのに便利です。 | options: 許可された値を含む文字列の配列。 |
| up-username-not-idn-homograph | このフィールドには、ラテン文字と一般的な Unicode 文字のみを含めることができます。IDN ホモグラフ攻撃の対象となる可能性のあるフィールド (ユーザー名など) に役立ちます。 | error-message: i18n バンドルのエラーメッセージのキー。設定されていない場合には、汎用メッセージが使用されます。 |
| multivalued | 複数値属性のサイズを検証します。 | min: 属性値の最小許容数を定義する整数。 max: 属性値の最大許容数を定義する整数。 |