从系统pipe理员angular色删除NT AUTHORITY \ SYSTEM的含义和好处?

免责声明:我不是DBA。 我是一个数据库开发人员。

DBA刚刚向我们的数据pipe理员发送了一个报告,并计划从一堆服务器上的sysadminangular色中删除NT AUTHORITY \ SYSTEM帐户。 (可能违反了他们收到的一些审计报告)。

我看到一个MSKB文章说,不要这样做。

从我可以告诉读取networking上各种不同的信息,甚至当SQL Server和代理服务等都运行时,一些特殊的服务/操作(卷拷贝,全文索引,MOM,Windows Update)也使用这个帐户专用帐户下。

如果你们有一个变革pipe理stream程,那就挑战这个。 确保他们知道(他们真的应该),并得到他们的确认,这不会影响任何服务。

如果你没有改变pipe理stream程来挑战这一点,那么我至less会把它带给他们。 希望你的开发者和pipe理者之间有一种友好的关系,你可以互相学习。 他们可能知道风险,也许可以向你解释他们为什么这样做,并告诉你他们如何以安全的方式做到这一点。

有人问他们为什么要删除它,如果他们明白系统帐户的目的是什么? 我同意你对这里涉及到的审计报告的猜测,我也猜测报告只是列出了哪些账户有权做什么,而且DBA一味地去掉了他们不认识的账户。

基本上系统帐户是用来给操作系统本身的权利去做东西。 这不是一个普通的用户帐户,不应该这样处理。

如果数据库pipe理员决定删除它,也许可以尝试build议他们先在testing系统上这样做(最好是每天使用某个活动),给它一个月的时间,看看是否有任何事情发生,然后作出最终决定。

他们这样做的唯一正当的理由(和您的MS文章确认),是为了防止服务器SQL的pipe理员运行在对数据库进行pipe理访问。 他们将面临的问题是,任何确定的操作系统pipe理员都可以返回并添加他们的权限,因为他们可以完全访问服务器。 这听起来像他们想做的事情不应该负面影响数据库上的任何东西(除非设置使用本地pipe理员的AD帐户,没有设置特定的数据库权限),但它绝对是他们应该先testing的东西mhbuild议。

如果你现在可以通过作为操作系统的本地pipe理员对数据库进行pipe理访问,那么我build议你创build一个SQL用户(或者获得另一个AD用户帐户),如果可能的话,它具有系统pipe理员权限。 这将确保您仍然有权访问,如果他们做这个改变。

你没有说哪个版本,这是关键。 如果你正在谈论SQL Server 2000和全文安装,否,你不能删除它。 原因是如果全文不在本地系统帐户下运行,它可能会引发访问冲突和崩溃。 而帐户全文运行需要sysadmin访问SQL Server。 所以你去了

从SQL Server 2005及更高版本开始,它取决于您将哪些帐户configuration为在其下运行的帐户。 这是有关服务帐户信息的图书在线页面。 一般来说,本地或域名帐户优先于主要服务的任何内置帐户,从而减轻这种担忧。

设置WIndows服务帐户(SQL Server 2005联机丛书)

你没有提到的另一件事是BUILTIN \ Administrators是否已经从系统pipe理员固定服务器angular色中删除。 如果不是,那么系统仍然具有系统pipe理员权限,因为它被认为是本地安全组的成员。

如果NT AUTHORITY \ SYSTEM帐户在SQL Server中具有SysAdminangular色,则意味着在LocalSystem下运行的任何Windows服务或计划任务都有上帝访问您的SQL Server的权限。 那真的是你想要的吗?