Skip to main content

RoleMiner

Python Implementation of the FastMiner and Optimal Boolean Matrix Decomposition/RMP algorithms for implementing Role Based Access Control, as described in the following papers:

Overview

The objective of Role Based Access Control (RBAC) is to determine the "best" set of roles that accurately describes user access without overfitting. In many ways this is similar to signal processing where "noise" (or one off permissions/entitlements) must be removed before the analysis is conducted, and then a series of candidate roles is generated on that cleaned data, since an exhaustive search of all possible roles is generally not possible (on the order of 2^n). Once the Candidate Roles are found, we can further structure Basic Role Mining Problem (RMP) beyond just "Find the smallest number of roles that describes the cleaned data" by relaxing constraints (aka Regularization).

Possible regularizers in layman's terms could be somethign like the following:

  • "Roles must have at least 5 different entitlements, or we don't consider it a valid role"
  • "We want to ignore roles are only valid for less than 3 users, except the admin role"

Broadly, iterating through this process of generating candidate roles and iterating through the best choices with different regularization terms is very similar to Simulated Annealing.

Installation

Install the latest version of the RoleMiner code & dependencies with pip:

$ pip install -U RoleMiner

Metadata

Release files for RoleMiner 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for RoleMiner 0.1.1
File Size Uploaded
RoleMiner-0.1.1.tar.gz 4.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for RoleMiner 0.1.1
File Interpreter ABI Platform
RoleMiner-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 8.8 kB

Release files / RoleMiner-0.1.1.tar.gz

Download URL RoleMiner-0.1.1.tar.gz
Size 4.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a8ee751a435709ccafa05459736637e12dfe9dbc9f07d1541d84d1927be414fb
BLAKE2b-256 checksum
How to use checksums
a330f5eadcffb810dfd34db978a1eb571940333319f4aaff2b78422bc7067739
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.19.1 CPython/3.7.4

Release files / RoleMiner-0.1.1-py3-none-any.whl

Download URL RoleMiner-0.1.1-py3-none-any.whl
Size 4.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2eb2bc4d978078454c67d8191c944eb6e3750f7f58ff22a2f669948f38ccea34
BLAKE2b-256 checksum
How to use checksums
ce6e3eb9912a9f44d3301dc5b31cb324cf647e1f2d26050a9bce07f61160dd17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.19.1 CPython/3.7.4

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page