xxxx?Optionalxxxx.Normalxxxx!Critical
Next ID: 40
39.Input Validation:- Test individual error messages for every forbidden input (implementing
37might be useful here) - Simplify/Generalize the
assert_XXXfunctions ininput_validation.py
- Test individual error messages for every forbidden input (implementing
38.Implement symmetric role review (see NIST, permission to role lookup + inherited flag)37?Subclass Exceptions to allow the api consumer more fine grained control when handling the errors.34.Allow the*wildcard for the action29?Doc - Permission Design Guide -> As a subsection of RBAC system design (hierarchies vs flat, naming conventions (subjects/roles, prefixes & uuids), ...)28.Doc - Design Rationale: Reasoning for certain design decisions26?Doc - Ensure closer alignment to style guide19.Provide json/yaml import/export utility function18.Provide FastAPI standalone service with RBAC functionality via REST API
35.Prevent usage of:and*within the strings inSubject,Roles,ResourceType,ResourceIDandAction- Doc/Tests: Replace
:usage in Container Permissions and use brackets - Lock down user input to disallow the
:character - Lock down usage of
*character in all butResourceID(here single character only)
- Doc/Tests: Replace
36.Doc - Update Links in Readme32.Doc - Some docstrings do not list all possible reasons for raising an exception27.Doc - Add Auditing Guide22.Doc - write integration guide10.Doc - Compare to NIST21.Doc - Include external dependencies in build instead of using CDN11.Doc - Compare to ANSI (fix section 6/7 TODO)30!README some SVGs are not available on PyPI, replace the relative path with URL to GitLab (main branch)33.CI - Include isort + black job15.Tests:- Cover more than just next neighbor in role hierarchy tests.
-
role.ancestors -
role.descendants -
role.subjects -
role.check_permission -
role.assert_permission -
role.actions_on_resource -
role.permissions -
role.policies -
subject.roles -
subject.check_permission -
subject.actions_on_resource -
subject.policies -
subject.permissions
-
- Test
Permission.__eq__andPermission.__neq__methods method - Test
Policy.__eq__andPolicy.__neq__methods method
- Cover more than just next neighbor in role hierarchy tests.
25.Add missing docstrings:-
subject.actions_on_resource,role.actions_on_resource
-
24.Improve handling of psycopg errors inprocess_subject_role_integrity_errorandprocess_policy_integrity_error16.Do not allow empty strings forsubject,role,actionandresource_type(resource_idis allowed to be empty)- Implement tests
- Implement validation logic
23.Doc - SEO and social description20.Doc - Include mkdocs social card9.Doc - Finalize README8.Doc - Add CHANGELOG3.Decide for a seo optimal package name2.Setup Doc hosting environment1.CI/CD Pipeline- Testing + Coverage
- Doc building
- Package publishing
- Doc publishing
17!Ensure that optional dependencies (psycopg) are really optional14.Doc - Declare how we differentiate between ascendants/parents & descendants/children13.Doc - Start with FAQ- Why we developed the library
- Can I implement Feature Flagging?
6.Add Postgres as explicit dependency group12.Add missing functionality-
RBAC.role.subjects(include_descendant_subjectssupport) -
RBAC.subject.roles(include_ascendant_rolessupport) -
RBAC.role.actions_on_resource -
RBAC.subject.actions_on_resource
-
7.Support for Sqlite & PostgreSQL IntegrityErrors5.Write Python docstrings- RoleService
- SubjectService
- Util (plotting etc.)
- Misc.
4.Testing- Setup PyDocTest for markdown
- RoleService
- SubjectService
- Util (plotting etc.)
- Misc.