.net Windows桌面客户端/服务器应用程序的SQL Server安全配置选项

.net Windows桌面客户端/服务器应用程序的SQL Server安全配置选项,.net,sql-server,windows,security,desktop-application,.net,Sql Server,Windows,Security,Desktop Application,我正在.NET中开发windows桌面客户端/服务器应用程序,其中客户端应用程序通过SQL本机客户端和连接字符串连接到SQL server Express 2005。然后,客户端通过数据库上的连接直接执行SQL,而无需存储过程 如何配置SQL Server或windows安全性,使其仅能通过已签名的应用程序二进制文件连接到数据库,而不能从客户端计算机连接其他文件?例如,我需要在应用程序中嵌入加密密钥,而不是SQL Server Management Studio Express、我的二进制文件的

我正在.NET中开发windows桌面客户端/服务器应用程序,其中客户端应用程序通过SQL本机客户端和连接字符串连接到SQL server Express 2005。然后,客户端通过数据库上的连接直接执行SQL,而无需存储过程

如何配置SQL Server或windows安全性,使其仅能通过已签名的应用程序二进制文件连接到数据库,而不能从客户端计算机连接其他文件?例如,我需要在应用程序中嵌入加密密钥,而不是SQL Server Management Studio Express、我的二进制文件的黑客版本或其他恶意代码?如果是这样,如何保护它们免受拆卸攻击

客户机或服务器计算机可以放置在公司域上。使用SQL Server完整版而不是SQL Server express也是一种选择。我还希望仍然能够在服务器机器上本地运行SSMSE,以进行升级和支持工作。服务器将具有物理门和锁,以防止访问它


我的应用程序需要从表中读取数据来计算摘要信息。不需要保护摘要信息,但需要保护详细的各行。我认为此要求不包括任何形式的基于表的权限,以及windows帐户或sql server用户名和密码。

您希望在sql server中使用应用程序角色。我不确定特快上有多少

这里有一些关于

的信息,我会使用某种windows帐户或用户名和密码组合:-

撇开讽刺不谈,你说的只是许可。使用您控制的用户帐户将应用程序连接到SQL server,但不向用户提供帐户凭据。问题解决了。嗯,差不多了


唯一的另一种方法是使用管理员或SA这样的帐户,该帐户具有授予对整个SQL server访问权限的服务器角色,因此您必须确保用户没有通过该路径访问SQL server的权限。这非常简单-限制SQL Server中的Builtin\Administrators组,例如,只提供Public而不提供sysadmin,如果服务器具有混合模式身份验证,则禁用SA帐户,并替换控件中的另一个帐户作为sys admin。小心别把自己关在外面:-.

谢谢,我还没有调查过。我相信这会有帮助,但我注意到是2000年的。谢谢。我发现了更多的信息。Builtin\Administrators和Builtin\Users组分别与可以以管理员或用户身份登录计算机的用户相关。这可能包括很多账户。例如,本地pc管理员、域管理员以及在Builtin\Users情况下具有域登录名的任何人。因此,我必须小心处理这些问题。