Anmerkung
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
In diesem Artikel wird beschrieben, wie Sie eine Anwendungsrolle in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL erstellen. Mit Anwendungsrollen wird der Benutzerzugriff auf eine Datenbank bis auf Zugriffe über bestimmte Anwendungen eingeschränkt. Anwendungsrollen haben keine Benutzer, sodass die Liste der Rollenmitglieder nicht angezeigt wird, wenn die Anwendungsrolle ausgewählt wird.
Wichtig
Beim Festlegen von Kennwörtern für Anwendungsrollen wird die Kennwortkomplexität überprüft. Anwendungen, die Anwendungsrollen aufrufen, müssen ihre Kennwörter speichern. Kennwörter für Anwendungsrollen sollten immer verschlüsselt gespeichert werden.
Hintergrund
Ab SQL Server 2012 (11.x) verwendet SQL Server und Azure SQL DB einen SHA-512-Hash in Kombination mit einem zufälligen und eindeutigen Salz von 32 Bit. Diese Methode machte es statistisch unzumutbar, dass Angreifer Kennwörter ableiten können.
SQL Server 2025 (17.x) führt einen iterierten Hashalgorithmus ein, RFC2898, auch bekannt als kennwortbasierte Schlüsselableitungsfunktion (PBKDF). Dieser Algorithmus verwendet weiterhin SHA-512, aber hashet das Kennwort mehrmals (100.000 Iterationen), was brute-force-Angriffe erheblich verlangsamt. Diese Änderung verbessert den Kennwortschutz als Reaktion auf sich entwickelnde Sicherheitsbedrohungen und hilft Kunden, NIST SP 800-63b-Richtlinien einzuhalten. Diese Sicherheitsverbesserung verwendet einen stärkeren Hashingalgorithmus, der die Anmeldezeit für SQL-Authentifizierungsanmeldungen leicht erhöhen kann. Die Auswirkung ist in Umgebungen mit Verbindungspooling im Allgemeinen niedriger, kann aber in Szenarien ohne Pooling oder bei der eng überwachten Anmeldelatenz spürbarer sein.
Verwenden von SQL Server Management Studio
Erweitern Sie im Objekt-Explorer die Datenbank, in der Sie eine Anwendungsrolle erstellen möchten.
Erweitern Sie den Ordner Sicherheit .
Erweitern Sie den Ordner Rollen .
Klicken Sie mit der rechten Maustaste auf den Ordner Anwendungsrollen, und klicken Sie dann auf Neue Anwendungsrolle....
Geben Sie in das Dialogfeld Anwendungsrolle – Neu auf der Seite Allgemein den Namen der neuen Anwendungsrolle in das Feld Rollenname ein.
Geben Sie im Feld Standardschema das Schema an, das Objekte besitzen soll, die von dieser Rolle durch Eingabe der Objektnamen erstellt wurden. Wählen Sie alternativ die Auslassungspunkte (...) aus, um das Dialogfeld Schema suchen zu öffnen.
Geben Sie im Feld Kennwort ein Kennwort für die neue Rolle ein. Geben Sie dieses Kennwort erneut im Feld Kennwort bestätigen ein.
Wählen Sie unter Schemas im Besitz dieser Rolledie Schemas aus, die diese Rolle besitzen soll, oder zeigen Sie sie an. Jedes Schema kann immer nur im Besitz eines einzelnen Schemas oder einer einzelnen Rolle sein.
Wählen Sie OK aus.
Weitere Optionen
Das Dialogfeld Anwendungsrolle – Neu verfügt zudem über Optionen auf zwei zusätzlichen Seiten: Sicherungsfähige Elemente und Erweiterte Eigenschaften.
Auf der Seite Sicherungsfähige Elemente werden alle möglichen sicherungsfähigen Elemente und die Berechtigungen für diese sicherungsfähigen Elemente aufgelistet, die für die Anmeldung gewährt werden können.
Mithilfe der Seite Erweiterte Eigenschaften können Sie Datenbankbenutzern benutzerdefinierte Eigenschaften hinzufügen.
Verwenden von Transact-SQL
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.
Klicken Sie in der Standardleiste auf Neue Abfrage.
Kopieren Sie das folgende Beispiel in das Abfragefenster, und klicken Sie dann auf Ausführen. Dieser Code erstellt eine Anwendungsrolle mit einem Kennwort und legt
weekly_receiptsals Standardschema fest. Ersetzen Sie<password>es durch ein sicheres Kennwort.-- CREATE APPLICATION ROLE weekly_receipts WITH PASSWORD = '<password>' , DEFAULT_SCHEMA = Sales; GO
Berechtigungen
Erfordert die ALTER ANY APPLICATION ROLE-Berechtigung für die Datenbank.