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:
- RoleMiner: Mining roles using subset enumeration
- Optimal Boolean Matrix Decomposition: Application to Role Engineering
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)
| File | Size | Uploaded | |
|---|---|---|---|
| RoleMiner-0.1.1.tar.gz | 4.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|