金仓数据库 KingbaseES 插件identity_pwdexp

目录

1. 插件介绍

2. 加载插件

3. 参数配置

4. 示例

5. 卸载插件


1. 插件介绍


identity_pwdexp是KingbaseES的一个扩展插件,用于设置口令有效期。
KingbaseES的用户管理中含有口令有效期这一属性,用户密码过期检查就是通过设置用户密码的有效期,在用户密码过期后限制用户登录数据库,并输入新密码的功能。
KingbaseES通过插件的方式来进行用户密码过期检查。这种方式更为灵活,当数据库的实用场景需要进行用户密码过期检查时,加载插件即可。而不需要该功能时,卸载插件即可。
KingbaseES中通过 1 个全局级参数配合插件来实现用户密码过期检查。

 

2. 加载插件


在使用 identity_pwdexp 之前,需要将他添加到 kingbase.conf 文件的 shared_preload_libraries 中,并重启 KingbaseES 数据库。

shared_preload_libraries = 'identity_pwdexp' # (change requires restart)


3. 参数配置


identity_pwdexp.password_change_interval
密码有效期,单位是天,0表示无限制,取值范围为[0,INT_MAX],缺省为 7。
参数只能在postmaster启动或由安全管理员通过SQL语言(alter命令)进行设置。
语句:Alter system set 参数名 = 参数值;
修改后再运行select sys_reload_conf();不用重启服务器,对所有数据库及连接立即生效。
指定密码创建用户时,可通过 valid until 选项指定该用户的密码有效期,指定的密码有效期必须晚于当前时间且早于更换周期 identity_pwdexp.password_change_interval 指定的时间。
对已创建成功且已拥有密码的用户,也可通过alter语句的 valid until 选项修改其密码有效期,但仅安全管理员有这个权限,其它用户无法修改自己及他人的口令更换周期。
若在创建用户或修改用户密码时未显示的通过 valid until 选项指定该用户的密码有效期,那么系统会根据 identity_pwdexp.password_change_interval参数设定的值自动为其计算密码有效期。
identity_pwdexp.max_password_change_interval
最大密码有效期,单位是天,取值范围为[1,INT_MAX],缺省为30。
参数只能在postmaster启动或由安全管理员通过SQL语言(alter命令)进行设置。
此参数用于限制密码有效期的设置范围,当设置的密码有效期大于最大密码有效期时,系统会报错提示。


4. 示例

-- 创建扩展
\c test system
create extension identity_pwdexp;
CREATE EXTENSION

-- 设置密码有效期是5天
\c test sso
show identity_pwdexp.password_change_interval;
identity_pwdexp.password_change_interval
--------------------------
7
(1 row)
alter system set identity_pwdexp.password_change_interval = 5;
ALTER SYSTEM
show identity_pwdexp.password_change_interval;
identity_pwdexp.password_change_interval
------------------------------------------
0
(1 行记录)

select sys_reload_conf();
sys_reload_conf
-----------------
t
(1 行记录)

show identity_pwdexp.password_change_interval;
identity_pwdexp.password_change_interval
------------------------------------------
5
(1 行记录)

\c test system
call now();
now
-------------------------------
2020-04-30 15:34:30.408304+08
(1 行记录)

CREATE USER u_pwd_et PASSWORD '1234567890abC/.' VALID UNTIL '2020-05-01';
CREATE ROLE

SELECT USENAME, VALUNTIL FROM SYS_USER WHERE USENAME = 'u_pwd_et';
usename | valuntil
----------+------------------------
u_pwd_et | 2020-05-01 00:00:00+08
(1 行记录)

ALTER USER u_pwd_et PASSWORD '/.1234567890abC';
警告: user "u_pwd_et" does not be locked
ALTER ROLE

SELECT USENAME, VALUNTIL FROM SYS_USER WHERE USENAME = 'u_pwd_et';
usename | valuntil
----------+-------------------------------
u_pwd_et | 2020-05-05 15:35:23.448381+08
(1 行记录)


5. 卸载插件


修改 kingbase.conf 文件中 shared_preload_libraries 参数后重启数据库。

shared_preload_libraries = ''

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值