FirebirdSQL logo

Le deuxième niveau du modèle de sécurité de Firebird est celui des privilèges SQL. Après une connexion réussie (niveau un), un utilisateur autorisé a accès au serveur et à toutes les bases de données de ce serveur, mais cela ne signifie pas qu’il a accès à tous les objets de toutes les bases de données. Une fois qu’un objet est créé, seuls l’utilisateur qui a créé l’objet (son propriétaire) et les administrateurs y ont accès. Un utilisateur a besoin de privilèges pour chaque objet auquel il doit accéder. En général, les privilèges doivent être accordés explicitement par

Un privilège comprend le type d’accès DML (SELECT, INSERT, UPDATE, DELETE, EXECUTE et REFERENCES), le nom de l’objet de base de données pour lequel le privilège est accordé (table, vue, procédure ou rôle) et le nom de l’objet du privilège (utilisateur, procédure, déclencheur, rôle). Il existe différentes façons d’accorder plusieurs types d’accès au même objet de base de données à plusieurs utilisateurs dans une seule instruction GRANT. Les privilèges peuvent être révoqués à l’aide de l’instruction REVOKE.

Tous les privilèges d’accès aux objets de la base de données sont stockés dans la base de données elle-même, et ne peuvent être appliqués à aucune autre base de données.

Le propriétaire de l’objet de la base de données

L’utilisateur qui a créé un objet de base de données en devient le propriétaire. Seuls le propriétaire de l’objet et les utilisateurs ayant les privilèges administrateurs dans la base de données peuvent modifier ou supprimer l’objet de la base de données. Le propriétaire de la base de données, c’est-à-dire l’utilisateur qui l’a créé, dispose de tous les droits sur les objets qui ont été créés par d’autres utilisateurs.

Les administrateurs ou le propriétaire de l’objet peuvent accorder des privilèges à d’autres utilisateurs, y compris des privilèges pour accorder des privilèges à d’autres utilisateurs. Le processus réel d’octroi et de révocation des privilèges au niveau SQL est mis en œuvre par deux opérateurs :GRANT, REVOKE.