MS SQL - minimal nötige Berechtigungen für System-Abfragen

emeriks
Goto Top
Hi,
welche minimalen Rechte benötigt ein MS-SQL-Benutzer, um innerhalb der Instanz den verfügbaren Festplattenplatz auf den Laufwerken der Instanz abzufragen?
Meine u.g. Abfrage liefert mit einem sysadmin die gewünschten Ergebnisse. Die Abfrage soll aber mit einem dafür dediziertem Konto erfolgen, welche über nur die dafür absolut erforderlichen Rechte verfügen soll.


Ich habe irgendwo gelesen, dass man auch eine Prozedur erstellen könnte, und dieser Prozedur dann diese Rechte erteilen könnte, statt dem Benutzer.
Stimmt das?
Und - wenn ja - wie richtet man sowas ein?

E.

Content-Key: 1486734745

Url: https://administrator.de/contentid/1486734745

Ausgedruckt am: 09.08.2022 um 21:08 Uhr

Mitglied: sabines
sabines 09.11.2021 um 13:19:30 Uhr
Goto Top
Moin, ich bin nicht mehr so im MS SQL Thema, aber für die Master DB müssten view definition der Meta Daten reichen.

Über die Eigenschaften der gespeicherten Prozedur in der Seite Berechtigungen kannst Du entsprechende Berechtigungen einstellen, hier aber m.W. nur Benutzer. Was passiert denn wenn du das in eine SP verpackst (als SA) und dann eine entsprechende User Berechtigung erteilst?

Gruss
Mitglied: emeriks
emeriks 09.11.2021 um 14:14:57 Uhr
Goto Top
Falls Du das u.g. meinen solltest: Das habe ich schon gewährt.

Mitglied: sabines
Lösung sabines 09.11.2021 aktualisiert um 15:43:32 Uhr
Goto Top
Hm, ich habe hier keinen MS SQL Server mehr zum Testen, daher ist das ein Blindflug für mich:


Und dann weiter einschränken
Mitglied: emeriks
emeriks 09.11.2021 aktualisiert um 15:32:00 Uhr
Goto Top
Zitat von @sabines:
GRANT VIEW ANY DEFINITION TO [username]
Danke, damit funktioniert es.
Und dann weiter einschränken
Ja ... Wie, wo und was? face-wink
Mitglied: sabines
sabines 09.11.2021 um 15:42:16 Uhr
Goto Top
Ehem, keine Ahnung face-wink
Mach mal Versuche ohne das ANY

Mitglied: MadMax
MadMax 10.11.2021 um 20:26:52 Uhr
Goto Top
Moin,

ist zwar schon gelöst, aber weil Du nach der Möglichkeit gefragt hast, dem Benutzer nur die Berechtigung auf eine Prozedur zu erteilen:

Statt "with execute as owner" könnte auch ein anderer Benutzer verwendet werden, es wäre dann "with execute as 'Benutzer'".

GRANT VIEW SERVER STATE ist dann überflüssig für den ausführenden Benutzer.

Gruß, Mad Max
Mitglied: emeriks
emeriks 11.11.2021 um 08:12:12 Uhr
Goto Top
Zitat von @MadMax:
Danke!
Das werde ich trotzdem ausprobieren.