RDS MySQL支援通過validate_password外掛程式自訂密碼原則,以增強資料庫訪問的安全性。您可以修改密碼複雜度校正規則,包括密碼長度、密碼檢測強度等。
功能介紹
RDS MySQL支援通過validate_password外掛程式精細控制資料庫帳號密碼的複雜度要求:
是否允許密碼與資料庫帳號名相同
密碼最小長度
需包含大寫和小寫字母的最小個數
需包含數位最小個數
需包含特殊字元的最小個數
密碼強度檢測策略
前提條件
RDS MySQL執行個體版本需為5.7或8.0。
注意事項
主節點的
validate_password外掛程式安裝不會自動同步至備節點對於主備架構執行個體(高可用系列、叢集系列),validate_password外掛程式需在主節點和備節點分別手動安裝, 可通過手動切換主備操作登入備節點安裝。若僅在主節點安裝,後續發生主備切換後新主節點(原備節點)將缺失該外掛程式,導緻密碼策略失效。
說明外掛程式安裝後,通過RDS控制台配置的密碼原則參數會自動同步至備節點,無需重複設定。
核心參數限制及系統處理
length必須大於或等於number_count + (2 * mixed_case_count)+ special_char_count,若任意一個值導致不符合上述要求,RDS會自動將length調整為等於該計算式的結果。RDS強制規則
無論自訂策略如何設定,通過RDS控制台或API(CreateAccount/ResetAccountPassword)建立或修改密碼時,密碼始終遵循:
長度為8~32個字元。
包含大寫字母、小寫字母、數字、特殊字元(
!@#$%^&*()_+-=)中的至少三種。
繞過密碼最小長度為8的強制限制(不推薦)
參數值調整無法繞過RDS控制台的強制校正,即使將密碼最小長度設為5,建立或修改密碼時仍需輸入至少8個字元。
如需設定少於8個字元的密碼,可通過
SET PASSWORD命令繞過RDS控制台的強制校正限制,直接設定為5字元密碼。此方法僅適用於測試環境或特殊情境,生產環境不建議使用。
費用說明
自訂密碼原則功能免費使用。
步驟一:安裝validate_password外掛程式
使用高許可權帳號串連MySQL執行個體。
執行如下SQL命令,安裝
validate_password外掛程式。INSTALL PLUGIN validate_password SONAME 'validate_password.so';執行如下SQL命令,驗證外掛程式是否安裝成功。
SHOW GLOBAL VARIABLES LIKE 'validate_password%';出現類似下圖的返回結果即表示外掛程式安裝成功。

步驟二:修改密碼原則參數
訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
在左側導覽列中單擊參數設定。
根據設定執行個體參數文檔,搜尋並修改
loose_validate_password系列參數。說明修改參數前,請確保已完成validate_password外掛程式的安裝,否則修改的參數不會生效。
參數名
支援的資料庫版本
說明
配置樣本(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個特殊字元。
相關文檔
您可以通過RDS控制台(建立帳號/重設帳號密碼)或API(CreateAccount/ResetAccountPassword)設定資料庫帳號密碼。
如需限制資料庫帳號的使用許可權,請參見修改帳號許可權、指定帳號從特定IP地址訪問資料庫、限制帳號只能訪問指定表、視圖、欄位。