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 COMPONENTUNINSTALL COMPONENT命令。

啟用 validate_password 元件

若要在 Aurora MySQL 叢集中啟用密碼驗證,請使用叢集參數:

參數名稱:aurora_enable_validate_password_component

若要啟用:在您的資料庫叢集參數群組中將 aurora_enable_validate_password_component設定為 true(或 1)。

若要停用:在您的資料庫叢集參數群組中將 aurora_enable_validate_password_component設定為 false(或 0)。

注意

您將無法使用 validate_password元件的INSTALL/UNINSTALL COMPONENT命令。

注意

從 Aurora MySQL 8.4 版開始,validate_password元件不會列在mysql.component資料表中。您可以在資料庫叢集參數群組中或透過全域變數 來查看元件的狀態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外掛程式,您可以透過啟用 參數來遷移至validate_password元件,aurora_enable_validate_password_component然後在您的寫入器執行個體上透過 UNINSTALL PLUGIN命令移除外掛程式。

注意

如果您同時安裝 外掛程式並aurora_enable_validate_password_component啟用 參數,validate_password元件將優先於 外掛程式。

如果您之前使用 手動安裝validate_password元件INSTALL COMPONENT 'file://component_validate_password',請確保在升級時在目標資料庫叢集aurora_enable_validate_password_component參數群組中設定 參數。升級之後,元件將不再列在mysql.component資料表中。您可以使用 aurora_enable_validate_password_component全域變數來驗證元件的狀態。

在升級後的第一個資料庫引擎啟動上,如果您先前已手動安裝元件,您會在 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 受管主要使用者密碼的影響

對於使用存放於 中的 Amazon RDS 受管主要使用者憑證的叢集 AWS Secrets Manager,如果輪換期間自動產生的密碼不符合設定的驗證要求,輪換將會失敗。您需要調整密碼驗證參數,以允許輪換成功。我們建議不要同時使用 validate_password元件和受管主要使用者密碼。

相關文件