用户口令强度校验机制

    特性简介

    对用户访问数据库所设置的口令强度进行校验。

    用户无法设置过低强度的口令,加固客户数据安全。

    特性描述

    初始化数据库、创建用户、修改用户时需要指定密码。密码必须满足强度校验,否则会提示用户重新输入密码。账户密码复杂度要求如下:

    • 包含大写字母(A-Z)的最少个数(password_min_uppercase)
    • 包含小写字母(a-z)的最少个数(password_min_lowercase)
    • 包含数字(0-9)的最少个数(password_min_digital)
    • 包含特殊字符的最少个数(password_min_special)
    • 密码的最大长度(password_max_length)
    • 至少包含上述四类字符中的三类。
    • 不能和用户名、用户名倒写相同,本要求为非大小写敏感。
    • 不能和当前密码、当前密码的倒写相同。
    • 不能是弱口令。

    参数password_policy设置为1时表示采用密码复杂度校验,默认值为1。

    弱口令字典中的口令存放在gs_global_config系统表中(name字段为weak_password的记录是储存的弱口令),当创建用户、修改用户需要设置密码时,将会把用户设置口令和弱口令字典中存放的口令进行对比,如果命中,则会提示用户该口令为弱口令,设置密码失败。

    弱口令字典默认为空,用户通过以下语法可以对弱口令字典进行增加和删除,示例如下:

    其中“password1”,“password2”是用户事先准备的弱口令,该语句执行成功后将会存入弱口令系统表中。

    DROP WEAK PASSWORD DICTIONARY语句会清空整张系统表弱口令相关部分。

    gs_global_config系统表没有唯一索引,不建议用户通过COPY FROM命令重复用相同数据对该表进行操作。

    若用户需要对弱口令相关操作进行审计,应设置audit_system_object参数中的第三位为1。

    openGauss 1.1.0版本实现了弱口令字典功能。

    特性约束

    • 普通用户可以查看但是不能新增或者删除弱口令字典。