FirebirdSQL logo

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.

Der Objektbesitzer

Der Benutzer, der ein Datenbankobjekt erstellt hat, wird dessen Eigentümer.Nur der Besitzer eines Objekts und Benutzer mit Administratorrechten in der Datenbank, einschließlich des Datenbankbesitzers, können das Datenbankobjekt ändern oder löschen.

Administratoren, der Datenbankbesitzer oder der Objektbesitzer können anderen Benutzern Berechtigungen erteilen und diese entziehen, einschließlich Berechtigungen, um anderen Benutzern Berechtigungen zu erteilen.Der Prozess des Erteilens und Widerrufens von SQL-Berechtigungen wird mit zwei Anweisungen implementiert, GRANT und REVOKE.

docnext count = 0