撤消在SA上以用户身份执行的权限

时间:2018-01-16 14:02:01

标签: sql sql-server security permissions row-level-security

MS SQL-SERVER 2016

我目前正在使用基于用户名限制的数据库上使用行级安全性。此安全保护存储应用程序级别设置的表上的行 - 即,如果您已经购买它,您可以看到它,如果您是总部,您可以看到所有内容。

我遇到的问题是,如果您以SA身份登录,则可以通过简单的“EXECUTE AS USER”呼叫来模拟总部帐户。有没有办法阻止SA冒充特定用户?即使其密码受到保护或类似。

REVOKE IMPERSONATE ON USER:: HeadOffice TO SA

不行。由于我们的客户自己托管SQL,因此他们将始终拥有SA登录详细信息,任何拥有SSMS副本且知道如何轻松解决安全问题的人都可以。无论是模仿还是仅仅关闭安全策略。

我认为客户端具有SA访问权限这一事实使得这个想法不具备启发性,但我很乐意听到任何人对安全工作的建议。

非常感谢。

1 个答案:

答案 0 :(得分:0)

看起来答案是我的预期 - 你无法做到。

我实际上最终使用的解决方案是在数据库之外 - 即数据库向网站提供信息。我将在vb服务中构建一系列系统检查。当客户端具有访问权限时,无法在数据库级别完成。

感谢帮助人员。