- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
@Willem What a great article!
That last one confuses me a little. Many applications are set up to inherit lower-level access to simplify user-role access and ACLs. I read your explanation, which means this won't work with RoleExplicit.
For example:
adminrole containsmanagerrolemanagerrole containsuserrole
This way
- The user can be granted the only
adminrole (direct or via group) and inheritmanageranduserautomatically, instead of having to grant them all three. - lower-level ACLs, like can read [xyz] app table, only need to have the
userrole, instead ofuser,manager, andadmin.
Here is an example of a user that gets the notify_view role through a few levels of inheritance roles. These inherited roles are present in the sys_user_has_role table. All roles granted by a group show inherited=true, and contains roles regardless of whether they are granted through group membership or a direct role, will show inherited=true.
In OOB(Out-of-Box) Security Attributes: Non-explicit and explicit behavior explained it says:
Security Attributes address nuanced permission needs with an explicit vs. non-explicit (inherited) evaluation of roles permissions.
This leads me to believe top-level roles granted by groups (which are inherited=true) will also be denied.
Have you tried to test any of the scenarios above yet?