OceanBase 数据库 MySQL 模式的密码复杂度策略,兼容 MySQL 数据库的密码策略。为了防止恶意的密码攻击,提升数据库的安全性,OceanBase 数据库用户可以根据需要设置密码的复杂度函数,验证用户登录身份。
密码复杂度规则说明
OceanBase 数据库的 MySQL 模式主要通过设置一系列系统变量来规定密码的复杂度规则,这些系统变量及其相关说明如下表所示。
| 变量名 | 描述 | 使用说明 |
|---|---|---|
| validate_password_check_user_name | 检查用户密码,是否可以和用户名相同。 |
|
| validate_password_length | 设置用户密码最小长度。 | 默认值为 0。 |
| validate_password_mixed_case_count | 设置用户密码至少包含的大写字母和小写字母个数。 | 默认值为 0。 |
| validate_password_number_count | 设置用户密码至少包含的数字个数。 | 默认值为 0。 |
| validate_password_policy | 设置密码检查策略。 |
|
| validate_password_special_char_count | 用户密码至少包含的特殊字符个数。 | 默认值为 0。 |
更多变量的介绍及说明信息,请参见《系统参考》文档中的 系统变量 章节。
设置密码复杂度
本节以设置密码复杂度规则为最小长度为 8 个字符,至少包含 3 个大写字母、3 个小写字母和 1 个特殊字符、用户密码可以与用户名相同并且检查策略为 medium 为例,提供设置密码复杂度的操作指导。
以管理员用户登录数据库的 MySQL 租户。
设置变量值。
obclient> SET GLOBAL validate_password_check_user_name=on; obclient> SET GLOBAL validate_password_length=8; obclient> SET GLOBAL validate_password_mixed_case_count=3; obclient> SET GLOBAL validate_password_special_char_count=1; obclient> SET GLOBAL validate_password_policy='medium';退出后重新登录,确认设置是否生效。
obclient> SHOW VARIABLES LIKE 'validate%'; +--------------------------------------+--------+ +--------------------------------------+--------+ | VARIABLE_NAME | VALUE | +--------------------------------------+--------+ | validate_password_check_user_name | on | | validate_password_length | 8 | | validate_password_mixed_case_count | 3 | | validate_password_number_count | 0 | | validate_password_policy | medium | | validate_password_special_char_count | 1 | +--------------------------------------+--------+ 6 rows in set (0.00 sec)创建用户,验证密码复杂度策略。
创建 2 个用户,分别设置为符合要求的密码和不符合要求的密码。
obclient> CREATE USER sectest1 IDENTIFIED BY '***1**'; ERROR 1819 (HY000): Your password does not satisfy the current policy requirements obclient> CREATE USER sectest1 IDENTIFIED BY '***1_%'; Query OK, 0 rows affected
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




