View a markdown version of this page

Aurora MySQL のパスワードポリシーとパスワード検証 - Amazon Aurora

Aurora MySQL のパスワードポリシーとパスワード検証

パスワードポリシー

Aurora MySQL は、次の MySQL パスワードポリシー機能をサポートしています。これらのポリシーの詳細については、「MySQL パスワードに関するドキュメント」を参照してください。

パスワードの有効期限

パスワードの有効期限パラメータ
パラメータ/句 注意事項

クラスターパラメータ default_password_lifetime

Aurora MySQL 3 (MySQL 8.0 と互換) 以降で利用可能。

アカウントあたりの DCL 句 PASSWORD EXPIRE INTERVAL N DAY

なし

アカウントあたりの DCL 句 PASSWORD EXPIRE NEVER

なし

アカウントあたりの DCL 句 PASSWORD EXPIRE DEFAULT

なし

クラスターパラメータ disconnect_on_expired_password

Aurora MySQL バージョン 8.4 以降で利用可能。

パスワードの再利用に関する制限

パスワード再利用制限パラメータ
パラメータ/句 注意事項

クラスターパラメータ password_history

Aurora MySQL バージョン 8.4 以降で利用可能。

クラスターパラメータ password_reuse_interval

Aurora MySQL バージョン 8.4 以降で利用可能。

アカウントあたりの DCL 句 PASSWORD HISTORY N

なし

アカウントあたりの DCL 句 PASSWORD REUSE INTERVAL N DAY

なし

アカウントあたりの DCL 句 PASSWORD HISTORY DEFAULT

なし

現在のパスワード検証

現在のパスワード検証パラメータ
パラメータ/句 注意事項

パラメータ password_require_current

Aurora MySQL バージョン 8.4 以降で利用可能。

アカウントあたりの DCL 句 PASSWORD REQUIRE CURRENT

なし

アカウントあたりの DCL 句 PASSWORD REQUIRE CURRENT OPTIONAL

なし

アカウントあたりの DCL 句 PASSWORD REQUIRE CURRENT DEFAULT

なし

デュアルパスワードのサポート

デュアルパスワードサポート句
パラメータ/句 注意事項

アカウントあたりの DCL 句 RETAIN CURRENT PASSWORD

なし

アカウントあたりの DCL 句 DISCARD OLD PASSWORD

なし

失敗したログインの追跡と一時的なアカウントのロック

失敗したログインの追跡句
パラメータ/句 注意事項

アカウントあたりの DCL 句 FAILED_LOGIN_ATTEMPTS N

なし

アカウントあたりの DCL 句 PASSWORD_LOCK_TIME N

なし

アカウントあたりの DCL 句 PASSWORD_LOCK_TIME UNBOUNDED

なし

validate_password コンポーネントの使用

validate_password コンポーネントは、パスワード強度の検証と強制機能を提供する MySQL サーバーコンポーネントです。設定可能なルールに照らしてパスワードをテストし、承認される前に指定されたセキュリティ要件を満たしていることを確認します。

有効にすると、validate_password コンポーネントは次のときにパスワードを自動的に検証します。

  • ユーザーアカウントの作成 (CREATE USER)

  • パスワードの変更 (ALTER USERSET PASSWORD)

これにより、組織はデータベースユーザー全体で強力なパスワードの健全性を維持し、セキュリティポリシーと規制要件に準拠するのに役立ちます。

Aurora MySQL バージョン 8.4 は、validate_password コンポーネントを有効化および管理するためのパラメータベースのアプローチを提供するため、手動で INSTALL COMPONENT および UNINSTALL COMPONENT コマンドを実行する必要がなくなりました。

validate_password コンポーネントを有効にする

Aurora MySQL クラスターでパスワード検証を有効にするには、次のクラスターパラメータを使用します。

パラメータ名: aurora_enable_validate_password_component

有効にするには、DB クラスターパラメータグループの aurora_enable_validate_password_component パラメータを true (または 1) に設定します。

無効にするには、DB クラスターパラメータグループの aurora_enable_validate_password_component パラメータを false (または 0) に設定します。

注記

validate_password コンポーネントに INSTALL/UNINSTALL COMPONENT コマンドを使用することはできません。

注記

Aurora MySQL バージョン 8.4 以降、validate_password コンポーネントは mysql.component テーブルに表示されなくなりました。DB クラスターパラメータグループまたはグローバル変数 aurora_enable_validate_password_component を使用して、コンポーネントのステータスを確認できます。

SELECT @@global.aurora_enable_validate_password_component;

サポートされている validate_password コンポーネントパラメータ

validate_password コンポーネントパラメータ
パラメータ名 注意事項

validate_password.check_user_name

Aurora MySQL バージョン 8.4 以降で利用可能。

validate_password.length

Aurora MySQL バージョン 8.4 以降で利用可能。

validate_password.mixed_case_count

Aurora MySQL バージョン 8.4 以降で利用可能。

validate_password.number_count

Aurora MySQL バージョン 8.4 以降で利用可能。

validate_password.policy

Aurora MySQL バージョン 8.4 以降で利用可能。LOW レベルと MEDIUM レベルのみがサポートされています。

validate_password.special_char_count

Aurora MySQL バージョン 8.4 以降で利用可能。

MySQL validate_password パラメータの詳細については、「MySQLパスワード検証オプションと変数に関するドキュメント」を参照してください。

validate_password プラグインおよびコンポーネントの、RDS for MySQL または Aurora MySQL バージョン 3 から Aurora MySQL バージョン 8.4 への移行

Aurora MySQL バージョン 8.4 以降では、以前に INSTALL PLUGIN コマンドを使用して validate_password プラグインをインストールていた場合、aurora_enable_validate_password_component パラメータを有効にしてから、ライターインスタンスで UNINSTALL PLUGIN コマンドを使用してプラグインを削除することで、validate_password コンポーネントに移行できます。

注記

プラグインがインストールされていて、かつパラメータ aurora_enable_validate_password_component が有効になっている場合、validate_password コンポーネントがプラグインよりも優先されます。

以前に INSTALL COMPONENT 'file://component_validate_password' を使用して validate_password コンポーネントを手動でインストールした場合は、アップグレード時にターゲット DB クラスターのパラメータグループで aurora_enable_validate_password_component パラメータを設定してください。アップグレード後、コンポーネントは mysql.component テーブルに表示されなくなります。aurora_enable_validate_password_component グローバル変数を使用して、コンポーネントのステータスを確認できます。

アップグレード後の最初の DB エンジンの起動時に、以前にコンポーネントを手動でインストールしていた場合、MySQL エラーログに次のメッセージが表示されます。

Component 'file://component_validate_password' is being removed from mysql.component table. validate_password component can be enabled/disabled through 'aurora_enable_validate_password_component' cluster parameter.

手動インストールの制限

Aurora MySQL バージョン 8.4 リリース以降、validate_password コンポーネントの手動インストールおよびアンインストールコマンドは使用できません。

mysql> INSTALL COMPONENT 'file://component_validate_password'; ERROR HY000: Cannot load component from specified URN: 'validate_password component can be enabled/disabled through 'aurora_enable_validate_password_component' cluster parameter.'

コンポーネントのステータスのモニタリング

Aurora MySQL は、コンポーネントの状態の変更を MySQL エラーログに記録します。

有効にした場合:

Component 'validate_password' is enabled by parameter aurora_enable_validate_password_component

無効にした場合:

Component 'validate_password' is disabled by parameter aurora_enable_validate_password_component

マスターユーザーのパスワードに対するパスワード検証の影響

modify-db-cluster API を使用してマスターユーザーのパスワードをリセットするときに、新しいパスワードが設定されたパスワード検証ルールに準拠していない場合、Aurora MySQL はエラーを示すお客様が表示可能なイベントを出力します。その場合、準拠したパスワードを使用してオペレーションを再試行する必要があります。

Amazon RDS マネージドマスターユーザーのパスワードに対するパスワード検証の影響

AWS Secrets Manager に保存されている Amazon RDS 管理のマスターユーザー認証情報を使用するクラスターの場合、ローテーション中に自動的に生成されたパスワードが設定された検証要件に準拠していない場合、ローテーションは失敗します。ローテーションを成功させるには、パスワード検証パラメータを調整する必要があります。validate_password コンポーネントとマネージドマスターユーザーパスワードを一緒に使用しないことをお勧めします。

関連ドキュメント