插件简介

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. 基于keras的残差网络

    1 前言 理论上,网络层数越深,拟合效果越好.但是,层数加深也会导致梯度消失或梯度爆炸现象产生.当网络层数已经过深时,深层网络表现为"恒等映射".实践表明,神经网络对残差的学习比对 ...

  2. SpringBoot+Shiro+LayUI权限管理系统项目-9.核心知识点总结

    1.说明 本篇讲一下本项目几个重要的知识点,详细看源码,文章下方捐赠或QQ联系捐赠获取. 2.Shiro如何设置密码加密算法 1.在shiro配置文件中添加: @Bean public HashedC ...

  3. RMAN REPORT NEED BACKUP DAYS 5

    47.You issue the following command on the RMAN prompt. REPORT NEED BACKUP DAYS 5; Which statement is ...

  4. spring boot整合spring security自定义登录跳转地址

    说明 在博客用户登录后我想跳转到各自用户的博客首页,我们知道这个地址是动态的. 例如: http://localhost:8080/blog/zhangsan, 每个用户地址不一样.这时候我就用到了自 ...

  5. 【Android 逆向】【攻防世界】黑客精神

    1. apk 安装到手机,提示输入注册码 2. jadx打开apk MainActivity.java @Override // android.app.Activity public void on ...

  6. iOS上拉边界下拉白色空白问题解决概述

    表现 手指按住屏幕下拉,屏幕顶部会多出一块白色区域.手指按住屏幕上拉,底部多出一块白色区域. 产生原因 在 iOS 中,手指按住屏幕上下拖动,会触发 touchmove 事件.这个事件触发的对象是整个 ...

  7. 【Azure 应用服务】如何查看App Service Java堆栈JVM相关的参数默认配置值?

    问题描述 如何查看App Service Java堆栈JVM相关的参数默认配置值? 问题解答 可以通过App Service的高级管理工具(kudu:)来查看JVM的相关参数,使用命令:java -X ...

  8. 探索图片与Base64编码的优势与局限性

    一.图片和Base64编码的关系: 图片是一种常见的媒体文件格式,可以通过URL进行访问和加载. Base64编码是一种将二进制数据转换为ASCII字符的编码方式,可以将图片数据转换为字符串形式. 图 ...

  9. [C++逆向] 8 数组和指针的寻址

    目录 数组在函数中 字符串 数组作为参数 下标寻址和指针寻址 多维数组 存放指针类型数据的数组 指向数组的指针变量 函数指针 数组是相同类型数据的集合,以先行方式连续储存在内冲中 而指针只是一个保存地 ...

  10. Java 创建类,对象+调用方法

    1 //测试类 2 public class PersonTest 3 { 4 public static void main(String[] args) 5 { 6 //创建Person类的对象 ...