Skip to content

Repository files navigation

RoleMining.Library

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.

Features (For now)

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

Syntax

JaccardIndices

RoleMining.JaccardIndices(IEnumerable<UserAccess>userAccesses,IEnumerable<UserInRole>userInRoles)// Return type is Jaccard

Classes

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;}}

About

A C# application for mining roles based on extra access lists

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages