Yearning是基于go和vue开发的一款SQL审核工具。在实际开发中,生产环境DDL、DML脚本一般需要走工单流程进行审批后执行,Yearning可以制定MySQL的SQL审核流程、规范及审批等功能。
一、主要功能
- 1.支持自定义SQL审核流程
- 2.自动化SQL语句审核,可对SQL进行自动检测并执行
- 3.自动生成DDL/DML回滚语句
- 4.可对查询结果脱敏
- 5.基于用户设置权限,分为DDL、DML、QUERY权限
- 6.支持钉钉 webhook机器人工单推送
二、下载及安装启动
- 下载地址
https://github.com/cookieY/Yearning/releases
version:3.1.1
- 解压
unzip Yearning-v3.1.1-linux-amd64.zip

- 修改 配置文件conf.toml
[Mysql]:改成自己的Mysql服务器相关信息- 提前在mysql中建立Yearning数据库(可以更改)
Secretkey:数据库加密key(仅可修改一次,否则解密会失败。建议修改默认的Secretkey值,存在安全隐患)

- 初始化及安装
cd /usr/local/mysoft/Yearning
./Yearning install

- 启动Yearning服务
./Yearning run

三、Yearning使用
- 登录Yearning
Yearning服务启动后,在浏览器输入localhost:8000访问,默认账号:admin,密码:Yearning_admin

 
- 修改个人账户信息
   
- 修改密码
  
- 添加用户
  
  
- 自定义SQL审核流程
  
- 配置数据源
  
 可以对同一个数据源下的数据库分别配置数据源(排除的数据库),然后针对用户设置对应数据源的权限
  
- 设置权限
默认权限组admin,可以新建权限组(例如:DDL、DML、DQL等)admin:所有权限(查询,数据更改,表结构变更)
DQL:数据查询权限
DML:数据操作权限(insert,update,delete)
DDL:数据定义权限(添加/删除字段,添加/删除索引等)

 对不同的权限组,选择对应数据源的权限
 
- 给用户设置权限
  
  
四、工单申请及审批
- 工单申请
 根据需要选择【DML/DDL/查询】中的一种进行工单申请
  
- 填写工单信息提交
  
- 查看工单申请记录
  
- 工单审核及执行
 按照审核流程的节点一级一级审批,如果有执行权限,可直接执行工单
  lisi审核(右击"SQL检测"通过后,【同意】按钮才可点击) lisi审核(右击"SQL检测"通过后,【同意】按钮才可点击)
   
 wangwu审核(右击"SQL检测"通过后,【同意】按钮才可点击)
  
 admin审核及执行(当流程最后节点人员通过后将会自动执行该工单)
  
 整个工单审批流程结束
  
- 审核规则默认关闭,可以根据实际需要来打开某些规则。在SQL检测时,将进行规则检测
  
- 自动化任务配置相关任务后可以对符合条件的SQL语句自动执行,无需执行人手动执行。例如下图对Insert类的语句自动执行
  
- 设置
1.消息推送
2.LDAP设置
3.进件设置:可以设置查询最大limit数,自定义环境(默认定义了Aliyun、AWS)等
4.数据清楚:可以按时间删除工单记录

 