数据安全中很重要的一条是数据库里的数据是否安全。访问数据库的账号是否有权限,是否在权限范围内进行操作,是否既能防止删库等重大问题的出现,又可以保证它的高效安全访问,是每个数据库管理员都必须面对的话题。
很显然,对于DBA来说,分配数据库权限是“重要且紧急”的任务。重要,是因为权限分配不能出错,权限分大了数据库有风险,权限分小了访问者有诸多不便,可能还会要继续追加权限增加了DBA的工作量;而“紧急”则是经常会有一次性的特殊情况出现,需要进行临时权限分配,且任务完成后需要及时回收。
如何因地制宜,打组合拳,让DBA更快、更好地管理防删库SQL权限,管理成本最小化投入,管理效率最高?
齐治数据库访问控制系统DSG,将资产的管理颗粒度分为两类:全局管控(建立数据库资产/库表对象集合,进行统一的操作权限管控)、库表管控(对某个数据库进行单独的细粒度库表权限操作管控),根据各种场景提出了“自助式+粗细结合”的数据库权限综合管控方案。
根据资产的管理颗粒度,DSG可以进行全局管控、库表管控
场景一:目标数据库少,权限确定
解决方案:细粒度预授权机制,是白名单机制。
优势:支持实现权限最小化。
不足:1.需要预先调研权限需求,有一定工作量;2.在操作员、目标数据库表增多的情况下,权限维护管理工作量加大。
场景二:目标数据库多,权限确定
解决方案:对象集全局管控机制。将不同的数据库对象打包,统一操作权限管控。
优势:支持大量数据库表的统一管控,降低管控配置工作量。
不足:1.管控手段精细化程度不高;2.不能实现权限完全最小化。
场景三:无法预先确定操作权限
解决方案:按需自助提权机制。大体确定开放的数据库表范围,授予操作员对象浏览权限。
优势:系统上线调研工作量小,同时支持权限最小化。
不足:上线后,存在一定的权限申请、审批工作量。
场景四:1.目标数据库很重要,并可以预先确定高危操作;2.黑名单管理方式(默认允许,显式禁止)。
解决方案:二次复核管控机制。主要管控重要数据,对明确的高危操作进行二次管控。
优势:1.即使在授权不当的情况下,也可防止误操作、恶意操作;2.二次管控支持黑名单模式,避免白名单方式的管控工作量。
不足:如果需要二次复核,会一定程度的影响效率。
场景五:目标数据库很多,数据库管理员少
解决方案:数据属主分管机制。不同部门掌控数据库不同关键点,跨部门分管。
优势:减轻数据库管理员的工作量;可更加合理地管控操作权限。
不足:涉及多个部门参与,协调难度较大。
场景六:1.数据库多,数据库管理人员或者数据库属主部门多;2.管理人员需要AB角。
解决方案:部门分权机制。每个部门分权管理各自的数据库权限。
优势:支持大规模数据库权限管控。
不足:部门、人员结构的维护存在工作量。
场景七:数据库管理员不掌握数据库的账号和密码
解决方案:非全托管机制。可管控具体操作行为。
优势:避免上线实施前的数据库台账、账号与密码梳理工作。
不足:管控粒度仅限整个数据库范围,无法细化到库表字段级别的管控。
这些方案虽然适合不同场景,但在实际使用过程中,齐治DSG支持多维度的权限管理机制,用户根据自身情况进行多维度叠加,例如:
1.全局管控+细粒度管控+二次复核管控;
2.部门分权+数据属主管控+自助提权管控;
3.全局管控+自助提权管控+二次复核管控;
……
用户可以根据自身的实际情况,利用DSG不同的管控机制,构建、优化自身的数据库操作管控流程,以实现数据库管控的最佳性价比。
发表回复