A. 详解Yearning sql审核平台权限规划--基于用户的细粒度权限
Yearning的权限规范还是挺有特点的,这里简单记录一下,仅供参考。
Yearning采用基于用户的细粒度权限/角色权限,权限最低下放至数据源。
Yearning中神孙唤用户先以角色的形式分为三大类,分别为 使用者/管理员/执行人。其中管理员/执行人角色为可见管理页面角色, 使用者为非可见管理页面角色。通过角色Yearning在细粒度权限划分之前先将用户分类。使管理类权限不会出现在使用者细粒度权限划分中
可根据每个用户的实际需求配置相应ddl/dml/查询数据源。每一类权限相互独立互不干扰。
基于用户的拼图式权限可最大化保证细粒度权限的多样化,可实现对每一个用户都设置不同权限的目的。
用户界面如下:
数据库界面如下:
这里其实就是把用户跟数据库,用户跟具体权限,用户和上级审核人做一个绑凯知定关系。
权限界面如下:
4.1、基于用户自主申请
在Yearning中用户可通过 首页个人信息栏-查看权限按钮 查看当前权限并可通过 申请权限按钮 提交权限申请。
该权限申请将会以工单的形式发送给超级管理员进行审批。(超级管理员为admin用户)如开启消息推送,该工单将会进行相应推送。
当超级管理员收到申请之后,可对相应权限工单进行 审阅/修改 。由于用户申请的权限可能并非实际应授予的权限。所以超级管理员可对权限工单进行直接修改,新增/删除相应权游凯限。修改确认无误后点击同意,该用户权限将自动更新。
4.1.1、权限申请
4.1.2、管理员审核
4.1.3、同意或驳回
注意:
为了防止用户过度提交权限申请。Yearning强制规定用户只有在之前的权限申请通过/驳回之后才能提交新的权限申请。
权限工单为 覆盖更新 并非增量更新,用户提交时因把 之前的权限与申请的权限 一起提交
同时超级管理员也可在 设置页面 设置每个用户单日最大权限申请数。 设置后每个用户一天之内申请权限次数不得超过设置的阈值
4.2 超级管理员直接修改
在Yearning中超级管理员可自行对任意用户的权限进行修改,如需修改 ,可以在用户权限页面进行相应设置
4.2.1、单个用户授权
4.2.2、普通用户批量授权
4.2.3、清空权限
后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
B. 上有哪些好的SQL数据库开发工具
1:首选工具pl/sql developer
PL/SQL Developer是一种集成的开发环境,专门用于开发、测试、调试和优化Oracle PL/SQL存储程序单元,比如触发器等。PL/SQL Developer功能十分全面,大大缩短了程序员的开发周期
2:Oracle SQL Developer是一个免费的,并完全支持图形数据库开发工具。使用SQL Developer,您可以浏览数据库对象,运行SQL语句和SQL脚本,编辑和调试PL / SQL语句。您还可以运行任何报告的数量,以及创建和保存您自己的的。SQL Developer可以提高工作效率并简化数据库开发任务。
C. 详解Yearning SQL审核平台功能模块设计
Yearning SQL审核平台目前兼容99%的Mysql 标准SQL语法。
已知不支持的语句类型有:
下面对其中的功能模块做一下介绍,以下基于Yearning 2.0版本。
1、dashboard
dashboard主要展示Yearning各项数据包括用户数/数据源数/工单数/查询数以及其他图表,个人信息栏内用户可以修改密码/邮箱/真实姓名,同时可以查看该用户权限以及申请权限。
2、我的工单
展示用户提交的工单信息,对于执行失败/驳回的工单点击详细信息后可以重新修改sql并提交,对于执行成功的工单可以查看回滚语句并且快速提交SQL
3、工单-DDL
具有以下功能:
1)DDL相关SQL提交审核
2)查看表结构/索引
3)SQL语法高亮/自动补全
如果想获取表结构详细信息,必须选填表名并完整填写工单信息。所有的SQL只有在检测后错误等级为0时提交按钮才会激活,如下拉列表框内没有相关数据源显示请联系管理员是否赋予相应数据源权限
4、工单--DML
具备以下功能:
1)DML相关SQL提交审核
2)SQL语法高亮/自动补全
所有的SQL只有在检测后错误等级为0时提交按钮才会激活,如下拉列表框内没有相关数据源显示请联系管理员是否赋予相应数据源权限
5、查询
具备以下功能:
1)查询/导出数据
2)SQL语法高亮/自动补全
3)快速DML语句提交
如果开启查询审核,提交该查询申请后需对应审核人同意后方可查询,超级管理员在设置页面开启数据导出功能后,查询申请页面才会显示数据导出按钮(默认为.csv格式),获取表结构功能必须点击相应表名此为前置条件,快速提交功能仅支持DML语句,如下拉列表框内没有相关数据源显示请联系管理员是否赋予相应数据源权限
1、工单审核
功能:DDL/DML管理员审核并执行
实时刷新开关默认打开,如需删除记录请先关闭该开关。如定时工单的时间小于当前时间,执行该工单将会立即执行,目前仅支持延时工单中止,其他工单执行后无法中止!
2、查询审核
功能:用户查询审核
点击全部中止按钮将会中止所有用户的查询权限 如没有在设置页面开启查询审核开关,则默认用户查询申请提交后自动获得查询权限。 用户查询时限在设置页面进行设置
3、权限审核
功能:用户权限审核
权限由用户在首页个人信息处自主申请,管理员可在该审核页面决定是否给予用户申请的权限,由于用户可能存在胡乱申请权限的问题,所以 管理员在查看用户权限申请工单的同时可对工单申请的权限进行修改,确定具体的权限给予 。
1、工单审计
主要是审计工单的执行情况,记录工单的执行时间、申请人、执行人等信息。
2、查询审计
针对数据库查询记录做审计
1、用户
功能:创建/修改/删除用户
当多级审核关闭后系统并不会自动将角色为执行人的用户重置角色,需要自行重置相应用户角色
2、数据库
功能:添加/编辑/删除 数据源
所有添加的数据源应在添加之前点击测试连接按钮进行连接性测试,保证连接性。
数据源分为 查询数据源/非查询数据源 。查询数据源仅会出现在细粒度权限的查询数据源范围内。非查询数据源同理。(对于查询与执行数据源应拆分为二,保障线上执行数据源不会因为查询慢sql影响业务),此类别添加后 无法通过编辑进行修改 ,需要慎重添加。
3、用户权限
功能:用户权限修改/清空
批量赋权仅支持角色为使用人的用户。由于批量赋权为覆盖更新,仅适合在用户权限为空时使用。
4、设置
功能:
在配置填写无误后点击测试按钮进行相关测试, 使用消息推送前必须先打开对应消息推送开关,否则Yearning不会进行推送
5、审核规则
功能:设置SQL检测规则
保存后即时生效
后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~