• 金仓数据库 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 = ''

  • 相关阅读:
    SpringBoot - @PathVariable/@RequestParam/@RequestBody注解使用详解
    记录一次接入xxl-job的踩坑记录
    Chrome扩展开发系列开篇
    excel数据导入到数据库的方法
    K-verse 小型活动来袭!
    java集成minio文件系统
    C++核心编程(二)
    Nginx Mysql负载均衡 初步配置及验证 笔记
    前端面试的话术集锦第 23 篇博文——高频考点(常考算法题解析)
    【观察】天翼云政务大模型“慧泽”:推动政务服务再升级,加速智慧城市再进化...
  • 原文地址:https://blog.csdn.net/arthemis_14/article/details/125446853