Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

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. [1].

Requirements

  • 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)

Extra Features

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.

Technical Information

  • 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.

References

  1. Sandhu, Ravi S., et al. "Role-based access control models." Computer 29.2 (1996): 38-47. [1]

Copyright © Eclipse Foundation, Inc. All Rights Reserved.