Datenbanksicherheit

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Datenbanken verwenden


Datenbanken enthalten häufig sensible Informationen. Verschiedene Datenbanken unterstützen Sicherheitsschemas für den Schutz dieser Information. Einige Datenbanken, wie beispielsweise Paradox und dBASE, bieten nur Sicherheit auf Tabellen- oder Feldebene. Wenn Benutzer versuchen, auf geschützte Tabellen zuzugreifen, müssen sie ein Passwort dafür angeben. Nachdem die Benutzer authentifiziert wurden, sehen sie nur die Felder (Spalten), für die sie eine Berechtigung besitzen.

Die meisten SQL-Server fordern ein Passwort und einen Benutzernamen an, bevor sie überhaupt eine Nutzung des Datenbankservers zulassen. Nachdem sich der Benutzer bei der Datenbank angemeldet hat, legen der Benutzername und das Passwort fest, welche Tabellen zur Verfügung gestellt werden. Weitere Informationen für die Übergabe von Passwörtern an SQL-Server finden Sie unter Server-Anmeldungen steuern.

Beim Entwurf von Datenbankanmeldungen müssen Sie berücksichtigen, welchen Authentifizierungstyp Ihr Datenbankserver verwendet. Häufig werden Anwendungen so entworfen, dass sie die explizite Datenbankanmeldung vor den Benutzern verbergen, die sich nur bei der eigentlichen Anwendung anmelden müssen. Wenn Sie Ihre Benutzer nicht zur Eingabe eines Passworts auffordern wollen, müssen Sie entweder eine Datenbank verwenden, für die kein Passwort erforderlich ist, oder Sie müssen dem Server das Passwort und den Benutzernamen programmgesteuert übergeben. Falls das Passwort vom Programm aus übergeben wird, muss darauf geachtet werden, dass keine Sicherheitslücke entsteht, weil das Passwort aus der Anwendung gelesen werden könnte.

Falls Sie von Ihren Benutzern fordern, dass diese ein Passwort eingeben, müssen Sie festlegen, wann das Passwort benötigt wird. Wenn Sie eine lokale Datenbank verwenden, aber vorhaben, später einen größeren SQL-Server einzurichten, sollten Sie das Passwort abfragen, sobald sich der Benutzer an der SQL-Datenbank anmeldet, und nicht erst, wenn er einzelne Tabellen öffnet.

Falls für Ihre Anwendung mehrere Passwörter erforderlich sind, weil Sie sich an mehreren geschützten Systemen oder Datenbanken anmelden müssen, können Sie ein Hauptpasswort bereitstellen, das wiederum verwendet wird, um auf eine Tabelle mit den Passwörtern für die geschützten Systeme zuzugreifen. Die Anwendung stellt die Passwörter dann programmgesteuert bereit, ohne dass der Benutzer mehrere Passwörter eingeben muss.

In mehrschichtigen Anwendungen können Sie aber auch ein ganz anderes Sicherheitsmodell verwenden. Sie können Protokolle wie beispielsweise HTTPs oder COM+ einsetzen, um den Zugriff auf mittlere Schichten zu steuern und den mittleren Schichten die Details für die Anmeldung bei Datenbankservern überlassen.

Siehe auch