【问题标题】:Risk of view any definition, view server state查看任何定义、查看服务器状态的风险
【发布时间】:2019-04-21 11:18:17
【问题描述】:

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

【问题讨论】:

  • 好吧,正如权限所暗示的那样,这样的用户可以查看您的触发器和过程的所有源代码。如果您不希望这种情况发生,那么您需要更加严格地限制您的权利。

标签: sql sql-server tsql permissions


【解决方案1】:

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

dbcreator 固定服务器角色的成员可以创建、更改、删​​除、 并恢复任何数据库。

从海报中(检查 SQL Server 表的服务器级别权限):

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

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

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2019-03-27
    • 2022-01-04
    • 1970-01-01
    • 2017-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-25
    相关资源
    最近更新 更多