• GBase 8c V3.0.0数据类型——安全函数


    1. gs_encrypt_aes128(encryptstr,keystr)

    描述:以keystr为密钥对encryptstr字符串进行加密,返回加密后的字符串。keystr的长度范围为8~16字节,至少包含3种字符(大写字母、小写字母、数字、特殊字符)。

    返回值类型:text

    返回值长度:至少为92字节,不超过4*[(Len+68)/3]字节,其中Len为加密前数据长度(单位为字节)。

    示例:

    gbase=# SELECT gs_encrypt_aes128('MPPDB','Asdf1234');

                                          gs_encrypt_aes128

    ----------------------------------------------------------------------------------------------

     PkKJ0I+o6V83IXB2MbfS34amruD+5hrzsD/IQEU7HL0XfpAb1rfEvkjtKgoypGs7hlJfPpqc20EGxCpHRQHfexdknO8=

    (1 row)

    由于该函数的执行过程需要传入解密口令,为了安全起见,gsql工具不会将该函数记录入执行历史。即无法在gsql里通过上下翻页功能找到该函数的执行历史。

    1. gs_encrypt(encryptstr,keystr,encrypttype)

    描述:根据encrypttype,以keystr为密钥对encryptstr字符串进行加密,返回加密后的字符串。keystr的长度范围为8~16字节,至少包含3种字符(大写字母、小写字母、数字、特殊字符),encrypttype可以是aes128或sm4。

    返回值类型:text

    示例:

    gbase=# SELECT gs_encrypt('MPPDB','Asdf1234','sm4');

              gs_encrypt

    ------------------------------

     UFrm2vuNFSEbDAmFObfNIqW7dbCa

    (1 row)

    由于该函数的执行过程需要传入解密口令,为了安全起见,gsql工具不会将该函数记录入执行历史。即无法在gsql里通过上下翻页功能找到该函数的执行历史。

    1. gs_decrypt_aes128(decryptstr,keystr)

    描述:以keystr为密钥对decrypt字符串进行解密,返回解密后的字符串。解密使用的keystr必须保证与加密时使用的keystr一致才能正常解密。keystr不得为空。

    此参数需要结合gs_encrypt_aes128加密函数共同使用。

    返回值类型:text

    示例:

    -- gs_decrypt_aes128第一个输入参数为gs_encrypt_aes128输出参数;第二个输入参数为gs_encrypt_aes128第二个输入参数

    gbase=# select gs_decrypt_aes128('PkKJ0I+o6V83IXB2MbfS34amruD+5hrzsD/IQEU7HL0XfpAb1rfEvkjtKgoypGs7hlJfPpqc20EGxCpHRQHfexdknO8=','Asdf1234');

     gs_decrypt_aes128

    -------------------

     MPPDB

    (1 row)

    由于该函数的执行过程需要传入解密口令,为了安全起见,gsql工具不会将该函数记录入执行历史;即无法在gsql里通过上下翻页功能找到该函数的执行历史。

    1. gs_decrypt(decryptstr,keystr,decrypttype)

    描述:根据decrypttype,以keystr为密钥对decrypt字符串进行解密,返回解密后的字符串。解密使用的decrypttype及keystr必须保证与加密时使用的encrypttype及keystr一致才能正常解密。keystr不得为空。decrypttype可以是aes128或sm4。

    此函数需要结合gs_encrypt加密函数共同使用。

    返回值类型:text

    示例:

       ​gbase=# select gs_decrypt('ZBzOmaGA4Bb+coyucJ0B8AkIShqc','Asdf1234','sm4');

      ​gs_decrypt

     ​------------

      ​MPPDB

     ​(1 row)

    由于该函数的执行过程需要传入解密口令,为了安全起见,gsql工具不会将该函数记录入执行历史;即无法在gsql里通过上下翻页功能找到该函数的执行历史。

    1. gs_password_deadline

    描述:显示当前帐户密码离过期还距离多少天。

    返回值类型:interval

    示例:

     gbase=# SELECT gs_password_deadline();

      gs_password_deadline

    -------------------------

     72 days 16:16:56.315324

    (1 row)

    1. gs_password_notifytime

    描述:显示帐户密码到期前提醒的天数。

    返回值类型:int32

    1. login_audit_messages

    描述:查看登录用户的登录信息。

    返回值类型:元组

    示例:

    查看上一次登录认证通过的日期、时间和IP等信息。

     gbase=# select * from login_audit_messages(true);

     username | database |       logintime        |    mytype     | result | client_conninfo

    ----------+----------+------------------------+---------------+--------+------------------

     gbase    | postgres | 2022-05-18 17:08:46+08 | login_success | ok     | gs_ctl@[local_ip]

    查看上一次登录认证失败的日期、时间和IP等信息。

     gbase=# select * from login_audit_messages(false) ORDER BY logintime desc limit 1;

    username | database | logintime | mytype | result | client_conninfo

    ----------+----------+-----------+--------+--------+-----------------

    (0 rows)

    查看自从最后一次认证通过以来失败的尝试次数、日期和时间。

     gbase=# select * from login_audit_messages(false);

     username | database |       logintime        |    mytype    | result |  client_conninfo

    ----------+----------+------------------------+--------------+--------+-------------------

    (0 rows)

    1. login_audit_messages_pid

    描述:查看登录用户的登录信息。与login_audit_messages的区别在于结果基于当前backendid向前查找。所以不会因为同一用户的后续登录,而影响本次登录的查询结果。也就是查询不到该用户后续登录的信息。

    返回值类型:元组

    示例:

    查看上一次登录认证通过的日期、时间和IP等信息。

     gbase=# SELECT * FROM login_audit_messages_pid(true);

    username | database |       logintime        |    mytype     | result | client_conninfo  |    backendid

    ----------+----------+------------------------+---------------+--------+------------------+-----------------

     gbase    | postgres | 2022-05-18 17:02:34+08 | login_success | ok     | gs_ctl@10.0.7.16 | 140573725284096

    (1 row)

    查看上一次登录认证失败的日期、时间和IP等信息。

    gbase=# SELECT * FROM login_audit_messages_pid(false) ORDER BY logintime desc limit 1;

    username | database | logintime | mytype | result | client_conninfo | backendid

    ----------+----------+-----------+--------+--------+-----------------+-----------

    (0 rows)

    查看自从最后一次认证通过以来失败的尝试次数、日期和时间。

    gbase=# SELECT * FROM login_audit_messages_pid(false);

    username | database | logintime | mytype | result | client_conninfo | backendid

    ----------+----------+-----------+--------+--------+-----------------+-----------

    (0 rows)

    1. inet_server_addr

    描述:显示服务器IP信息。

    返回值类型:inet

    示例:

    gbase=# SELECT inet_server_addr();

      ​inet_server_addr

     ​------------------

      ​10.10.0.13

     ​(1 row)

    上面是以客户端在10.10.0.50上,服务器端在10.10.0.13上为例。

    如果是通过本地连接,使用此接口显示为空。

    1. inet_client_addr

    描述:显示客户端IP信息。

    返回值类型:inet

    示例:

      gbase=# SELECT inet_client_addr();

      ​inet_client_addr

     ​------------------

      ​10.10.0.50

     ​(1 row)

    上面是以客户端在10.10.0.50上,服务器端在10.10.0.13上为例。

    如果是通过本地连接,使用此接口显示为空。

    1. pg_query_audit

    描述:查看数据库主节点审计日志。

    返回值类型:record

    函数返回字段如下:

    名称

    类型

    描述

    time

    timestamp with time zone

    操作时间

    type

    text

    操作类型

    result

    text

    操作结果

    userid

    oid

    用户id

    username

    text

    执行操作的用户名

    database

    text

    数据库名称

    client_conninfo

    text

    客户端连接信息

    object_name

    text

    操作对象名称

    detail_info

    text

    执行操作详细信息

    node_name

    text

    节点名称

    thread_id

    text

    线程id

    local_port

    text

    本地端口

    remote_port

    text

    远端端口

    1. pg_delete_audit

    描述:删除指定时间段的审计日志。

    返回值类型:void

  • 相关阅读:
    MySQL字符串提取
    BMZCTF phar???
    数字化转型频频失败?一体化模式提供新的思考
    Unity技术手册 - 粒子发射和生命周期内速度子模块
    智能驾驶ADAS算法设计及Prescan仿真(3): 自适应巡航ACC跟车目标选择策略设计与simulink仿真
    SpringCloud 注册中心 (Eureka) 快速入门
    【跟小嘉学 Rust 编程】二十一、网络编程
    HTML网上书店静态HTML网页作业作品 大学生三联书店网页设计制作成品 简单DIV CSS布局网站
    宠物品牌新媒体推广有哪些技巧和方法
    蚁群优化算法在具有时间窗的车辆路径问题中的应用:MATLAB实现及详解
  • 原文地址:https://blog.csdn.net/futianxia061112/article/details/125483212