暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

金仓数据库 KingbaseES 插件参考手册 S (1)

数据猿 2022-08-30
913

73. seg

73.1. 插件seg简介

seg是KingbaseES的一个扩展插件,这个插件可以为程序提供seg数据类型的使用,是为了表示线段或者浮点区间而实现的一种数据类型。

seg可以表示区间端点中的不确定性,这使得它对表达实验室测量特别有用。

  • 插件名为 seg

  • 插件版本 V1.3

73.2. 插件seg加载方式

KingbaseES数据库默认将它添加到 kingbase.conf 文件的 shared_preload_libraries 中,重启数据库时自动加载。

shared_preload_libraries = 'seg'

73.3. 插件seg的参数配置

无需配置任何参数

73.4. 插件seg的使用方法

加载seg插件后,程序内可以使用seg数据类型。

示例:

-- 创建插件

\c test system
create extension seg;
CREATE EXTENSION

-- 使用示例

SELECT '1.0e+7'::seg AS seg;
   seg
---------
 1.0e+07
(1 行记录)

SELECT '0.000000120'::seg AS seg;
   seg
----------
 1.20e-07
(1 行记录)

SELECT '0 .. 1'::seg AS seg;
  seg
--------
 0 .. 1
(1 行记录)

SELECT '24 .. 33.20'::seg != '24 .. 33.21'::seg AS bool;
 bool
------
 t
(1 行记录)

73.5. 插件seg卸载方法

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

shared_preload_libraries = ''

73.6. 插件seg升级方法

seg扩展插件通常随着KingbaseES安装包一并升级。通常情况下用户无须单独升级些插件。

74. security_utils

74.1. 插件security_utils简介

security_utils是KingbaseES的一个扩展插件,主要用于支持一些安全方面的功能,目前支持的功能有日志密码脱敏。

  • 插件名为 security_utils

  • 插件版本 V1.0

74.2. 插件security_utils加载方式

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

示例:

shared_preload_libraries = 'security_utils'

74.3. 插件security_utils的参数配置

security_utils.password_masking_enable

启动日志密码脱敏功能,取值范围为 on 或者 off,缺省值为 off。

show security_utils.password_masking_enable;
 security_utils.password_masking_enable
----------------------------------------
 off
(1 row)

\c - system
alter system set security_utils.password_masking_enable = on;
select sys_reload_conf();
show security_utils.password_masking_enable;
 security_utils.password_masking_enable
----------------------------------------
 on
(1 row)

74.4. 插件security_utils使用方法

KingbaseES加载 auth_delay 插件,并修改了参数后,当开启DDL日志时,日志中涉及密码的SQL语句可以进行脱敏处理。

示例

---开启密码脱敏
\c - system
create extension security_utils;
alter system set security_utils.password_masking_enable=on;
select sys_reload_conf();

---设置日志级别
alter system set log_statement='ddl';
select sys_reload_conf();

---执行user的包含密码的ddl语句
drop user testpwdtmu1;
create user testpwdtmu1 with password '12345678ab';
alter user testpwdtmu1 with password '12345678abc';
drop user testpwdtmu1;

---查看sys_log下的日志文件,上述语句password脱敏,以*显示
ERROR:  role "testpwdtmu1" does not exist
STATEMENT:  drop user testpwdtmu1;
LOG:  statement: create user testpwdtmu1 with password '**********';
LOG:  statement: alter user testpwdtmu1 with password '***********';
LOG:  statement: drop user testpwdtmu1;

---清空环境
alter system set security_utils.password_masking_enable=off;
select sys_reload_conf();
drop extension security_utils;

74.5. 插件security_utils卸载方法

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

示例:

shared_preload_libraries = ''

74.6. 插件security_utils升级方法

security_utils扩展插件通常随着KingbaseES安装包一并升级。通常情况下用户无须单独升级这些插件。

75. sepapower

75.1. 插件sepapower简介

sepapower是KingbaseES的一个扩展插件,主要用于支持三权分立功能。三权分立插件默认加载。

具体的三权分立功能介绍,参考《 KingbaseES安全指南 》 3.1.2.2 三权分立章节。

  • 插件名为 sepapower

  • 插件版本 V1.0

75.2. 插件sepapower加载方式

KingbaseES数据库默认将他添加到 kingbase.conf 文件的 shared_preload_libraries 中,重启数据库时自动加载。

示例:

shared_preload_libraries = 'sepapower'

75.3. 插件sepapower的参数配置

sepapower.separate_power_grant

是否由sso用户控制使用DCL语句,取值范围为 true 或者 false ,缺省值为 false。

\c - system
show sepapower.separate_power_grant;
 sepapower.separate_power_grant
--------------------------------
 off
(1 row)

alter system set sepapower.separate_power_grant = on;
    select sys_reload_conf();
show sepapower.separate_power_grant;
 sepapower.separate_power_grant
--------------------------------
 on
(1 row)

``sepapower.check_noprivileges_grant``
  是否对无授权权限操作进行报错处理,取值范围为 true 或者 false ,缺省值为 false。
show sepapower.check_noprivileges_grant;
 sepapower.check_noprivileges_grant
------------------------------------
 off
(1 row)

alter system set sepapower.check_noprivileges_grant = on;
select sys_reload_conf();
show sepapower.check_noprivileges_grant;
 sepapower.check_noprivileges_grant
------------------------------------
 on
(1 row)

75.4. 插件sepapower使用方法

具体参考《 KingbaseES安全指南 》 3.1.2.2 三权分立章节。

75.5. 插件sepapower卸载方法

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

示例:

shared_preload_libraries = ''

75.6. 插件sepapower升级方法

sepapower扩展插件通常随着KingbaseES安装包一并升级。通常情况下用户无须单独升级这些插件。

76. src_restrict

76.1. 插件src_restrict简介

src_restrict是KingbaseES的一个扩展插件,主要用于支持来源限制功能,该功能通过hba的黑白名单来实现。插件src_restrict默认加载。

  • 插件名为 src_restrict

  • 插件版本 V1.0

76.2. 插件src_restrict加载方式

KingbaseES数据库默认将他添加到 kingbase.conf 文件的 shared_preload_libraries 中,重启数据库时自动加载。

示例:

shared_preload_libraries = 'src_restrict'

76.3. 插件src_restrict的参数配置

src_restrict.enable

是否允许使用黑白名单功能,取值范围为 true 或者 false ,缺省值为 true。

\c - sso
show src_restrict.enable;
 src_restrict.enable
---------------------
 on
(1 row)

alter system set src_restrict.enable = off;
select sys_reload_conf();
show src_restrict.enable;
 src_restrict.enable
---------------------
 off
(1 row)

76.4. 插件src_restrict使用方法

76.4.1. 系统函数 src_restrict.add_rules

src_restrict.add_rules(
filter_type int,
rule_user text,
rule_ip text,
outrule_ip text)

功能说明

添加来源限制的规则,可通过参数选择配置白名单或黑名单。

参数说明

filter_type

限制规则的类型,0为白名单,1为黑名单。

rule_user

限制的用户名,多个用户时需使用逗号分隔,null表示限制所有用户。当用户名中存在特殊字符时,请将该用户名使用双引号括起来,避免用户名识别失败。

用户名参数最大长度255。

rule_ip

限制的IP,多个IP之间需使用逗号分隔,null表示限制所有IP。

允许使用*号进行IP网段匹配,但网段后不允许出现具体IP,例如192.168.*.123。

outrule_ip

不受限制的IP,与rule_ip相同。

不受限制仅表示该参数与rule_ip的类型相反,例如filter_type为0,则rule_ip为白名单,outrule_ip为黑名单,不影响黑白名单优先级。

返回值说明

无返回值

76.4.2. 系统函数 src_restrict.remove_rules

src_restrict.remove_rules(
filter_type int,
rule_user text,
rule_ip text)

功能说明

删除来源限制的规则。

参数说明

filter_type

规则的类型,0为白名单,1为黑名单。

rule_user

规则的用户名,多个用户时需使用逗号分隔,null等于all。当用户名中存在特殊字符时,请将该用户名使用双引号括起来,避免用户名识别失败。

用户名参数最大长度255。

rule_ip

规则的IP,多个IP之间需使用逗号分隔,null等于0.0.0.0/0。

允许使用*号进行IP网段匹配,但网段后不允许出现具体IP,例如192.168.*.123。

返回值说明

无返回值

76.4.3. 系统视图 src_restrict.show_rules

所有用户都可以通过该视图查看当前的限制规则。

select * from src_restrict.show_rules;

参数说明

filter_type

规则的类型,allow为白名单,reject为黑名单。

rule_user

规则的用户名。

rule_ip

规则的IP。

netmask

规则IP对应的子网掩码。

76.4.4. 示例

\c - sso
--添加对用户u1,IP地址为192.168.1.2的黑名单规则
select src_restrict.add_rules(1, 'u1', '192.168.1.2', '');

--查看当前黑白名单
select * from src_restrict.show_rules;

--删除刚添加的规则
select src_restrict.remove_rules(1, 'u1', '192.168.1.2');

76.5. 插件src_restrict卸载方法

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

示例:

shared_preload_libraries = ''

76.6. 插件src_restrict升级方法

src_restrict扩展插件通常随着KingbaseES安装包一并升级。通常情况下用户无须单独升级这些插件。

77. sslinfo

77.1. 插件sslinfo简介

sslinfo是KingbaseES的一个扩展插件,sslinfo插件提供当前客户端提供的 SSL 证书的有关信息。如果当前连接不使用 SSL,这个模块就没有用处(大部分函数将返回 NULL)。

本模块提供的一些信息,也可以使用内置系统视图pg_stat_ssl来获得。

  • 插件名为 sslinfo

  • 插件版本 V1.2

77.2. 插件sslinfo加载方式

KingbaseES数据库可将它添加到 kingbase.conf 文件的 shared_preload_libraries 中,重启数据库时自动加载。

shared_preload_libraries = 'sslinfo'

77.3. 插件sslinfo的参数配置

无需配置任何参数

77.4. 插件sslinfo的使用方法

加载sslinfo插件后,程序可以提供当前客户端提供的 SSL 证书的有关信息。

示例:

-- 创建插件
\c test system
create extension sslinfo;
CREATE EXTENSION

77.5. 插件sslinfo卸载方法

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

shared_preload_libraries = ''

77.6. 插件sslinfo升级方法

sslinfo扩展插件通常随着KingbaseES安装包一并升级。通常情况下用户无须单独升级些插件。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论