绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
GaussDB 100 设置密码安全策略
2020-02-26 11:00:32

设置密码安全策略

GaussDB 100设置了完善的密码安全策略,保证数据安全。安全策略主要分为密码复杂度、密码重用、密码有效期、密码修改和密码验证五个部分。

密码复杂度

创建数据库、创建用户、修改用户时需要指定密码。密码必须要符合复杂度的要求,否则会提示用户重新输入密码。帐户密码的复杂度要求如下:

  • 密码长度必须大于等于8个字符,小于等于64个字符。

  • 若密码不以单引号括起来,则密码首字符必须是字母、#号或下划线。

  • 密码不能与用户名或者用户名的倒序相同(校验时,不区分大小写)。

  • 密码只能包含以下4种类型,并且至少选取其中3种类型的组合。

    • 数字。

    • 小写字母。

    • 大写字母。

    • 空格或特殊字符(GaussDB 100支持的特殊字符列表,请参见下方的“特殊字符”表)。

  • 创建密码时,若密码中包含_#$以外的特殊字符或者空格,则密码须用单引号括起来。

  • 若创建的密码中包含特殊字符$,通过zsql连接数据库时密码在单引号里面$不需要使用\转义字符转义,密码不在单引号里面$需要使用\转义字符转义,否则会登录失败。

  • 若创建的密码中包含特殊字符空格,只能通过交互式登录。

  • 使用conn命令登录数据库密码段都认为是密码字符。

  • 使用zsql命令登录数据库密码字段使用单引号括起来。密码中不能出现单引号。

表1 特殊字符

编号

字符

编号

字符

编号

字符

编号

字符

1

`

9

&

17

\

25

"

2

~

10

*

18

|

26

,

3

!

11

(

19

[

27

<

4

@

12

)

20

{

28

.

5

#

13

-

21

}

29

>

6

$

14

_

22

]

30

/

7

%

15

=

23

:

31

?

8

^

16

+

24

'

-

-

密码重用

用户修改密码时,只有超过不可重用天数(PASSWORD_REUSE_TIME)或不可重用次数(PASSWORD_REUSE_MAX)的密码才可以使用。

说明:

这两个参数值越大越安全,但是在使用过程中会带来不便,其默认值符合安全标准,用户可以根据需要重新设置参数,提高安全等级。

  • PASSWORD_REUSE_TIME

    指定密码在多少天内不能重复使用。

    取值范围:正数,其中整数部分表示天数,小数部分可以换算成时、分、秒。

    如果参数变小,则后续修改密码按新的参数进行检查。

    如果参数变大(比如由a变大为b),因为b天之前的历史密码可能已经删除,所以b天之前的密码仍有可能被重用。则后续修改密码按新的参数进行检查。时间以时间为准,历史密码记录的都是当时的时间,不识别时间的修改。

  • PASSWORD_REUSE_MAX

    在重设密码时,指定当前密码至少需要间隔多少次,才能被重复使用。如果参数变小,则后续修改密码按新的参数进行检查。如果参数变大(比如由a变大为b),因为b次之前的历史密码可能已经删除,所以b次之前的密码仍有可能被重用。则后续修改密码按新的参数进行检查。

    PASSWORD_REUSE_TIME和PASSWORD_REUSE_MAX这两个参数必须互相关联设置。PASSWORD_REUSE_TIME指定了密码不能重用前的天数,而PASSWORD_REUSE_MAX则指定了当前密码至少需要间隔多少次,才能被重复使用。

    设置原则:

    • PASSWORD_REUSE_MAX、PASSWORD_REUSE_TIME都为UNLIMITED,密码可以随意重用,没有任何限制。

    • PASSWORD_REUSE_MAX、PASSWORD_REUSE_TIME均指定值时,必须满足这两者的条件时才可以重用密码。

    • 当PASSWORD_REUSE_MAX、PASSWORD_REUSE_TIME两个有其中一个不为UNLIMITED,则密码永远不能重用。取值范围:正整数。

命令示例如下:

--查看已配置的PASSWORD_REUSE_TIME
SELECT * FROM ADM_PROFILES WHERE RESOURCE_NAME = 'PASSWORD_REUSE_TIME';
--更改PASSWORD_REUSE_TIME参数为60
ALTER PROFILE DEFAULT LIMIT PASSWORD_REUSE_TIME 60;
--查看已配置的PASSWORD_REUSE_MAX
SELECT * FROM ADM_PROFILES WHERE RESOURCE_NAME='PASSWORD_REUSE_MAX';
--更改PASSWORD_REUSE_MAX参数为3
ALTER PROFILE DEFAULT LIMIT PASSWORD_REUSE_MAX 3;

密码有效期

示例命令如下:

--查看PASSWORD_LIFE_TIME参数
SELECT * FROM ADM_PROFILES WHERE RESOURCE_NAME ='PASSWORD_LIFE_TIME';
--更改PASSWORD_LIFE_TIME参数为90
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 90;
  • PASSWORD_LIFE_TIME

    指定同一密码所允许使用的天数。

    默认值:180。

密码修改

在创建数据库时,会创建一个数据库管理员用户SYS,为了保证帐户安全,请定期修改SYS用户密码。建议数据库系统管理员和普通用户都要定期修改自己的帐户密码,避免帐户密码被非法窃取。数据库系统管理员可以修改自己的或者其他帐户的密码。通过修改其他帐户的密码,解决用户密码遗失所造成无法登录的问题。

  • 系统管理员之间不允许互相修改对方密码。

  • 系统管理员可以修改普通用户密码且不需要用户原密码。

  • 系统管理员修改自己密码但需要管理员原密码。

以修改用户Tom密码为例,示例命令如下:

ALTER USER Tom IDENTIFIED BY '1234@abc' REPLACE '5678@def';

1234@abc、5678@def分别代表用户Tom的新密码和原始密码,这些密码要符合密码规则,否则会执行失败。


分享好友

分享这个小栈给你的朋友们,一起进步吧。

GaussDB_数据库
创建时间:2020-01-06 16:21:44
华为GaussDB数据库小栈
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • GaussDB_数据库
    专家
戳我,来吐槽~