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

9

Eu tenho uma tarefa agendada (no Agendador de Tarefas do Windows) que se conecta ao SQL Server usando o SMO (Autenticação do Windows) e cria um backup de banco de dados. Até agora, essa tarefa estava sendo executada na conta de Administrador e eu queria alterá-la para usar a conta SYSTEM.

Eu mudei a tarefa agendada e, para minha surpresa, funcionou de forma simples.

Eu gostaria de entender por que este é 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 Auth SQL adicionado.

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

  • MS_PolicyEventProcessingLogin ## (desativado)

  • MS_PolicyTsqlExecutionLogin ## (desativado)

  • MyServer \ Administrator (public, sysadmin)
  • MySqlAuthUser (público)
  • BUILTIN \ Users (público)
  • NT AUTHORITY \ SYSTEM (público)
  • NT SERVICE \ MSSQLSERVER (público, sysadmin)
  • NT SERVICE \ SQLWriter (public, sysadmin)
  • NT SERVICE \ Winmgmt (public, sysadmin)
  • sa (public, sysadmin)

O banco de dados em si tem os seguintes usuários e suas funções:

  • MySqlAuthUser (Login MySqlAuthUser) (db_owner)
  • dbo (Login sa) (db_owner)
  • guest (desativado)
  • INFORMATION_SCHEMA (desativado)
  • sys (desativado)

Visualizar as "permissões efetivas" do usuário NT AUTHORITY \ SYSTEM produz a seguinte saída:

  • ALTERAR QUALQUER GRUPO DE DISPONIBILIDADE
  • CONECTAR SQL
  • CRIAR GRUPO DE DISPONIBILIDADE
  • VER QUALQUER BANCO DE DADOS
  • VER ESTADO DO SERVIDOR

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

    
por Heinzi 20.04.2014 / 14:08

1 resposta

11

As permissões mínimas para fazer backup de um banco de dados são PUBLIC no nível do servidor e DB_BACKUPOPERATOR no nível do banco de dados.

No SQL Server 2005, o recomendado da Microsoft remove NT AUTHORITY\SYSTEM da função sysadmin:

The NT AUTHORITY\SYSTEM account is also granted a SQL Server login. The NT AUTHORITY\SYSTEM account is provisioned in the SYSADMIN fixed server role. Do not delete this account or remove it from the SYSADMIN fixed server role. The NT AUTHORITY\SYSTEM account is used by Microsoft Update and by Microsoft SMS to apply service packs and hotfixes to a SQL Server 2005 installation. The NT AUTHORITY\SYSTEM account is also used by the SQL Writer Service.

Isso não é mais o caso em 2012. Verifiquei novamente em minha própria instância de 2012 Express: NT AUTHORITY\SYSTEM não é um sysadmin. No entanto, o SQL Service VSS Writer é executado como NT AUTHORITY\SYSTEM e é um sysadmin.

Eu não consigo encontrar nenhum link para backup que é por isso que NT AUTHORITY\SYSTEM tem permissão para fazer backup de bancos de dados, mas acredito que seja o caso.

    
por 20.04.2014 / 17:14