- 24.05.2017
- 4 Minuten zu lesen
-
- V
- w
- M
- j
- D
-
+8
PFLICHTET AUF: SQL Server Azure SQL Database Azure Synapse Analytics Parallel Data Warehouse
SQL Server bietet Rollen auf Serverebene, mit denen Sie die Berechtigungen auf einem Server verwalten können. Diese Rollen sind Sicherheitsprinzipale, die andere Prinzipale gruppieren. Rollen auf Serverebene sind in ihrem Berechtigungsumfang serverweit. (Rollen sind wie Gruppen im Windows-Betriebssystem.)
Feste Serverrollen werden aus Gründen der Bequemlichkeit und Abwärtskompatibilität bereitgestellt. Weisen Sie nach Möglichkeit spezifischere Berechtigungen zu.
SQL Server bietet neun feste Serverrollen. Die den festen Serverrollen zugewiesenen Berechtigungen (außer öffentlich) können nicht geändert werden. Ab SQL Server 2012 (11.x) können Sie benutzerdefinierte Serverrollen erstellen und Berechtigungen auf Serverebene zu den benutzerdefinierten Serverrollen hinzufügen.
Sie können Principals auf Serverebene (SQL Server-Anmeldungen, Windows-Konten und Windows-Gruppen) zu Rollen auf Serverebene hinzufügen. Jedes Mitglied einer festen Serverrolle kann andere Logins zu dieser Rolle hinzufügen. Mitglieder von benutzerdefinierten Serverrollen können der Rolle keine anderen Serverprinzipale hinzufügen.
Hinweis
Berechtigungen auf Serverebene sind in SQL Database oder Azure Synapse Analytics nicht verfügbar. Weitere Informationen zu SQL Database finden Sie unter Steuern und Gewähren von Datenbankzugriff.
Feste Rollen auf Serverebene
Die folgende Tabelle zeigt die festen Rollen auf Serverebene und ihre Funktionen.
Feste Rolle auf Serverebene | Beschreibung |
---|---|
sysadmin | Mitglieder der festen Serverrolle sysadmin können alle Aktivitäten auf dem Server ausführen. |
serveradmin | Mitglieder der festen Serverrolle serveradmin können serverweite Konfigurationsoptionen ändern und den Server herunterfahren. |
securityadmin | Mitglieder der festen Serverrolle securityadmin verwalten Logins und deren Eigenschaften. Sie können GRANT , DENY und REVOKE Berechtigungen auf Serverebene vergeben. Sie können auch GRANT , DENY und REVOKE Berechtigungen auf Datenbankebene vergeben, wenn sie Zugriff auf eine Datenbank haben. Außerdem können sie Kennwörter für SQL Server-Anmeldungen zurücksetzen.WICHTIG: Die Fähigkeit, Zugriff auf die Datenbank-Engine zu gewähren und Benutzerberechtigungen zu konfigurieren, ermöglicht es dem Sicherheitsadministrator, die meisten Serverberechtigungen zuzuweisen. Die Rolle securityadmin sollte als gleichwertig mit der Rolle sysadmin behandelt werden. |
processadmin | Mitglieder der festen Serverrolle processadmin können Prozesse beenden, die in einer Instanz von SQL Server laufen. |
setupadmin | Mitglieder der festen Serverrolle setupadmin können verknüpfte Server mithilfe von Transact-SQL-Anweisungen hinzufügen und entfernen. (Bei Verwendung von Management Studio ist eine Sysadmin-Mitgliedschaft erforderlich.) |
bulkadmin | Mitglieder der festen Serverrolle bulkadmin können die Anweisung BULK INSERT ausführen. |
diskadmin | Die feste Serverrolle diskadmin wird für die Verwaltung von Datenträgerdateien verwendet. |
dbcreator | Mitglieder der festen Serverrolle dbcreator können jede Datenbank erstellen, ändern, löschen und wiederherstellen. |
public | Jede SQL Server-Anmeldung gehört zur Serverrolle public. Wenn einem Serverprinzipal keine spezifischen Berechtigungen für ein sicherbares Objekt gewährt oder verweigert wurden, erbt der Benutzer die Berechtigungen, die public für dieses Objekt gewährt wurden. Weisen Sie public-Berechtigungen für ein Objekt nur dann zu, wenn das Objekt für alle Benutzer verfügbar sein soll. Sie können die Mitgliedschaft in public nicht ändern. Hinweis: public ist anders implementiert als andere Rollen, und Berechtigungen können gewährt, verweigert oder von den öffentlichen festen Serverrollen entzogen werden. |
Wichtig
Die meisten der von den folgenden Serverrollen bereitgestellten Berechtigungen gelten nicht für Synapse SQL – processadmin, serveradmin, setupadmin und diskadmin.
Berechtigungen von festen Serverrollen
Jeder festen Serverrolle sind bestimmte Berechtigungen zugewiesen. Die folgende Grafik zeigt die den Serverrollen zugewiesenen Berechtigungen.
Wichtig
Die CONTROL SERVER-Berechtigung ist ähnlich, aber nicht identisch mit der festen Serverrolle sysadmin. Berechtigungen implizieren keine Rollenmitgliedschaften und Rollenmitgliedschaften gewähren keine Berechtigungen. (Zum Beispiel impliziert CONTROL SERVER nicht die Mitgliedschaft in der festen Serverrolle sysadmin). Es ist jedoch manchmal möglich, sich zwischen Rollen und gleichwertigen Berechtigungen auszugeben. Die meisten DBCC-Befehle und viele Systemprozeduren erfordern die Mitgliedschaft in der festen Serverrolle sysadmin. Eine Liste von 171 System-Stored-Procedures, die eine sysadmin-Mitgliedschaft erfordern, finden Sie im folgenden Blogbeitrag von Andreas Wolter CONTROL SERVER vs. sysadmin/sa: Berechtigungen, Systemprozeduren, DBCC, automatische Schemaerstellung und Privilegieneskalation – Vorbehalte.
Berechtigungen auf Serverebene
Nur Berechtigungen auf Serverebene können zu benutzerdefinierten Serverrollen hinzugefügt werden. Um die Berechtigungen auf Serverebene aufzulisten, führen Sie die folgende Anweisung aus. Die Berechtigungen auf Serverebene sind:
SELECT * FROM sys.fn_builtin_permissions('SERVER') ORDER BY permission_name;
Weitere Informationen zu Berechtigungen finden Sie unter Berechtigungen (Datenbank-Engine) und sys.fn_builtin_permissions (Transact-SQL).
Arbeiten mit Rollen auf Serverebene
Die folgende Tabelle erläutert die Befehle, Ansichten und Funktionen, die Sie für die Arbeit mit Rollen auf Serverebene verwenden können.
Funktion | Typ | Beschreibung |
---|---|---|
sp_helpsrvrole (Transact-SQL) | Metadaten | Gibt eine Liste der Rollen auf Serverebene zurück. |
sp_helpsrvrolemember (Transact-SQL) | Metadaten | Gibt Informationen über die Mitglieder einer Rolle auf Serverebene zurück. |
sp_srvrolepermission (Transact-SQL) | Metadaten | Zeigt die Berechtigungen einer Rolle auf Serverebene an. |
IS_SRVROLEMBER (Transact-SQL) | Metadaten | Zeigt an, ob ein SQL Server-Login ein Mitglied der angegebenen Rolle auf Serverebene ist. |
sys.server_role_members (Transact-SQL) | Metadaten | Gibt eine Zeile für jedes Mitglied jeder Rolle auf Serverebene zurück. |
sp_addsrvrolemember (Transact-SQL) | Befehl | Fügt eine Anmeldung als Mitglied einer Rolle auf Serverebene hinzu. Veraltet. Verwenden Sie stattdessen ALTER SERVER ROLE. |
sp_dropsrvrolemember (Transact-SQL) | Befehl | Entfernt ein SQL Server-Login oder einen Windows-Benutzer oder eine Gruppe aus einer Rolle auf Serverebene. Veraltet. Verwenden Sie stattdessen ALTER SERVER ROLE. |
CREATE SERVER ROLE (Transact-SQL) | Befehl | Erstellt eine benutzerdefinierte Serverrolle. |
ALTER SERVER ROLE (Transact-SQL) | Befehl | Ändert die Mitgliedschaft einer Serverrolle oder den Namen einer benutzerdefinierten Serverrolle. |
DROP SERVER ROLE (Transact-SQL) | Befehl | Entfernt eine benutzerdefinierte Serverrolle. |
IS_SRVROLEMBER (Transact-SQL) | Funktion | Bestimmt die Zugehörigkeit einer Serverrolle. |
Siehe auch
Rollen auf Datenbankebene
Sicherheitskatalogansichten (Transact-SQL)
Sicherheitsfunktionen (Transact-SQL)
Sicherheitsfunktionen (Transact-SQL)
GRANT Server-Prinzipalberechtigungen (Transact-SQL)
REVOKE Server-Prinzipalberechtigungen (Transact-SQL)
DENY Server-Prinzipalberechtigungen (Transact-SQL)
Erstellen einer Serverrolle