• 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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.