插件简介

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

查看插件是否加载
show shared_preload_libraries;

配置插件src_restrict

插件默认版本1.0
test=> select * from sys_available_extensions where name ='src_restrict';
name | default_version | installed_version | comment
--------------+-----------------+-------------------+---------------------
src_restrict | 1.0 | 1.0 | src restrict plugin
(1 row) src_restrict.enable:是否允许使用黑白名单功能,取值范围为true或者false ,缺省值为true。 TEST=# \c - sso
You are now connected to database "TEST" as user "sso".
TEST=> show src_restrict.enable
TEST-> ;
src_restrict.enable
---------------------
on
(1 row)

插件src_restrict使用方法

系统函数
添加来源限制的规则,可通过参数选择配置白名单或黑名单。
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为黑名单,不影响黑白名单优先级。 系统函数
删除来源限制规则。
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。 查看规则限制视图
TEST=> select * from src_restrict.show_rules;
filter_type | rule_user | rule_ip | netmask
-------------+-----------+-----------+-----------------------------------------
allow | {all} | |
allow | {all} | 127.0.0.1 | 255.255.255.255
allow | {all} | 0.0.0.0 | 0.0.0.0
allow | {all} | ::1 | ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
allow | {all} | :: | ::
allow | {all} | |
allow | {all} | 127.0.0.1 | 255.255.255.255
allow | {all} | ::1 | ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
(8 rows) 测试示例
\c - sso
添加对用户u1,IP地址为192.168.1.2的黑名单规则
TEST=> select src_restrict.add_rules(1, 'u1', '192.168.56.3', '');
add_rules
-----------
t
(1 row) 查看当前黑白名单,多了一条filter_type为reject的条目
TEST=> select * from src_restrict.show_rules;
filter_type | rule_user | rule_ip | netmask
-------------+-----------+--------------+-----------------------------------------
allow | {all} | |
allow | {all} | 127.0.0.1 | 255.255.255.255
allow | {all} | 0.0.0.0 | 0.0.0.0
allow | {all} | ::1 | ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
allow | {all} | :: | ::
allow | {all} | |
allow | {all} | 127.0.0.1 | 255.255.255.255
allow | {all} | ::1 | ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
reject | {u1} | 192.168.56.3 | 255.255.255.255
(9 rows) 需要sso用户reload后黑名单生效
TEST=> select sys_reload_conf();
sys_reload_conf
-----------------
t
(1 row) 退出当前会后会再次登录已经被禁止
[kingbase7@localhost ~]$ ksql -h 192.168.56.3 -U u1 test
ksql: error: could not connect to server: FATAL: no sys_hba.conf entry for host "192.168.56.3", user "u1", database "test", SSL off 删除刚添加的规则
select src_restrict.remove_rules(1, 'u1', '192.168.56.3'); 需要sso用户reload后生效
TEST=> select sys_reload_conf();
sys_reload_conf
-----------------
t
(1 row) 删除规则后可以用u1用户登录数据库
[kingbase7@localhost data]$ ksql -h 192.168.56.3 -U u1 test
Password for user u1:
ksql (V8.0)
Type "help" for help.

卸载插件

在kingbase.conf文件中shared_preload_libraries中将对应插件删除后重启数据库。

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

KingbaseES 扩展插件src_restrict 介绍的更多相关文章

  1. vs2010(vs2012)好用的扩展插件介绍

    一直以来只使用番茄vs助手(https://www.wholetomato.com/downloads/default.asp)辅助写代码,也都忘了是谁介绍的,不过确实好用. 相比原始的vs,它提供了 ...

  2. vscode简单使用介绍及个人常用扩展插件

    vscode全称Visual Studio Code 是微软开发一款IDE,官方地址 vscode  作为一款前端编辑器功能很强大,灵活,可以根据个人喜好选择扩展插件,而且还支持多种开发语言, 关于v ...

  3. Sharepoint 2013列表视图和字段权限扩展插件(免费下载)!

    记得2014年春节期间,有博客园的网友通过QQ向我咨询Sharepoint 2013列表视图和字段权限扩展,因为之前他看到我博客介绍Sharepoint 2010列表视图和字段的权限控制扩展使用,问有 ...

  4. ExtJS4.2学习(13)基于表格的扩展插件---rowEditing

    鸣谢:http://www.shuyangyang.com.cn/jishuliangongfang/qianduanjishu/2013-11-24/182.html --------------- ...

  5. 常用网站开发类Firefox扩展插件 (转)

    作为一个 Web 开发人员,你几乎没有理由不喜欢Firefox,因为在Firefox下有很多专门针对开发的扩展插件,非常好用,这里就介绍一些常用的针对网站开发的FireFox扩展,供Web开发人员参考 ...

  6. 100个精选zencart扩展插件

    100个精选zencart扩展插件 特别推荐 1. 数据库备份 2. 产品横向布局. 3. 邮件订阅Newsletter Subscribe. 4. google 翻译google_translate ...

  7. 那些离不开的 Chrome 扩展插件

    虽然Chrome浏览器是个吃内存的怪兽,但是,它却因为启动速度.调试功能等成为了程序猿的必备浏览器!今天有时间,整理一下自己最常用的一些Chrome扩展吧: 常用网页浏览非开发类扩展: Tamperm ...

  8. jupyter notebook设置主题背景,字体和扩展插件

    windows上安装Anaconda (IPython notebook) Anaconda是一个包与环境的管理器,一个Python发行版,以及一个超过1000多个开源包的集合.它是免费和易于安装的, ...

  9. PHP扩展插件 imagick 、PDO_MYSQL 安装

    环境准备 echo $LC_ALL echo "export LC_ALL=C" >> /etc/profile source /etc/profile yum ins ...

  10. 五十七.分布式ELK平台、ES安装 、 扩展插件 、Kibana安装

    1. ES集群安装 准备1台虚拟机 部署elasticsearch第一个节点 访问9200端口查看是否安装成功   1ELK是日志分析平台,不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写 ...

随机推荐

  1. Ubuntu20.04安装记录

    在Ubuntu下将iso文件刻录到U盘, 可以使用系统自带的Startup Disk Creator. 分区方式 使用整个硬盘, 一个512G SSD, 使用默认的分区方式, 会创建一个512M的EF ...

  2. Annotation-specified bean name conflicts with existing

    问题说明 Annotation-specified bean name conflicts with existing,non-compatible bean definition of same n ...

  3. 用Taro写一个微信小程序——渲染 HTML

    在taro小程序里面渲染一段html代码,具体可查看文档https://docs.taro.zone/docs/html 一.渲染 HTML 文档推荐使用 dangerouslySetInnerHTM ...

  4. C/C++ 的 指针/引用 传参

    #include <stdio.h> //指针传值 void addOne(int *a) { printf("%8p\n",a); *a = *a+1; } //引用 ...

  5. Java package(包) +import 关键字(2)

    1 package com.bytezero.exer; 2 3 import java.lang.reflect.Field; 4 5 //import java.util.ArrayList; 6 ...

  6. 继续总结Python中那些简单好用的用法

    上一篇文章Python中那些简单又好用的特性和用法发出后,群里的小伙伴又给补充了几个好用的用法,结合生产实用经验汇总整理如下,各位看官如有需要请自取 反射,反射是一种机制,可以在运行时获取.检查和修改 ...

  7. nexus 莫名错误 两个解决的地方

    unknown org.sonatype.nexus.reposibory.httpclient.internal.httpclientfaceImpl 也没太解决,先记录下来吧

  8. favorite 单词学习 主要是发音 fa - vor - it 注意 ri不连读 是自然带出来的r的尾音

    favorite 单词学习 主要注意发音 [ ˈfeɪ v(ə)r ɪt ] 主要是发音 fa - vor - it 注意 ri不连读 是自然带出来的r的尾音 favor : 来自拉丁语favere, ...

  9. linux文件管理(补充)

    linux文件管理 vim编辑器 vi概述 vi 编辑器 他是linux和unix系统上最基本的文本编辑器,类似于windows系统下的记事本编辑器 vim编辑器 vim是vi的加强版,比vi更容易使 ...

  10. nginx四层和七层负载的配置

    四层负载和七层负载是两种不同类型的负载均衡策略,它们分别在网络的不同层次上工作.在Nginx中,这两种负载均衡策略可以通过配置nginx.conf文件来实现. 四层负载(L4 Load Balanci ...