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

阅读: 评论:0

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

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

作为IT安全审计的一部分,数据库权限审核也应该包括在其中。一般情况下,数据库管理员应该定期发送权限报告给相关人员审核,确保这是一个持续性完善的过程。

当然,作为持续性改善计划,肯定需要python来自动化实现了,人都是有惰性,谁能保证一直做下来不出错?

下面跟大家分享一下笔者通过python实现SQL SERVER数据库权限审计的方法吧。

先分享一下报告的主要审核点,一般而言,权限审计,审的就是哪个权限,对应有哪些人之类的。

 

 

从上图可以看出,在数据库中对用户赋予了权限,都可以清楚的看出来,然后定期的发送给对应Business Owner即可。

设计方法如下:

  1. 准备好相关的SQL语句,能够查询到相关权限,语句如下:

select DbRole = g.name, MemberName = u.name, MemberSID = u.sid from sys.database_principals u, sys.database_principals g, sys.database_role_members m  where g.principal_id = m.role_principal_id  and u.principal_id = m.member_principal_id order by 1, 2

 

在这个语句中,可以手工查询到指定数据库的用户权限。

 

  1. 使用python连接数据库,执行步骤1中的语句,返回执行结果。
  2. 设计报告模板,讲步骤2中返回的结果写入报告模板中。报告模板为html格式,返回结果需要进行html转换,作为一个固定的格式报告,使用table即可。
  3. 通过邮件发送给指定用户,同时在系统里面设计一个计划任务,就可以实现定时发送。

 

备注:如果涉及到sql connectionstring的密码问题,可以将py文件通过pyinstaller进行打包。当然如果要求更高的话,就需要加密打包,通过外部python模块来实现了。

 

 

小结:这个方法感觉是不是很简单?其实对数据库的常规操作都可以通过这样的方式实现自动化,比如数据库大小监控,当然,如果有整体的性能监控除外。也可以实现数据库空间报警等,具体的就看大家的需求了,思路是一样的。盖以抛砖引玉,希望能有更多的延伸。

本文发布于:2024-02-03 00:52:48,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170689277247588.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:权限   数据库   报告   SQLServer
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23