MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む

このページは機械翻訳したものです。

6.4.3 パスワード検証コンポーネント

validate_password コンポーネントは、アカウントパスワードを要求し、潜在的なパスワードの強度テストを有効にすることで、セキュリティを向上させます。 このコンポーネントは、コンポーネント監視用のパスワードポリシーおよびステータス変数を構成できるシステム変数を公開します。

注記

MySQL 8.0 では、validate_password プラグインが validate_password コンポーネントとして再実装されました。 (コンポーネントの一般情報は、セクション5.5「MySQL のコンポーネント」 を参照してください。) 次の手順では、プラグインではなくコンポーネントの使用方法について説明します。 プラグインフォームの validate_password を使用する手順は、MySQL 5.7 Reference ManualThe Password Validation Plugin を参照してください。

validate_password のプラグインフォームは引き続き使用できますが、非推奨になっています。将来のバージョンの MySQL で削除される予定です。 プラグインを使用する MySQL インストールでは、かわりにコンポーネントの使用に移行する必要があります。 セクション6.4.3.3「パスワード検証コンポーネントへの移行」を参照してください。

validate_password コンポーネントは、次の機能を実装します:

注記

アカウントパスワード (ALTER USERCREATE USER および SET PASSWORD) を割当てまたは変更するステートメントの場合、ここで説明する validate_password 機能は、MySQL に内部的に資格証明を格納する認証プラグインを使用するアカウントにのみ適用されます。 MySQL 外部の資格証明システムに対して認証を実行するプラグインを使用するアカウントの場合、パスワード管理もそのシステムに対して外部で処理する必要があります。 内部資格証明記憶域の詳細は、セクション6.2.15「パスワード管理」 を参照してください。

前述の制限は、アカウントに直接影響しないため、VALIDATE_PASSWORD_STRENGTH() 関数の使用には適用されません。

例:

パスワードチェックを構成するには、validate_password.xxx という形式の名前を持つシステム変数を変更します。これらは、パスワードポリシーを制御するパラメータです。 セクション6.4.3.2「パスワード検証オプションおよび変数」を参照してください。

validate_password がインストールされていない場合、validate_password.xxx システム変数は使用できず、ステートメントのパスワードはチェックされず、VALIDATE_PASSWORD_STRENGTH() 関数は常に 0 を返します。 たとえば、プラグインがインストールされていない場合、アカウントには 8 文字未満のパスワードを割り当てることも、パスワードをまったく割り当てないこともできます。

validate_password がインストールされていると仮定すると、3 レベルのパスワードチェックが実装されます: LOWMEDIUM および STRONG。 デフォルトは MEDIUM です。これを変更するには、validate_password.policy の値を変更します。 これらのポリシーにより、実装されるパスワードテストはますます厳密になります。 次の説明では、適切なシステム変数を変更して変更できるデフォルトのパラメータ値について説明します。

また、validate_password では、現在のセッションの有効なユーザーアカウントのユーザー名部分と一致するパスワードを転送または逆方向に拒否する機能がサポートされています。 この機能を制御するために、validate_password では、デフォルトで有効になっている validate_password.check_user_name システム変数が公開されます。