MATIH Platform is in active MVP development. Documentation reflects current implementation status.
6. Identity & Access Management
Roles & Permissions
Overview

RBAC Model Overview

Production - RoleController, PermissionCacheController, OpaAuthorizationService

The MATIH platform implements Role-Based Access Control (RBAC) with hierarchical roles, fine-grained permissions using the resource:action pattern, Redis-backed permission caching, and Open Policy Agent (OPA) integration for complex authorization decisions.


RBAC Hierarchy

Permission (resource:action)
    |
    +-- assigned to --> Role
                          |
                          +-- inherits from --> Parent Role
                          |
                          +-- assigned to --> User

Key Concepts

ConceptDescription
PermissionGranular access right in resource:action format (e.g., users:read)
RoleNamed collection of permissions (e.g., admin, analyst, viewer)
Role InheritanceChild roles inherit all permissions from their parent
System RolesBuilt-in roles that cannot be modified or deleted
Permission CacheRedis-backed cache for fast permission lookups
OPA IntegrationExternal policy evaluation for complex authorization rules

Section Pages

PageDescription
Role ManagementCreating, updating, listing, deleting roles
Permission ModelPermission types, resource:action pattern
Custom RolesCreating custom roles with fine-grained permissions
Permission CacheCaching strategy, warming, invalidation
OPA IntegrationPolicy evaluation for advanced authorization