查看任何定义,查看服务器状态的风险

时间:2018-11-19 05:33:54

标签: sql-server tsql permissions

向具有Windows身份验证和begin角色的用户授予view any definitionview server state权限有什么风险?

1 个答案:

答案 0 :(得分:1)

您可以检查SQL Server数据库权限poster,以了解安全性层次结构。例如,对于dbcreator角色,您have

  

dbcreator固定服务器角色的成员可以创建,更改,删除,   并还原任何数据库。

然后从发布者中(检查“ SQL Server的服务器级别权限”表):

  • 更改任何数据库-请参阅数据库权限表
  • 创建任何数据库-请参阅顶级数据库权限

基本上,您可以对每个数据库执行任何操作。在同一张表中,对于VIEW ANY DEFINITION,您有:

enter image description here

但是您应该已经具有此权限,因为您具有顶级数据库权限。从海报的同一张表中可以看到,VIEW SERVER STATE扩展了dbcreator role的权限:

enter image description here

您可以看到它是serveradmin role权利的一部分,并为您提供了服务器级DMS的SELECT权利。此外,它还授予您VIEW DATABASE STATE的权限:

enter image description here

但是您应该已经可以访问数据库范围的动态管理视图和功能。因此,新功能是访问服务器范围的ones

  

动态管理视图和功能有两种:

     
      
  • 服务器范围的动态管理视图和功能。这些需要服务器上的“查看服务器状态”权限。
  •   
  • 数据库范围的动态管理视图和功能。这些需要数据库的VIEW DATABASE STATE权限。
  •