自定义密码策略

RDS MySQL实例支持自定义数据库访问密码的强度,保障数据库的安全性。

前提条件

已升级至最新内核小版本

注意事项

通过RDS控制台修改或创建密码时,自定义密码策略无法突破如下初始密码策略:

  • 长度为8~32个字符。

  • 由大写字母、小写字母、数字、特殊字符中的任意三种组成。

  • 特殊字符为!@#$%^&*()_+-=

功能介绍

RDS MySQL 5.7版本以及RDS MySQL 8.0版本实例支持通过validate_password插件修改数据库账号的密码复杂度校验规则:

  • 密码和账号名是否可以一致。

  • 密码的长度。

  • 密码中需包含的大小写字母个数。

  • 密码中需包含的数字个数。

  • 密码中需包含的特殊字符个数。

  • 密码检测强度。

步骤一:安装validate_password插件

  1. 连接MySQL实例

    说明

    必须使用高权限账号连接MySQL实例。更多信息,请参见创建高权限账号

  2. 在SQL窗口中执行如下命令安装validate_password插件。

    INSTALL PLUGIN validate_password SONAME 'validate_password.so';
  3. 在SQL窗口中执行如下命令验证插件是否安装正常。

    SHOW GLOBAL VARIABLES LIKE 'validate_password%';

    出现类似下图的返回结果即代表插件安装成功。返回结果

步骤二:修改密码策略参数

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在左侧导航栏中单击参数设置

  3. 根据设置实例参数文档修改loose_validate_password系列参数配置,各参数说明如下。

    说明

    修改下列参数前,您必须已完成步骤一:安装validate_password插件,否则参数的修改不会生效。

    参数名

    说明

    loose_validate_password_check_user_name

    是否允许密码和账号名一致。取值:

    • ON:允许。

    • OFF:不允许。

    默认值:ON

    loose_validate_password_policy

    密码强度检测等级。取值:

    • 0:强度低,只检测密码长度。

    • 1:强度中,检测密码的长度、数字、大小写以及特殊字符。

    • 2:强度高,检测密码的长度、数字、大小写、特殊字符以及字典文件。

      说明

      由于当前暂不支持指定字典文件。因此12的强度相等。

    默认值:1

    loose_validate_password_length

    密码长度。取值:0~256

    默认值:8

    说明

    修改该参数无法突破控制台中最少8个字符的限制,您即使将该参数的值调整为5,在控制台中创建或修改密码时依然需要输入至少8个字符。但是您可以通过SET PASSWORD命令将密码修改为5个字符。

    loose_validate_password_number_count

    密码中需包含的数字的个数。取值:0~256

    默认值:1

    loose_validate_password_mixed_case_count

    密码中需包含的大小写字母的个数。取值:0~256

    默认值:1

    loose_validate_password_special_char_count

    密码中需包含的特殊字符的个数。取值:0~256

    默认值:1

    说明

    更多信息,请参见官方文档