Cumulative Roles
The ability to grant roles to other roles and default roles results in so-called cumulative roles.Multiple roles can be active for a user, and the user receives the cumulative privileges of all those roles.
When a role is explicitly specified on connect or using SET ROLE
, the user will assume all privileges granted to that role, including those privileges granted to the secondary roles (including roles granted on that secondary role, etc).Or in other words, when the primary role is explicitly specified, the secondary roles are also activated.The function RDB$ROLE_IN_USE
can be used to check if a role is currently active.
See also [fblangref50-security-grant-role-default] for the effects of DEFAULT
with cumulative roles, and [fblangref50-security-grant-withadminoption] for effects on granting.