- 数据库三权用户,一个新初始化的实例中包含系统管理员(system),安全管理员(sso),审计管理员(sao)。三个用户将管理权限三权分立,在初始化时指定用户名和密码。
- 数据库审计,KingbaseES数据库默认不开启审计功能,如需要开启则需要打开审计开关。KingbaseES的审计设置为三种类型:服务器事件审计、语句级审计、模式对象级审计。
- 开启审计功能需要在kingbase.conf中(修改前请备份)shared_preload_libraries参数末尾添加sysaudit。重启数据库生效,sys_ctl restart -D /dbdata/data/data
-
打开审计开关,需要sao用户登录alter system set sysaudit.enabl=on|off来开启或关闭审计功能。
- 数据库口令复杂度设置
KingbaseES通过插件的方式来进行口令的复杂度管理。在需要进行数据库口令复杂度管理的场景下加载插件,不需要时卸载该插件即可。
- 加载插件,需要在kingbase.conf中(修改前请备份)shared_preload_libraries参数末尾添加passwordcheck。重启数据库生效,sys_ctl restart -D /dbdata/data/data
- 创建插件,system用户登录数据库,执行create extension passwordcheck;
- 开启密码复杂度开关,sao用户登录数据库,执行alter system set passwordcheck.enable=on;
- 口令复杂度策略,KingbaseES中通过4个全局级参数配合插件来实现用户口令复杂度管理。
- passwordcheck.password_length 口令的最小长度,取值范围为 [8,63],缺省为8。
命令为:alter database test set passwordcheck.password_length=10;
-
passwordcheck.password_condition_letter 口令至少包含几个字母,取值范围为[2,61],缺省为2。命令为:alter system set passwordcheck.password_condition_letter=3 -
passwordcheck.password_condition_punct 口令至少包含几个特殊字符,取值范围为 [0,59],缺省为 0。其中特殊符号为除空白符、英文字母、单引号和数字外的所有可见字符。命令为:alter system set passwordcheck.password_condition_punct = 1; -
passwordcheck.password_condition_digit 口令至少包含几个数字,取值范围为 [2,61],缺省为2。命令为alter system set passwordcheck.password_condition_digit =3;
- 口令有效期设置
KingbaseES通过identity_pwdexp插件来对数据库口令有效期进行限制。加载插件,需要在kingbase.conf中(修改前请备份)shared_preload_libraries参数末尾添加identity_pwdexp。重启数据库生效,sys_ctl restart -D /dbdata/data/data
创建插件
- identity_pwdexp.password_change_interval,密码有效期,取值范围[1,int_max],默认30.命令为alter system set identity_pwdexp.password_change_interval=5。通过sys_reload_conf()进行重载生效。
- 账户登录异常锁定
KingbaseES通过identity_pwdexp插件来对数据库异常登录进行限制。加载插件,需要在kingbase.conf中(修改前请备份)shared_preload_libraries参数末尾添加sys_audlog。重启数据库生效,sys_ctl restart -D /dbdata/data/data
创建插件
- sys_audlog.max_error_user_connect_times,取值范围[1,int_max],默认值2147483647用户登录失败次数的最大值界限。命令为alter system set sys_audlog.max_error_user_connect_times=5;
- sys_audlog.error_user_connect_times 允许用户连续登录失败的最大次数,用户登录失败的次数大于超过该值,用户自动锁定,取值范围为[0,5],缺省为 0。命令为alter SYSTEM SET sys_audlog.error_user_connect_times = 5;
- sys_audlog.error_user_connect_interval 用户被锁定时间,若用户被锁定的时间超过了该参数,则该用户可自动解锁。单位是分钟,取值范围为[0,INT_MAX],0时关闭自动解锁功能,需手动解锁,缺省为0。命令为:ALTER SYSTEM SET sys_audlog.error_user_connect_interval = 5;
手动解锁:alter user username with login;
- 登录超时断开连接
client_idle_timeout,取值范围[0,1800].,默认为0,客户端最大空闲时间,单位为秒。
--数据库管理员system设置全局连接空闲时间为30min
alter system set client_idle_timeout = 1800;
select sys_reload_conf();