Die zweite Ebene des Sicherheitsmodells von Firebird sind SQL-Berechtigungen.Während eine erfolgreiche Anmeldung – die erste Ebene – den Zugriff eines Benutzers auf den Server und alle Datenbanken unter diesem Server autorisiert, bedeutet dies nicht, dass der Benutzer Zugriff auf irgendwelche Objekte in irgendwelchen Datenbanken hat.Wenn ein Objekt erstellt wird, haben nur der Benutzer, der es erstellt hat (sein Besitzer) und Administratoren Zugriff darauf.Der Benutzer benötigt privileges für jedes Objekt, auf das er zugreifen muss.Als allgemeine Regel müssen Rechte einem Benutzer explizit vom Objektbesitzer oder einem administrator der Datenbank gewährt werden.
Ein Privileg besteht aus einer DML-Zugriffsart (SELECT
, INSERT
, UPDATE
, DELETE
, EXECUTE
und REFERENCES
), dem Namen eines Datenbankobjekts (Tabelle, View, Prozedur, Rolle) und der Name des Zuwendungsempfängers (Benutzer, Verfahren, Auslöser, Rolle).Es stehen verschiedene Mittel zur Verfügung, um mehreren Benutzern in einer einzigen GRANT
-Anweisung mehrere Arten von Zugriff auf ein Objekt zu gewähren.Berechtigungen können einem Benutzer mit REVOKE
-Anweisungen entzogen werden.
Eine zusätzliche Art von Berechtigungen, DDL-Berechtigungen, bietet Rechte zum Erstellen, Ändern oder Löschen bestimmter Arten von Metadatenobjekten
Berechtigungen werden in der Datenbank gespeichert, für die sie gelten, und gelten nicht für andere Datenbanken, mit Ausnahme der DDL-Berechtigungen DATABASE
, die in der Sicherheitsdatenbank gespeichert sind.