我正在构建一个将针对 SQL 2008 数据库的 Windows 应用程序。一些表数据非常敏感,但我们的一些用户仍然需要至少读取这些表的权限(如果不是读/写权限的话)。我们将使用 Windows 安全来控制他们对数据库的访问。
我想知道这些用户是否可以通过 Excel 或 MS Access 之类的工具访问这些表中的数据?这是关于阻止坏苹果试图窃取内部数据并带走它。但是,如果他们对数据具有读取权限,是否有真正的方法来阻止他们?
很抱歉,如果这是一个 SQL Server 101 问题,但我找不到该问题的好的答案。
感谢您的帮助!
最佳答案
如果他们必须具有读取权限,那么您应该假设他们可以对数据做他们想做的事。如果您在屏幕上呈现数据,您必须假设有人可以用纸和铅笔写下他们看到的内容。
话虽如此,我将创建一个服务帐户,该帐户有权从您的应用程序访问 SQL Server。通过角色控制应用程序中的访问权限。不要授予任何用户直接访问您的数据库的权限 - 他们必须通过您的应用。
如果您尝试打开 Access 或 Excel 并将其指向您的 SQL Server 数据库,它们将无权执行任何操作。
关于sql-server - 保护对 SQL Server 数据的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5251674/