すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:カスタムパスワードポリシー

最終更新日:Nov 09, 2025

RDS for MySQL では、validate_password プラグインを使用してカスタムパスワードポリシーを作成できます。この機能により、パスワードの長さや強度などのパスワードの複雑さのルールを変更でき、データベースアクセスのセキュリティが強化されます。

機能紹介

RDS for MySQL の validate_password プラグインは、データベースアカウントのパスワードの複雑さの要件を詳細に制御します。

  • パスワードをデータベースのユーザー名と同じにできるかどうか

  • パスワードの最小長

  • 大文字と小文字の最小数

  • 数字の最小数

  • 特殊文字の最小数

  • パスワード強度のチェックポリシー

前提条件

RDS for MySQL インスタンスは MySQL 5.7 または 8.0 を実行していること。

重要

  • プライマリノードにインストールされた validate_password プラグインは、セカンダリノードに自動的に同期されません

    プライマリ/セカンダリ アーキテクチャ (High-availability Edition または Cluster Edition) のインスタンスの場合、プライマリノードとセカンダリノードに個別にvalidate_password プラグインをインストールする必要があります。手動のプライマリ/セカンダリフェールオーバーを実行してセカンダリノードにログインし、プラグインをインストールできます。プライマリノードにのみプラグインをインストールした場合、フェールオーバー後に新しいプライマリノード (元のセカンダリノード) でプラグインが使用できなくなります。これにより、パスワードポリシーが無効になります。

    説明

    プラグインをインストールした後、RDS コンソールで設定されたパスワードポリシーパラメーターはセカンダリノードに自動的に同期されます。再度設定する必要はありません。

  • コアパラメーターの制限とシステムの処理

    length の値は、number_count + (2 × mixed_case_count) + special_char_count 以上である必要があります。値がこの要件を満たさない場合、RDS は自動的に length の値を数式の結果と等しくなるように調整します。

  • RDS の必須ルール

    カスタムポリシーの設定に関係なく、RDS コンソールでパスワードを作成または変更する場合、または API 操作 (CreateAccount または ResetAccountPassword) を呼び出す場合、パスワードは常に次の要件を満たす必要があります。

    • 長さが 8~32 文字であること。

    • 大文字、小文字、数字、特殊文字 (!@#$%^&*()_+-=) のうち、少なくとも 3 種類を含むこと。

  • 8 文字の最小長制限のバイパス (非推奨)

    パラメーター値を調整しても、RDS コンソールでの必須チェックをバイパスすることはできません。パスワードの最小長を 5 に設定した場合でも、パスワードの作成または変更時には少なくとも 8 文字を入力する必要があります。

    8 文字未満のパスワードを設定するには、SET PASSWORD コマンドを使用して RDS コンソールでの必須チェックをバイパスし、直接 5 文字のパスワードを設定できます。この方法は、テスト環境または特殊なシナリオにのみ適しています。本番環境では使用しないでください。

料金

カスタムパスワードポリシー機能は無料です。

ステップ 1: validate_password プラグインをインストールする

  1. 特権アカウントを使用して MySQL インスタンスに接続します

  2. 次の SQL コマンドを実行して、validate_password プラグインをインストールします。

    INSTALL PLUGIN validate_password SONAME 'validate_password.so';
  3. 次の SQL コマンドを実行して、プラグインがインストールされていることを確認します。

    SHOW GLOBAL VARIABLES LIKE 'validate_password%';

    次のような結果が返された場合、プラグインはインストールされています。Returned result

ステップ 2: パスワードポリシーパラメーターを変更する

  1. インスタンスページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。次に、RDS インスタンスを見つけて、インスタンスの ID をクリックします。

  2. 左側のナビゲーションウィンドウで、パラメーターの設定 をクリックします。

  3. インスタンスパラメーターの設定 の手順に従って、loose_validate_password シリーズのパラメーターを検索して変更します。

    説明

    パラメーター

    サポートされているデータベースバージョン

    説明

    設定例 (MySQL 5.7)

    loose_validate_password_check_user_name

    5.7

    パスワードをユーザー名と同じにできるかどうかを指定します。有効な値:

    • ON (デフォルト): 許可

    • OFF: 許可しない

    OFF: パスワードはユーザー名と同じにできません。

    loose_validate_password_policy

    8.0/5.7

    パスワード強度のチェックレベル。有効な値:

    • 0: パスワードの長さのみをチェックします。

    • 1 (デフォルト): パスワードの長さ、数字、大文字と小文字、特殊文字をチェックします。

    • 2: パスワードの長さ、数字、大文字と小文字、特殊文字、および辞書ファイルをチェックします。

      説明

      辞書ファイルを指定できないため、レベル 2 はレベル 1 と同じです。

    1: パスワードの長さ、数字、大文字と小文字、特殊文字をチェックします。

    loose_validate_password_length

    8.0/5.7

    パスワードの最小長。

    • MySQL 5.7: 値は 0 から 256 の範囲で指定できます。デフォルト値は 8 です。

    • MySQL 8.0: 値は 1 から 12 の範囲で指定できます。デフォルト値は 8 です。

    10: パスワードの最小長は 10 文字です (要件を満たしています: 10 >= 2 + (2 × 2) + 1 = 7)。

    loose_validate_password_number_count

    5.7

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

    値は 0 から 256 の範囲で指定できます。デフォルト値は 1 です。

    2: パスワードには少なくとも 2 つの数字を含める必要があります。

    loose_validate_password_mixed_case_count

    5.7

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

    値は 0 から 256 の範囲で指定できます。デフォルト値は 1 です。

    2: パスワードには、少なくとも 1 つの大文字と 1 つの小文字 (合計 2 つの大文字小文字混合) を含める必要があります。

    loose_validate_password_special_char_count

    5.7

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

    値は 0 から 256 の範囲で指定できます。デフォルト値は 1 です。

    1: パスワードには少なくとも 1 つの特殊文字を含める必要があります。

参考