3

我继承了一个带有一系列数据库的 SQL Server 框,它具有用于创建/维护完善和建立的数据库的 Windows Auth。该盒子本身还有许多其他服务,需要用户以管理员身份登录才能维护。

我现在必须在服务器上创建一个新数据库,只有公司中的少数人(包括 IT)可以访问该数据库。所以我有点在寻找最好的起点。

我想继续为这些人提供他们需要的管理员级别访问权限,以访问此框中的所有其他内容,但将他们限制在 SQL Server 选项上,以便我可以更好地管理数据库并保护它们。什么可能是展开 Windows 身份验证方法并分发数据库/为这些用户创造机会同时保护他们不应访问的新数据库的最佳方式?通过偏离 Windows Auth 方法,我是否朝着正确的方向前进?

4

3 回答 3

4

在服务器上创建第二个实例的主要原因之一是安全性。通过创建第二个实例,您基本上可以重新启动安全性。因此,这是您可能会为新数据库考虑的一个选项。IE 创建第二个实例并将“安全”数据库放在上面。

您还应该考虑一些事情。

首先,是的,您应该尽可能放松您的安全性,并给出任何给定用户/组所需的最低安全性。这是一个最佳实践的事情。切勿在没有明确理由的情况下授予 dbo 或 sysadmin 权限,即使如此,也要彻底质疑以确保没有其他方法可以解决问题。永远不要提供超出绝对要求的权限。

其次,如果他们真的想进入,几乎不可能让实例所在服务器的管理员离开实例。我只说“几乎”不可能,因为可能有一种我不知道的方法关于。在服务器管理员或域管理员级别上,您必须假设他们可以被信任而不会尝试闯入。您可能无论如何都无法阻止他们。

最后但并非最不重要的一点是,如果您可以将您的实例移出服务器,has many other services which require a user to login as admin to maintain. 这首先是一个安全噩梦(正如我上面所说的),其次您的 SQL 服务器将在它自己的服务器上运行得更好。我什至听过专家的建议,他们说永远不要远程访问 SQL Server 实例所在的服务器。如果你必须远程,绝对不要在远程时复制文件。一般来说,服务器上发生的事情越少,SQL 就越快乐。

于 2013-05-29T15:32:27.170 回答
1

您可以通过从 SQL Server 登录中删除 BUILTIN\Administrators 组来删除域管理员访问 SQL Server 的能力。

我不建议放弃 Windows 身份验证,因为您将创建一组全新的安全问题,然后您必须处理。

于 2013-05-29T15:22:26.507 回答
0

域管理员可以

  • 将自己添加到有权访问 SQL Server 的任何组(本地或域)
  • 更改服务帐户策略并使用该策略登录
    • 更改 SQL 服务器以使用服务帐户,以防它使用内置帐户
  • 使用任何具有 SQL Server 访问权限的用户帐户
    • 更改密码以允许此操作
  • 在域中做任何事情。在。全部。

SQL Server 始终打开 Window Auth,因此域管理员始终可以使用它

如果它那么敏感,那么它需要在单独的域或独立或其他东西中。

于 2013-05-29T15:28:39.420 回答