mycat的安全管理及监控工具

1. mycat的安全管理

1.1 权限配置

  1. user标签权限控制

目前mycat对于中间件的连接控制并没有做太复杂的控制,目前只做了中间件逻辑库级别的读写控制权限,可以通过user标签进行配置。

标签说明:

标签属性说明
name应用链接中间件逻辑库的用户名
password该用户对应的密码
schemas应用当前连接的逻辑库中所对应的逻辑表,schemas中可以配置一个或者多个
readonly应用连接中间件逻辑库所具有的权限。true为只读,false为读写都有,默认是false

添加配置:

<user name="root" defaultAccount="true">
	<property name="password">123456</property>
	<property name="schemas">TESTDB</property>
</user>
<user name="mycat">
	<property name="password">mycat</property>
	<property name="schemas">TESTDB</property>
	<property name="readOnly">true</property>
</user>

尝试通过不同的用户名称进行登录,会发现root用户具有所有的权限,但是mycat用户只是具备了查询的权限,无法完成更新和插入的操作。

  1. privileges标签权限控制

在user标签下的privileges标签可以对逻辑库,表进行更加细致的DML权限控制。
privileges标签下的check属性,如果值为true则表示开启权限检查,false则表示不开启权限检查
由于mycat一个用户的schemas属性可以配置多个逻辑库,所以privileges的下级节点schema节点同样可配置多个,对多库多表进行细粒度的DML权限控制

配置权限:

DML权限增加更新查询删除
0001禁止禁止禁止允许
0010禁止禁止允许禁止
0100禁止允许禁止禁止
1000允许禁止禁止禁止

修改server.xml文件

<user name="mycat">
	<property name="password">mycat</property>
	<property name="schemas">TESTDB</property>
	<privileges check="true">
		<schema name="TESTDB" dml="1111">
			<table name="orders" dml="0000"></table>
		</schema>
	</privileges>
</user>

当使用mycat用户进行登录的时候会发现其他的表都可以做增删改查操作,但是orders表什么操作都做不了,这就是对权限作了控制。

1.2 SQL拦截

firewall标签用来定义防火墙,firewall下whitehost标签用来定义IP白名单,blacklist用来定义SQL黑名单。

  1. 白名单
    可以通过设置白名单,实现某主机某用户可以访问mycat,而其他主机用户禁止访问。
<firewall>
	<whitehost>
		<host host="192.168.109.132" user="mycat"></host>
	</whitehost>
</firewall>
  1. 黑名单
    用户还可以通过设置黑名单,实现mycat对具体sql操作的拦截,如增删改查等操作的拦截
    黑名单SQL拦截功能列表:
配置项默认值功能
selectAllowtrue是否允许执行select语句
selectColumnAllowtrue是否允许执行select *操作
selectIntoAllowtrue是否允许select语句中包含into子句
deleteAllowtrue是否允许执行delete语句
updateAllowtrue是否允许执行update语句
insertAllowtrue是否允许执行insert语句
replaceAllowtrue是否允许执行replace语句
createTableAllowtrue是否允许创建表
setAllowtrue是否允许使用set语法
truncateAllowtrue是否允许执行truncate语句
alterTableAllowtrue是否允许执行alter table语句
dropTableAllowtrue是否允许修改表
commitAllowtrue是否允许执行commit操作
rollbackAllowtrue是否允许执行rollback操作
useAllowtrue是否允许执行use语句
describeAllowtrue是否允许执行describe操作
showAllowtrue是否允许执行show语句

2. mycat监控工具

mycat-web是mycat可视化运维管理和监控平台,弥补了mycat在监控上的空白。帮mycat分担统计任务和配置管理任务。mycat-web引入了zookeeper作为配置中心,可以管理多个节点。mycat-web主要管理和监控mycat的流量、连接、活动现成和内存等,具备IP白名单、邮件告警等模块,还可以统计SQL并分析慢SQL和高频SQL等,为SQL的优化提供了依据。

  1. 下载地址:http://dl.mycat.org.cn/
    在这里插入图片描述

  2. 安装zookeeper

1、下载zookeeper安装包
2、安装拷贝到/usr/local目录,并解压
3、进入到zookeeper解压后的目录conf,复制配置文件并改名
cp zoo_sample.cfg zoo.cfg
4、进入到zookeeper的bin目录,运行启动命令
./zkServer.sh start
5、执行如下命令,看zookeeper是否正常启动
netstat -nlpt | grep 2181

  1. 安装mycat-web

1、下载mycat-web安装包
2、解压安装包到/usr/local目录
3、配置zookeeper
进入到mycat-web的/usr/local/mycat-web/mycat-web/WEB-INF/classes,修改mycat.properties文件,可以修改zookeeper的地址
4、进入mycat-web的目录运行启动命令
./start.sh &
5、mycat-web的服务端口是8082,查看服务是否启动
netstat -nlpt | grep 8082
6、通过地址访问服务
192.168.109.132:8082/mycat/

  1. mycat-web配置
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值