zoukankan      html  css  js  c++  java
  • 8、Mycat 安全设置--mycat

    1 权限配置

    1、 user 标签权限控制
    目前 Mycat 对于中间件的连接控制并没有做太复杂的控制,目前只做了中间件逻辑库级别的读
    写权限控制。是通过 server.xml 的 user 标签进行配置。
    #server.xml配置文件user部分
    <user name="mycat">
     <property name="password">123456</property>
     <property name="schemas">TESTDB</property>
    </user>
    <user name="user">
     <property name="password">user</property>
     <property name="schemas">TESTDB</property>
     <property name="readOnly">true</property>
    </user>

    2、 privileges 标签权限控制
    在 user 标签下的 privileges 标签可以对逻辑库(schema)、表(table)进行精细化的 DML 权限控制。
    privileges 标签下的 check 属性,如为 true 开启权限检查,为 false 不开启,默认为 false。
    由于 Mycat 一个用户的 schemas 属性可配置多个逻辑库(schema) ,所以 privileges 的下级
    节点 schema 节点同样可配置多个,对多库多表进行细粒度的 DML 权限控制
    #server.xml配置文件privileges部分
    #配置orders表没有增删改查权限
    <user name="mycat">
       <property name="password">123456</property>
       <property name="schemas">TESTDB</property>
       <!-- 表级 DML 权限设置 -->
      <privileges check="true">
        <schema name="TESTDB" dml="1111" >
          <table name="orders" dml="0000"></table>
          <!--<table name="tb02" dml="1111"></table>-->
        </schema>
      </privileges>
    </user>

    2 SQL 拦截

    firewall 标签用来定义防火墙;
    firewall 下 whitehost 标签用来定义 IP 白名单 ,
    blacklist 用来定义SQL 黑名单。
    1、 白名单
    可以通过设置白名单,实现某主机某用户可以访问 Mycat,而其他主机用户禁止访问。
    #server.xml配置文件firewall标签
    #配置只有192.168.140.128主机可以通过mycat用户访问
    <firewall>
       <whitehost>
         <host host="192.168.140.128" user="mycat"/>
       </whitehost>
    </firewall>
    2、 黑名单
    可以通过设置黑名单,实现 Mycat 对具体 SQL 操作的拦截,如增删改查等操作的拦截。
    #server.xml配置文件firewall标签
    #配置禁止mycat用户进行删除操作
    <firewall>
         <whitehost>
           <host host="192.168.140.128" user="mycat"/>
         </whitehost>
         <blacklist check="true">
           <property name="deleteAllow">false</property>
         </blacklist>
    </firewall>

  • 相关阅读:
    Monolith and Microservice
    Lombok介绍、使用方法和总结
    Druid对应mysql-connector版本
    maven导入springboot项目
    区块链是什么?超级详细,看了无师自通!
    08.区块链的应用有什么?区块链将带来什么变革?
    06.工作量证明共识机制
    07 挖矿是什么意思?矿工都做了什么?
    05.比特币区块链的数据结构
    04.UTXO:未使用的交易输出,比特币核心概念之一
  • 原文地址:https://www.cnblogs.com/Mrchengs/p/12307133.html
Copyright © 2011-2022 走看看