当前位置: 首页 > article >正文

gbase8s数据库实现黑白名单的几种方案

1、借用操作系统的黑白名单

2、使用数据库 TRUSTED CONTEXT 机制

CREATE TRUSTED CONTEXT tcx1
  USER root
  ATTRIBUTES (ADDRESS '172.16.39.162')
  ATTRIBUTES (ADDRESS '172.16.39.163')
  ENABLE
  WITH USE FOR wangyx WITHOUT AUTHENTICATION;

如上创建 可信任上下文对象 tcx1

在 jdbc URL中添加TRUSTED_CONTEXT=TRUE属性

实际效果为 162 与163 机器的 root 用户可以连接数据库,其他ip 或者非root用户不能连接,从 root切换成 wangyx用户时不需要输入密码

SET SESSION AUTHORIZATION TO 'wangyx';

更多语法以及配置细节可参考gbase8s语法手册

3 利用数据库现有机制实现

create table sysmaster:gbasedbt.hostlist
(id int,ipaddr varchar(15));

insert into hostlist values(0,'node23');
insert into hostlist values(1,'172.16.39.162');

drop procedure if exists checkip;
create procedure checkip()
define a int;
define v_sessionid int;
define r_msg varchar(10);
define v_ipaddr varchar(100);
let v_sessionid=dbinfo('sessionid');
select hostname into v_ipaddr from sysmaster:sysscblst where sid=v_sessionid;
select count(1) into a from sysmaster:hostlist where ipaddr=v_ipaddr;
if a =0 THEN
execute function sysadmin:task('onmode','z',v_sessionid) into r_msg;
RAISE EXCEPTION -746,0,'connect refuse';
end if;
end procedure;

dbaccess tstnw <<!
create procedure public.sysdbopen()
call sysmaster:checkip();
end procedure;
!

1)在部分环境中由于DNS反向解析策略很有可能将实际IP解析成bogon,需要额外关注下

2)若 sysdbopen 未知异常会导致数据库无法连接,最简单的处理方案为 

dbaccess sysmaster -<<!

update <dbname>:sysprocedures set procname='aaa' where procname like '%sysdbopen%';

!

重启数据库

4 某些高版本中支持在参数中直接配置黑白名单


http://www.kler.cn/news/340571.html

相关文章:

  • 网络受限情况下安装openpyxl模块提示缺少Jdcal,et_xmlfile
  • 2-110 基于matlab的双字典交叉稀疏表示的SAR图像变化检测
  • 运行CtsVerifier.apk报错
  • mybatis自定义类型处理器
  • 【2024】前端学习笔记13-JavaScript修改网页样式
  • Java、PHP、ASP、JSP、Kotlin、.NET、Go
  • 蓝牙定位的MATLAB程序※平面上的定位,可自适应蓝牙基站的数量(附下载链接)
  • Java中变量
  • 【TOP K】leetcode 215.数组中第K个最大的元素
  • 移动端实现下拉刷新和上拉加载(内含案例)
  • python 实现Greedy Best First Search最佳优先搜索算法
  • ultralytics yolo segmentation 分割 示例:加载官方segmentation 模型进行推理
  • CF B. Uniqueness
  • numpy np.pad介绍
  • Linux下Socket编程
  • 虚拟机没有网络怎么解决
  • 大数据新视界 --大数据大厂之 GraphQL 在大数据查询中的创新应用:优化数据获取效率
  • Authentication Lab | IP Based Auth Bypass
  • 深入理解作用域【JavaScript】
  • xtu oj 求和