Fachkonzept - Benutzerverwaltung
Benutzer einer Datenbank
Zentrales Konzept für den Schutz von Daten in einer Datenbank ist der (Datenbank-)Benutzer. Für diesen können Rechte innerhalb des Datenbanksystems vergeben werden.
Als besonders ausgezeichneter Benutzer besitzt der Administrator (meist mit dem Namen root
) in der Regel alle Rechte auf dem Datenbanksystem. Insbesondere kann dieser Benutzer weitere Benutzer anlegen und ihnen Rechte vergeben.
Rechtevergabe
Aktionen auf einer Datenbank können nur durch einen angemeldeten Benutzer ausgeführt werden.
Rechte (engl.: privileges) können auf unterschiedlichen Ebenen vergeben werden. Der Zugriff auf ganze Datenbanken, einzelne Tabellen bis hin zu einzelnen Attributen kann eingeschränkt werden.
Wesentliche Rechte auf den Daten sind das Recht zum Lesen von Daten (SELECT), Einfügen/Ändern von Daten (INSERT/UPDATE) und das Löschen von Daten (DELETE).
Auch andere Rechte auf einem Datenbanksystem (z.B. für das Anlegen neuer Datenbanken, dem Anlegen neuer Benutzer, etc.) können vergeben werden. Dies wird hier nicht weiter behandelt.
Erweitern von SQL
SQL bietet neben den schon bekannten Anweisungen zum Auslesen von Daten (DML - Data Manipulation Language) auch Befehle, um die Benutzer und ihre Rechte zu verwalten (sog. DDL - Data Definition Language und DCL - Data Control Language).
So kann mit den folgenden Befehlen ein neuer Benutzer mit Passwort gesetzt werden. MySQL (und MariaDB) unterscheiden dabei zwischen Benutzern, die vom gleichen Rechner (localhost) oder von anderen Rechnern (%) zugreifen; die beiden folgenden Anweisungen erzeugen also zwei unterschiedliche Benutzer:
Die Rechtevergabe erfolgt ebenfalls über SQL-Anweisungen (DCL). Dabei können auf unterschiedlicher Ebene Rechte vergeben werden:
Das Entziehen von Rechten erfolgt analog mit dem REVOKE
-Befehl: