我有一个excel应用程序,分发给我公司中与SQL 2005有连接的几个人。
有没有办法可以阻止有进取心的人使用excel中的连接字符串(显而易见)在自己的访问或其他工具中使用它,根据他们可以从中获取的详细信息连接和使用sql server资源来自excel的连接字符串?
答案 0 :(得分:0)
简短的回答是,如果您显示连接字符串和源代码,智能用户将找到复制它的方法。没办法解决这个问题。但....
如果您的Excel应用程序使用宏代码,则始终可以使用SQL应用程序角色。创建连接对象的代码会立即调用 sp_setapprole 来切换连接的安全上下文。为连接字符串中的用户提供无权执行任何操作的权限。授予应用角色的有限权利。现在,您只需找到一种方法来混淆 sp_setapprole 调用,这样您的智能用户也无法理解如何执行此操作。
至少,确保Excel正在使用的用户帐户仅拥有非常有限的一组对象的权限。将所有复杂的SQL放入服务器端的视图或存储过程中,这样就不会泄露数据库模式。
答案 1 :(得分:0)
如果他们有可用的来源,则无法隐藏用户的凭据。
防止滥用数据库的可能解决方案: