MS SQL-SERVER 2016
我目前正在使用基于用户名限制的数据库上使用行级安全性。此安全保护存储应用程序级别设置的表上的行 - 即,如果您已经购买它,您可以看到它,如果您是总部,您可以看到所有内容。
我遇到的问题是,如果您以SA身份登录,则可以通过简单的“EXECUTE AS USER”呼叫来模拟总部帐户。有没有办法阻止SA冒充特定用户?即使其密码受到保护或类似。
REVOKE IMPERSONATE ON USER:: HeadOffice TO SA
不行。由于我们的客户自己托管SQL,因此他们将始终拥有SA登录详细信息,任何拥有SSMS副本且知道如何轻松解决安全问题的人都可以。无论是模仿还是仅仅关闭安全策略。
我认为客户端具有SA访问权限这一事实使得这个想法不具备启发性,但我很乐意听到任何人对安全工作的建议。
非常感谢。
答案 0 :(得分:0)
看起来答案是我的预期 - 你无法做到。
我实际上最终使用的解决方案是在数据库之外 - 即数据库向网站提供信息。我将在vb服务中构建一系列系统检查。当客户端具有访问权限时,无法在数据库级别完成。
感谢帮助人员。