Papyrus/Oxygen Work Description/NewFeature/Papyrus User Management
User Management Support for Papyrus
Access-control mechanisms are needed in Papyrus in order to enable secure collaborative development. As a previous step, User Management and Authorization facilities need to be integrated into Papyrus. We focus here in Role-based Access Control (RBAC) and its terminology and concepts. .
- It must be possible to create Users.
- It must be possible to automatically insert Users into a LDAP directory for Authentication.
- It must be possible to create Roles.
- It must be possible to grant Roles to Users.
- It must be possible to grant Roles to Roles (in order to build a hierarchy of roles, where senior roles inherit permissions from junior roles).
- it must be possible to Authenticate users (on connection to a repository, they must be asked for their credentials: user and password)
Apart from the aforementioned basic requirements, some extra features are desirable and may be incrementally prototyped/tested/integrated into the Papyrus User Management facilities.
- Link Roles to the Stakeholder concept in ISO42010. This will later enable the definition of rights on views, viewpoints, etc. See ISO42010 on Papyrus
- Management of users sessions. When a user connects to the systems, it should be possible for she to select which role (or roles) she wants to activate.
- Role delegation. Users may have the right to temporally delegate a role. Alternatively, Users may have the right to delegate some permissions. This will be then managed in a Rights Management facility.
- Static Separation of Duty (SSoD). It should be possible to define incompatibility of roles upon assignment.
- Dynamic Separation of Duty (DSoD). It should be possible to define incompatibility of roles upon activation.
- Custom constraints. It should be possible to define custom constraints on role assignment and role activation. Pre-requisites, cardinality, inheritance.
- Users, roles and their associations will be stored as an User Management Model. This model should only be modifiable by a trusted authority and thus, should be protected from modification. As a first solution (before the Rights Management facilities are in place), the model is stored in a CDO Repository in order to use its Security Management facilities.
- Papyrus will provide its own User Management and Authentication facilities (LDAP for the latter). Thus, CDO (when used as an storage layer) will have to be instructed to use LDAP authentication.
- SSoD and other constraints may be evaluated over the User Management Model by using OCL constraints(or equivalent alternative) automatically derived from the higher-level constraint specification expressed by using the User Management Model.