SQLServer数据库权限审查报告设计与实现

作为IT安全审计的一部分,数据库权限审核也应该包括在其中 。一般情况下,数据库管理员应该定期发送权限报告给相关人员审核,确保这是一个持续性完善的过程 。
当然,作为持续性改善计划,肯定需要来自动化实现了,人都是有惰性,谁能保证一直做下来不出错?
下面跟大家分享一下笔者通过实现SQL 数据库权限审计的方法吧 。
先分享一下报告的主要审核点,一般而言,权限审计,审的就是哪个权限,对应有哪些人之类的 。
从上图可以看出,在数据库中对用户赋予了权限,都可以清楚的看出来,然后定期的发送给对应 Owner即可 。
设计方法如下:
准备好相关的SQL语句,能够查询到相关权限,语句如下:
= g.name,= u.name,= u.sid from sys. u, sys. g, sys.s m where g. = m. and u. = m. order by 1, 2
在这个语句中,可以手工查询到指定数据库的用户权限 。
使用连接数据库,执行步骤1中的语句,返回执行结果 。设计报告模板,讲步骤2中返回的结果写入报告模板中 。报告模板为html格式,返回结果需要进行html转换,作为一个固定的格式报告,使用table即可 。通过邮件发送给指定用户,同时在系统里面设计一个计划任务,就可以实现定时发送 。
备注:如果涉及到sql 的密码问题,可以将py文件通过进行打包 。当然如果要求更高的话,就需要加密打包,通过外部模块来实现了 。
【SQLServer数据库权限审查报告设计与实现】小结:这个方法感觉是不是很简单?其实对数据库的常规操作都可以通过这样的方式实现自动化,比如数据库大小监控,当然,如果有整体的性能监控除外 。也可以实现数据库空间报警等,具体的就看大家的需求了,思路是一样的 。盖以抛砖引玉,希望能有更多的延伸 。