Warum kann NT AUTHORITY \ SYSTEM SQL Server-Datenbanksicherungen erstellen?

9

Ich habe eine geplante Aufgabe (in Windows Task Scheduler), die über SMO (Windows-Authentifizierung) eine Verbindung zu SQL Server herstellt und eine Datenbanksicherung erstellt. Bisher wurde diese Aufgabe unter dem Administratorkonto ausgeführt, und ich wollte sie ändern, um stattdessen das SYSTEM-Konto zu verwenden.

Ich habe die geplante Aufgabe geändert und zu meiner großen Überraschung hat sie sofort funktioniert.

Ich würde gerne verstehen, warum dies der Fall ist. Das System ist Windows Server 2012 R2 und die Datenbank ist SQL Server 2012 (SP1) Express Edition. Es handelt sich um eine Standardinstallation, bei der ein SQL Auth-Benutzer hinzugefügt wurde.

In SSMS sind dies die Anmeldungen und die zugehörigen Serverrollen:

  • MS_PolicyEventProcessingLogin ## (deaktiviert)

  • MS_PolicyTsqlExecutionLogin ## (deaktiviert)

  • MyServer \ Administrator (public, sysadmin)
  • MySqlAuthUser (öffentlich)
  • BUILTIN \ Benutzer (öffentlich)
  • NT AUTHORITY \ SYSTEM (öffentlich)
  • NT SERVICE \ MSSQLSERVER (public, sysadmin)
  • NT SERVICE \ SQLWriter (public, sysadmin)
  • NT SERVICE \ Winmgmt (public, sysadmin)
  • sa (öffentlich, sysadmin)

Die Datenbank selbst hat die folgenden Benutzer und ihre Rollen:

  • MySqlAuthUser (Login MySqlAuthUser) (db_owner)
  • dbo (Login sa) (db_owner)
  • Gast (deaktiviert)
  • INFORMATION_SCHEMA (deaktiviert)
  • sys (deaktiviert)

Das Anzeigen der "effektiven Berechtigungen" des Benutzers NT AUTHORITY \ SYSTEM ergibt die folgende Ausgabe:

  • ÄNDERN SIE JEDE VERFÜGBARKEITSGRUPPE
  • CONNECT SQL
  • VERFÜGBARKEITSGRUPPE ERSTELLEN
  • JEDE DATENBANK ANZEIGEN
  • SERVERZUSTAND ANZEIGEN

Warum hat NT AUTHORITY \ SYSTEM die Berechtigung, Datenbanken zu sichern? Ich bin froh, dass es so ist, aber ich würde wirklich gerne verstehen, warum ...

Heinzi
quelle

Antworten:

11

Die Mindestberechtigungen zum Sichern einer Datenbank liegen PUBLICauf Serverebene und DB_BACKUPOPERATORauf Datenbankebene.

In SQL Server 2005 hat Microsoft empfohlen, das Entfernen NT AUTHORITY\SYSTEMaus der Sysadmin-Rolle zu verhindern:

Das Konto NT AUTHORITY \ SYSTEM erhält außerdem eine SQL Server-Anmeldung. Das Konto NT AUTHORITY \ SYSTEM wird in der festen Serverrolle SYSADMIN bereitgestellt. Löschen Sie dieses Konto nicht und entfernen Sie es nicht aus der festen Serverrolle SYSADMIN. Das Konto NT AUTHORITY \ SYSTEM wird von Microsoft Update und Microsoft SMS verwendet, um Service Packs und Hotfixes auf eine SQL Server 2005-Installation anzuwenden. Das Konto NT AUTHORITY \ SYSTEM wird auch vom SQL Writer-Dienst verwendet.

Dies ist 2012 nicht mehr der Fall. Ich habe meine eigene Instanz von 2012 Express überprüft: NT AUTHORITY\SYSTEMist kein Systemadministrator. Doch das SQL Service VSS Writer ist ausgeführt , wie NT AUTHORITY\SYSTEMund ist ein Sysadmin.

Ich kann keine Links finden, die sichern, weshalb NT AUTHORITY\SYSTEMDatenbanken gesichert werden dürfen, aber ich glaube, dass dies der Fall ist.

Katherine Villyard
quelle