我们有第三方供应商在服务器上设置软件。他们可以使用sa帐户完全访问该服务器及其上的sql-server。我们想设置一个链接服务器,以便触发器可以更新远程计算机上的数据。访问sa帐户是否必然意味着他们可以完全访问链接服务器,或者是否有办法保护自己免受sa?
编辑:我们希望让他们完全控制服务器,因为我们希望他们承担全部责任。当它停止工作时,它会把责任推卸下来。 “嘿,我们没有触摸它,你修复它,你有完全的权限”。这样,他们可以做任何他们需要的东西来使他们的软件工作,但它是在沙盒环境中。我们只需要一个触发器就可以从数据库中获取最终记录并插入到我们的生产数据库中。这需要我们不想给予他们的权限。这个问题的目的是询问是否有办法将密码保存在那个沙箱下的沙箱中。可以这么说。答案 0 :(得分:4)
永远不要让任何人访问SA帐户。
相反,即使它仍具有完整的系统级权限,也要为它们指定一个命名的用户帐户。
其次,链接服务器将设置为具有指定用户,允许在另一端模拟指定用户。如果他们在第一台服务器上拥有一个具有完全权限的帐户,那么他们就可以到达另一台服务器。它就像更改被授予远程服务器访问权限的用户帐户的密码一样简单。
这将我们带到另一个项目:除非他们拥有该框,否则永远不要给予外部实体任何权利。如果由于某种奇怪的原因,您没有其他选择,那么您应该找到一种将数据从此服务器传输到生产服务器的替代方法。
一种方法是设置SSIS包,将数据丢弃到远程服务器将监视以获取的目录中。当然这会增加一点复杂性,但最终它意味着你的东西仍然是安全的。
最后,链接服务器因一般的不稳定而臭名昭着。您最好找到一种不同的方式来传输数据......比如使用SSIS方法。
答案 1 :(得分:3)
您可以设置链接服务器以使用指定用户 - 您的第三方承包商仍然可以看到链接的“另一端”,但只能看到授予该命名用户的权限。