Отказ от ответственности: я не администратор базы данных. Я разработчик базы данных.
Администратор баз данных только что отправил отчет нашим распорядителям данных и планирует удалить учетную запись NT AUTHORITY \ SYSTEM из роли системного администратора на нескольких серверах. (Вероятно, нарушают какой-то аудиторский отчет, который они получили).
я вижу Статья МСКБ это говорит не делать этого.
Из того, что я могу сказать, читая разнообразную разрозненную информацию в Интернете, множество специальных служб / операций (Volume Copy, Full Text Indexing, MOM, Windows Update) используют эту учетную запись, даже когда все службы SQL Server и Agent и т. Д. Работают под выделенными счетами.
Спрашивали этих людей Зачем они хотят его удалить, и понимают ли они, для чего в первую очередь предназначена учетная запись Системы? Я согласен с вашим предположением о том, что здесь задействован аудиторский отчет, и я также предполагаю, что в отчете только что перечислено, какие учетные записи имеют права на что-либо, и что администраторы баз данных слепо следят за ним, удаляя любые учетные записи, которые они не распознают.
В основном учетная запись System используется для предоставления самой ОС прав на выполнение действий. Это не обычная учетная запись пользователя, и ее не следует рассматривать как таковую.
Если администраторы баз данных полны решимости удалить его, возможно, попробуйте предложить им сначала сделать это в тестовой системе (желательно в той, которая активно используется изо дня в день), дайте ей месяц, чтобы увидеть, если что-то произойдет, а затем принять окончательное решение. .
Если у вас, ребята, есть процесс управления изменениями, бросьте вызов этому. Убедитесь, что они знают (они действительно должны знать) об этом, и получить от них подтверждение, что это не повлияет на работу каких-либо служб.
Если у вас нет процесса управления изменениями, чтобы оспорить это, я бы по крайней мере довел его до них. Надеюсь, между вашими разработчиками и администраторами сложились дружеские отношения, и вы сможете чему-то научиться друг у друга. Они могут знать о рисках и могут объяснить вам, почему они это делают, и показать, как они это делают безопасным способом.
Вы не сказали, какая версия, и это ключ. Если вы говорите SQL Server 2000 и установлен полный текст, нет, вы не можете его удалить. Причина в том, что если Full Text не запускается под локальной системной учетной записью, он потенциально может вызвать нарушение прав доступа и сбой. А для учетной записи Full Text требуется доступ системного администратора к SQL Server. Итак, поехали.
Начиная с SQL Server 2005 и выше, это зависит от того, под какими учетными записями настроены ваши службы. Вот онлайн-страница Книги с информацией об учетных записях служб. Вообще говоря, локальные или доменные учетные записи предпочтительнее любых встроенных учетных записей для основных служб, что снимает эту проблему.
Настройка учетных записей служб WIndows (электронная документация по SQL Server 2005)
Еще одна вещь, о которой вы не упомянули, - были ли удалены BUILTIN \ Administrators из фиксированной серверной роли sysadmin или нет. В противном случае система по-прежнему имеет доступ системного администратора, так как считается членом этой локальной группы безопасности.
Единственная законная причина, по которой они это делают (и ваша статья в MS это подтверждает), - это попытаться помешать администраторам сервера, на котором запущен SQL, получить доступ администратора к базам данных. Проблема, с которой они столкнутся, заключается в том, что любой решительный администратор ОС может вернуться и добавить свои права, потому что у них есть полный доступ к серверу. Похоже, что то, что они хотят сделать, не должно отрицательно повлиять ни на что в БД (если только что-то не настроено для использования учетных записей AD, которые являются локальными администраторами и не имеют определенных разрешений БД), но это определенно то, что они должны сначала протестировать, например mh предложила.
Если у вас в настоящее время есть доступ администратора к БД, будучи локальным администратором ОС, я бы посоветовал вам создать пользователя SQL (или получить другую учетную запись пользователя AD), у которого есть доступ системного администратора, если это возможно. Это обеспечит вам доступ, если они внесут это изменение.
Если учетная запись NT AUTHORITY \ SYSTEM имеет роль SysAdmin в SQL Server, это означает, что любая служба Windows или запланированная задача, выполняемая под LocalSystem, имеет доступ Бога к вашему SQL Server. В том, что действительно то, что вы хотите ... ??!
Добавляя к ответу К.Брайана Келли, начиная с SQL 2012, и [NT AUTHORITY \ SYSTEM], и [BUILTIN \ administrators] по умолчанию больше не назначаются системному администратору.
Для улучшения разделения ролей BUILTIN \ administrators и Локальная система (NT AUTHORITY \ SYSTEM) не назначаются автоматически в фиксированной роли сервера sysadmin. Локальные администраторы по-прежнему могут получить доступ к ядру СУБД в однопользовательском режиме.
SQL Server назначает доступ системному администратору [NT AUTHORITY \ SYSTEM] только в том случае, если вы запускаете службы под локальной системной учетной записью. Если вы используете выделенную учетную запись домена, то [NT AUTHORITY \ SYSTEM] не добавляется как системный администратор.