我继承了一个带有一系列数据库的SQL Server框,它具有Windows Auth,用于创建/维护精心设计和建立的数据库。该框本身还有许多其他服务,需要用户以管理员身份登录才能维护。
我现在必须在服务器上创建一个新数据库,只有公司中少数几个人(包括IT)才能访问。所以,我有点追逐我最好的起点。
我希望继续为这些人提供他们需要的管理级别访问权限,以便在此框中使用其他所有内容,但限制它们使用SQL Server选项,以便我可以更好地管理数据库并保护它们。什么是解除Windows身份验证方法并为这些用户创建数据库/创造机会的最佳方法,同时保护他们不应访问的新数据库?我是否通过偏离Windows Auth方法走向了正确的方向?
答案 0 :(得分:4)
在服务器上创建第二个实例的主要原因之一是安全性。通过创建第二个实例,您基本上可以重新启动安全性。因此,您可以考虑为新数据库选择此选项。 IE创建第二个实例并在其上放置“安全”数据库。
你还应该考虑一些事情。
首先,是的,您应尽可能解除安全问题,并提供任何给定用户/组所需的最低安全性。这是最好的做法。在没有明确理由的情况下,永远不要发出dbo或sysadmin权限,甚至要彻底质疑它以确保没有其他方法解决问题。永远不要提供超出绝对要求的权限。
其次,如果他们确实想要进入实例,那么几乎不可能将实例所在的服务器的管理员保留在实例之外。而我只是说“几乎”不可能,因为我可能有办法不知道。在服务器或域管理员的管理员级别,您必须假设他们可以信任不要试图闯入。无论如何,您可能无法阻止它们。
最后但并非最不重要的是,如果你可以将你的实例从has many other services which require a user to login as admin to maintain.
服务器移出这首先是安全噩梦(如上所述),那么你的SQL服务器将在它自己的服务器上运行得更好。我甚至听过专家的建议,说你不应该远程进入SQL Server实例的服务器。如果你必须遥控,绝对不要在远程复制文件。一般来说,服务器上发生的事情越少,SQL越快乐。
答案 1 :(得分:1)
您可以通过从SQL Server登录中删除BUILTIN \ Administrators组来删除域管理员访问SQL Server的权限。
我不建议您远离Windows身份验证,因为您将创建一组全新的安全问题,然后您必须处理这些问题。
答案 2 :(得分:0)
域管理员可以
SQL Server始终启用Window Auth,因此Domain Admins始终可以使用
如果它是敏感的那么它需要在单独的域或独立或其他东西。