The objective is to define Who can access What. That is both straightforward in its principles and complex in its implementation. As a consequence, representation patterns should be easy to establish and clearly beneficial.
Given system objects and activities on one hand, roles played by agents on the other hand, the objective is to define what the latter may do to the former, usually in terms of CRUD operations: create, read, update, or delete. And that may be achieved by links between taxonomies represented by power-types.
Like any business rules, access rights may be detailed by features, or set on aggregates.
Access rights to objects will usually be defined at domains level, and those for activities will be set by use cases. Nonetheless, rights may also be set at some higher level across domains as well as use cases.
Whereas access rights may refer to actual objects or processes, they are by nature notional and as such necessarily described by symbolic objects. Once users have been identified at entry points, their rights are set by (1) the groups to which they are associated and (2) the groups to which the targets belong. Both groups are defined by taxonomies represented by power-types, with links standing for access rights. Groups may be defined along any number of dimensions, for objects, operations, or both.