This is a work-in-progress C# library designed for mining roles from a Role-Based Access Control (RBAC) system. The library aims to provide various algorithms that help reduce the number of extra accesses granted to users. It achieves this by:
Standard Accesses: Suggestions for accesses that can be made standard within a given role, thereby reducing the number of extra accesses assigned to users.
Role Creation: Recommendations for new roles to be created based on user access patterns, enhancing the overall efficiency of the access control system.
As the library is still under development, additional features and enhancements will be added over time.
- JaccardIndices method that takes a list of UserAccess and UserInRole objects as input and outputs a list of JaccardIndex objects. This is useful for getting an overview of which extra accesses fit each role.
- UserAccess and UserInRole classes for input.
JaccardIndices
RoleMining.JaccardIndices(IEnumerable<UserAccess>userAccesses,IEnumerable<UserInRole>userInRoles)// Return type is JaccardClasses
publicclassUserAccess{publicstringUserID{get;set;}publicstringAccessLevelID{get;set;}publicstringAccessID{get;set;}}publicclassUserInRole{publicstringRoleID{get;set;}publicstringUserID{get;set;}}publicclassJaccardIndex{publicdoubleJaccardIndex{get;set;}publicstringRoleID{get;set;}publicstringAccessID{get;set;}publicintUsersWithAccess{get;set;}publicintUsersWithoutAccess{get;set;}}