是否有一种方法可以使用Active Directory传递到SQL Server 2005的安全性,并禁止诸如ODBC之



我们有一个内部应用程序,它使用服务帐户和细粒度表,字段控制由应用程序中的权限表控制。

如果我们想在Active Directory中使用传递安全性,我们会遇到一个问题,即具有odbc访问权限的用户可以修改应用程序中存在的业务规则之外的表。

有没有一种方法可以启用直通安全性,但禁用odbc访问。

您可以使用存储过程,并且只授予存储过程的权限,以确保基本业务规则不会被违反(如果它们简单且不变,则可以进入SP),或者至少(如果它们复杂或不断变化,则在SP中无法正常工作),所有修改都必须通过存储过程。如果他们与数据库建立ODBC连接,他们可以执行存储的进程来进行更改,但如果您只对表或视图授予选择权限,那么他们就无法通过Access链接表进行更改。

您可以使用应用程序角色http://msdn.microsoft.com/en-us/library/ms190998.aspx以便允许您阻止修改访问,除非设置了应用程序角色。

如果是SQL 2005+,登录触发器是可能的。

  • 使用HOST_ NAME或APP_NAME来限制与服务器或应用程序的连接对象
  • 使用sys.dm _ exec_ sessions测试"client_ interface_name"

最新更新