域组策略下如何管理虚拟账户的登录服务权限?

Bob*_*man 5 windows service-accounts group-policy sql-server

我想使用默认的 SQL Server 设置,通过虚拟帐户 NT SERVICE\MSSQLSERVER 运行 SQL Server 服务。这可以确保我的 SQL Server 在其自己的计算机上具有有限的访问权限,并且在受到黑客攻击时无法访问网络资源。但是,我们的域还有一个组策略,为其他几个(域)设置“作为服务登录”权限。

您可能已经猜到,或者甚至经历过我的问题:

当域 GPO 应用于服务器时(至少每天一次),它会撤消由 SQL Server 安装程序(或 SQL Server Config Mgr 或其他本地计算机策略配置)完成的“作为服务登录”权限分配。然后,下次 SQL Server 服务重新启动时(可能是数小时或数月后),该阶段将设置为错误“服务未启动”错误。

到目前为止我所知道的是:

  • 我无法将虚拟帐户添加到域 GPO,因为它是计算机本地 SID。
  • 域组策略会覆盖本地计算机组策略,因此我必须对域组策略进行一些操作。

遗憾的是,用户权限分配元素位于计算机设置\Windows 设置\安全设置\本地策略设置下,因为它无法引用本地计算机帐户。也许这甚至是一个错误。

以下是我正在考虑的方法:

  • 我可以消除应用“登录即服务”权限的域 GPO 元素,并通过本地组策略(在一组服务器上)执行此操作。
  • 我可以将服务器移至未应用此 GPO 元素的 OU。目前,有问题的 GPO 是我的默认域策略,因此我必须重构一些内容。
  • 我可以在每台 SQL Server 计算机上运行一些工具,以便在域组策略运行后立即重新建立“登录为服务”,或者运行频率足够高,以至于我很少被发现。

有人可以向我提供其他建议或工作解决方案吗?

Bob*_*man 0

我最终做的是:删除应用登录作为服务权限的 GPO,并依靠各个计算机在这些计算机上安装服务时根据需要授予权限。

这是一个非常自我调节的解决方案,因为当您设置服务帐户密码时,services.msc 将从属性页面授予权限。当您安装需要服务的应用程序时,显然会发生类似的情况。