Share via


Server- und Datenbankrollen in SQL Server (ADO.NET)

Aktualisiert: November 2007

Alle SQL Server-Versionen verwenden die rollenbasierte Sicherheit, mit der Sie einer Rolle, also einer ganzen Gruppe von Benutzern, Berechtigungen zuweisen können, statt Berechtigungen individuell für jeden Benutzer einzeln festzulegen. Feste Server- und feste Datenbankrollen besitzen einen festen Satz von ihnen übertragenen Berechtigungen.

Feste Serverrollen

Feste Serverrollen besitzen einen festen Satz von Berechtigungen, die serverweit gültig sind. Sie sind zur Verwaltung von SQL Server gedacht, und die ihnen zugewiesenen Berechtigungen können nicht geändert werden. Anmeldungen können festen Serverrollen zugewiesen sein, ohne dass in einer Datenbank ein Benutzerkonto vorhanden ist.

Sicherheitshinweis:

Die feste Serverrolle sysadmin schließt alle anderen Rollen ein und kennt keine Einschränkungen. Fügen Sie dieser Rolle nur dann Prinzipale hinzu, wenn diese äußerst vertrauenswürdig sind. Member mit der Rolle sysadmin haben nicht widerrufbare administrative Zugriffsrechte auf alle Serverdatenbanken und -ressourcen.

Gehen Sie beim Hinzufügen von Benutzern zu festen Serverrollen mit großer Sorgfalt vor. So können z. B. Benutzer mit der Rolle bulkadmin den Inhalt einer beliebigen lokalen Datei in eine Tabelle einfügen, wodurch die Datenintegrität gefährdet werden könnte. Eine vollständige Liste der festen Serverrollen und Berechtigungen finden Sie in der SQL Server 2005-Onlinedokumentation. Für die festen Serverrollen in SQL Server 2000 gelten dieselben Namen und Berechtigungssätze, sofern sie für SQL Server 2000 zutreffen.

Feste Datenbankrollen

Feste Datenbankrollen besitzen einen vordefinierten Satz von Berechtigungen, mit denen Sie problemlos ganze Berechtigungsgruppen verwalten können. Member der Rolle db_owner können alle Konfigurations- und Wartungsaktivitäten an der Datenbank ausführen.

Weitere Informationen zu den vordefinierten SQL Server-Rollen finden Sie in den folgenden Ressourcen.

Ressource

Beschreibung

Rollen auf Serverebene und Berechtigungen fester Serverrollen in der SQL Server 2005-Onlinedokumentation

Beschreibt die in SQL Server 2005 vorhandenen festen Serverrollen und die mit ihnen verknüpften Berechtigungen.

Rollen auf Datenbankebene und Berechtigungen fester Datenbankrollen in der SQL Server 2005-Onlinedokumentation

Beschreibt die festen Datenbankrollen und die mit ihnen verknüpften Berechtigungen.

Hinzufügen eines Members zu einer vordefinierten Rolle in der SQL Server 2000-Onlinedokumentation

Beschreibt die Berechtigungen, die mit den festen Serverrollen und den festen Datenbankrollen verknüpft sind, und zeigt, wie Sie den Rollen Member hinzufügen können.

Datenbankrollen und Benutzer

Anmeldungen müssen Datenbankbenutzerkonten zugeordnet werden, damit das Arbeiten mit den Datenbankobjekten funktioniert. Anschließend können den Datenbankrollen Datenbankbenutzer hinzugefügt werden, die alle Berechtigungssätze erben, die mit diesen Rollen verknüpft sind. Seit SQL Server 2005 werden alle Berechtigungen gewährt.

Beim Entwickeln des Sicherheitskonzepts für Ihre Anwendung müssen Sie auch die Rolle public, das Benutzerkonto dbo und das guest-Konto berücksichtigen.

Die Rolle "public"

The public role is contained in every database, which includes system databases. Sie kann nicht gelöscht werden, und Sie können ihr weder Benutzer hinzufügen, noch Benutzer daraus entfernen. Die der Rolle public gewährten Berechtigungen werden von allen anderen Benutzern und Rollen geerbt, da sie standardmäßig zur Rolle public gehören. Gewähren Sie der Rolle public nur die Berechtigungen, die auch wirklich alle Benutzer haben sollen.

Das "dbo"-Benutzerkonto

dbo (Database Owner, Datenbankbesitzer) ist ein Benutzerkonto, das implizite Berechtigungen zum Ausführen aller Aktivitäten in der Datenbank besitzt. Member der festen Serverrolle sysadmin werden automatisch dem dbo-Benutzerkonto zugeordnet.

Hinweis:

Mit der Einführung von SQL Server 2005 ist dbo auch der Name eines Schemas, das in Objektbesitz und Trennung von Benutzer und Schema in SQL Server (ADO.NET) näher erläutert wird.

Das dbo-Benutzerkonto wird häufig mit der festen Datenbankrolle db_owner verwechselt. Der Gültigkeitsbereich von db_owner umfasst eine Datenbank, während serverweit sysadmin gültig ist. Die Zugehörigkeit zur Rolle db_owner verleiht keine dbo-Benutzerrechte.

Das "guest"-Benutzerkonto

Nachdem ein Benutzer authentifiziert und als berechtigt eingestuft wurde, sich bei einer Instanz von SQL Server anzumelden, muss in jeder Datenbank, auf die der Benutzer zugreifen können soll, ein separates Benutzerkonto vorhanden sein. Auf diese Weise wird verhindert, dass Benutzer eine Verbindung mit einer SQL Server-Instanz herstellen und damit auf alle auf einem Server vorhandenen Datenbanken zugreifen können. Wenn in der Datenbank ein guest-Benutzerkonto vorhanden ist, gilt diese Voraussetzung nicht, und für den Datenbankzugriff reicht eine Anmeldung ohne ein Datenbankbenutzerkonto.

Das guest-Konto ist in allen Versionen von SQL Server ein integriertes Konto. In neuen Datenbanken ist es standardmäßig deaktiviert. Wenn es aktiviert ist, können Sie es deaktivieren, indem Sie dessen CONNECT-Berechtigung widerrufen. Führen Sie dazu die Transact-SQL-REVOKE CONNECT FROM GUEST-Anweisung aus. In SQL Server 2000 können Sie das Konto deaktivieren, indem Sie die gespeicherte Transact-SQL-Systemprozedur <legacyBold>sp_dropuser</legacyBold> oder <legacyBold>sp_revokedbaccess</legacyBold> ausführen.

Sicherheitshinweis:

Vermeiden Sie die Verwendung des guest-Kontos, denn alle Anmeldungen ohne eigene Datenbankberechtigungen erhalten die Datenbankberechtigungen, die diesem Konto gewährt wurden. Wenn Sie das guest-Konto verwenden müssen, gewähren Sie ihm nur minimale Berechtigungen.

Weitere Informationen zu SQL Server-Anmeldungen, -Benutzern und -Rollen finden Sie in den folgenden Ressourcen:

Ressource

Beschreibung

Identität und Zugriffssteuerung in der SQL Server 2008-Onlinedokumentation

Enthält Links zu Themen, in denen Prinzipale, Rollen, Anmeldeinformationen, sicherungsfähige Elemente und Berechtigungen beschrieben werden.

Prinzipale in der SQL Server 2005-Onlinedokumentation

Beschreibt Prinzipale und enthält Links zu Themen, in denen Server- und Datenbankrollen beschrieben werden.

Erstellen von Sicherheitskonten und Verwalten von Sicherheitskonten in der SQL Server 2000-Onlinedokumentation

Beschreibt das Erstellen und Verwalten von Anmeldungen, Benutzern und Rollen.

Siehe auch

Konzepte

Anwendungssicherheitsszenarien in SQL Server (ADO.NET)

Authentifizierung in SQL Server (ADO.NET)

Objektbesitz und Trennung von Benutzer und Schema in SQL Server (ADO.NET)

Autorisierung und Berechtigungen in SQL Server (ADO.NET)

Weitere Ressourcen

Sichern von ADO.NET-Anwendungen