Die Sicherheit der gesamten Datenbank hängt davon ab, einen Benutzer zu identifizieren und seine Berechtigung zu überprüfen, ein Verfahren, das als Authentifizierung bekannt ist.Die Benutzerauthentifizierung kann auf verschiedene Weise durchgeführt werden, abhängig von der Einstellung des Parameters AuthServer
in der Konfigurationsdatei firebird.conf
.Dieser Parameter enthält die Liste der Authentifizierungs-Plugins, die beim Herstellen einer Verbindung zum Server verwendet werden können.Wenn das erste Plugin bei der Authentifizierung fehlschlägt, kann der Client mit dem nächsten Plugin fortfahren usw.Wenn kein Plugin den Benutzer authentifizieren konnte, erhält der Benutzer eine Fehlermeldung.
Die Informationen über Benutzer, die berechtigt sind, auf einen bestimmten Firebird-Server zuzugreifen, werden in einer speziellen Sicherheitsdatenbank namens security3.fdb
gespeichert.Jeder Eintrag in security4.fdb
ist ein Benutzerkonto für einen Benutzer.Für jede Datenbank kann die Sicherheitsdatenbank in der Datei database.conf
(Parameter SecurityDatabase
) überschrieben werden.Jede Datenbank kann eine Sicherheitsdatenbank sein, sogar für diese Datenbank selbst.
Ein Benutzername, bestehend aus bis zu 63 Zeichen, ist ein Bezeichner, der den normalen Regeln für Bezeichner folgt (Groß-/Kleinschreibung nicht in Anführungszeichen, Groß-/Kleinschreibung in doppelten Anführungszeichen).Aus Gründen der Abwärtskompatibilität akzeptieren einige Anweisungen (z. B. isqls CONNECT
) Benutzernamen in einfachen Anführungszeichen, die sich wie normale Bezeichner ohne Anführungszeichen verhalten.
Die maximale Passwortlänge hängt vom User-Manager-Plugin ab (Parameter UserManager
, in firebird.conf
oder databases.conf
).Bei Kennwörtern muss die Groß-/Kleinschreibung beachtet werden.Der Standardbenutzermanager ist das erste Plugin in der UserManager
-Liste, kann aber in den SQL-Benutzerverwaltungsanweisungen überschrieben werden.Für das Srp
-Plugin beträgt die maximale Passwortlänge 255 Zeichen, bei einer effektiven Länge von 20 Bytes (siehe auch [fblangref40-security-auth-effective-20-bytes-de]).Für das Legacy_UserManager-Plugin sind nur die ersten acht Bytes von Bedeutung.Während es für Legacy_UserManager
gültig ist, ein Passwort mit mehr als acht Bytes einzugeben, werden alle nachfolgenden Zeichen ignoriert.
Die eingebettete Version des Servers verwendet keine Authentifizierung.Allerdings müssen in den Verbindungsparametern der Benutzername und ggf. die Rolle angegeben werden, da sie den Zugriff auf Datenbankobjekte steuern.
SYSDBA oder der Eigentümer der Datenbank erhalten uneingeschränkten Zugriff auf alle Objekte der Datenbank.Benutzer mit der Rolle RDB$ADMIN
erhalten einen ähnlichen uneingeschränkten Zugriff, wenn sie die Rolle beim Verbinden angeben.