Por que o NT AUTHORITY \ SYSTEM pode criar backups de bancos de dados do SQL Server?

9

Tenho uma tarefa agendada (no Agendador de tarefas do Windows) que se conecta ao SQL Server usando SMO (autenticação do Windows) e cria um backup do banco de dados. Até o momento, essa tarefa estava em execução na conta Administrador e eu queria alterá-la para usar a conta SYSTEM.

Mudei a tarefa agendada e, para minha total surpresa, ela funcionou imediatamente.

Eu gostaria de entender por que esse é o caso. O sistema é o Windows Server 2012 R2 e o banco de dados é o SQL Server 2012 (SP1) Express Edition. É uma instalação padrão com um usuário de autenticação SQL adicionado.

No SSMS, estes são os logins e suas funções de servidor associadas:

  • MS_PolicyEventProcessingLogin ## (desativado)

  • MS_PolicyTsqlExecutionLogin ## (desabilitado)

  • MyServer \ Administrator (público, sysadmin)
  • MySqlAuthUser (public)
  • BUILTIN \ Usuários (público)
  • AUTORIDADE NT \ SYSTEM (público)
  • NT SERVICE \ MSSQLSERVER (público, sysadmin)
  • NT SERVICE \ SQLWriter (público, sysadmin)
  • NT SERVICE \ Winmgmt (público, sysadmin)
  • sa (public, sysadmin)

O próprio banco de dados possui os seguintes usuários e suas funções:

  • MySqlAuthUser (Login MySqlAuthUser) (db_owner)
  • dbo (Fazer login) (db_owner)
  • convidado (desativado)
  • INFORMATION_SCHEMA (desativado)
  • sys (desativado)

A exibição das "permissões efetivas" do usuário NT AUTHORITY \ SYSTEM produz a seguinte saída:

  • ALTERAR QUALQUER GRUPO DE DISPONIBILIDADE
  • CONNECT SQL
  • CRIAR GRUPO DE DISPONIBILIDADE
  • VER QUALQUER BASE DE DADOS
  • VER ESTADO DO SERVIDOR

Por que NT AUTHORITY \ SYSTEM tem permissão para fazer backup de bancos de dados? Fico feliz que sim, mas eu realmente gostaria de entender por que ...

Heinzi
fonte

Respostas:

11

As permissões mínimas para fazer backup de um banco de dados estão PUBLICno nível do servidor e DB_BACKUPOPERATORno banco de dados.

No SQL Server 2005, a Microsoft recomendou a remoção NT AUTHORITY\SYSTEMda função sysadmin:

A conta NT AUTHORITY \ SYSTEM também recebe um logon do SQL Server. A conta NT AUTHORITY \ SYSTEM é provisionada na função de servidor fixa SYSADMIN. Não exclua esta conta nem remova-a da função de servidor fixa SYSADMIN. A conta NT AUTHORITY \ SYSTEM é usada pelo Microsoft Update e pelo Microsoft SMS para aplicar service packs e hotfixes a uma instalação do SQL Server 2005. A conta NT AUTHORITY \ SYSTEM também é usada pelo SQL Writer Service.

Esse não é mais o caso em 2012. Verifiquei duas vezes minha própria instância do 2012 Express: NT AUTHORITY\SYSTEMnão é um administrador de sistema. No entanto, o SQL Service VSS Writer está sendo executado como NT AUTHORITY\SYSTEMe é um administrador de sistema.

Não consigo encontrar links de backup, por isso NT AUTHORITY\SYSTEMé permitido fazer backup de bancos de dados, mas acredito que seja esse o caso.

Katherine Villyard
fonte