MATIH Platform is in active MVP development. Documentation reflects current implementation status.
10. Data Catalog & Governance
Governance
Attribute-Based Access Control

Attribute-Based Access Control

Attribute-Based Access Control (ABAC) in the Data Catalog evaluates access decisions based on attributes of the user, the data entity, and the operation context. ABAC policies provide fine-grained control beyond traditional role-based access by matching user attributes against data classification levels, tags, and custom metadata.


How ABAC Works

The governance policy evaluator processes ABAC rules by comparing user attributes from the authentication context against policy conditions defined on data entities.

User Request
    |
    v
Extract User Attributes (roles, department, clearance)
    |
    v
Identify Target Entity (table, column, database)
    |
    v
Load Applicable ABAC Policies
    |
    v
Evaluate Each Rule Against Attributes
    |
    v
Allow / Deny / Warn

ABAC Rule Types

Rule TypeDescriptionExample
ROLE_REQUIREDUser must have one of the specified rolesRequires DATA_ANALYST role
PERMISSION_REQUIREDUser must have all specified permissionsRequires read:pii permission
ATTRIBUTE_MATCHUser attribute must match a conditionDepartment equals Engineering
EXPRESSIONCustom expression evaluation${user.clearance} == 'TOP_SECRET'

Attribute Match Operators

OperatorDescription
equalsExact string match
containsSubstring match
starts_withPrefix match
ends_withSuffix match
regexRegular expression match

Policy Scope

ABAC policies can be scoped to specific parts of the data catalog.

ScopeDescription
GLOBALApplies to all data entities
DATA_SOURCEApplies to a specific data source
DATABASEApplies to a specific database
SCHEMAApplies to a specific schema
TABLEApplies to specific tables
COLUMNApplies to specific columns
TAGApplies to entities with specific tags
CLASSIFICATIONApplies to entities with a classification level

Enforcement Modes

ModeBehavior
MONITORLog violations only, do not block
WARNWarn the user but allow the operation
SOFT_ENFORCEBlock by default with an override option
HARD_ENFORCEStrictly block the operation

Example ABAC Policy

{
  "name": "PII Access Control",
  "policyType": "ACCESS_CONTROL",
  "scopeType": "CLASSIFICATION",
  "scopeEntities": ["PII", "SENSITIVE"],
  "enforcementMode": "HARD_ENFORCE",
  "rules": [
    {
      "name": "Require PII Role",
      "ruleType": "ROLE_REQUIRED",
      "parameters": {
        "roles": ["PII_VIEWER", "DATA_STEWARD"]
      },
      "enabled": true,
      "order": 1
    },
    {
      "name": "Department Check",
      "ruleType": "ATTRIBUTE_MATCH",
      "parameters": {
        "attribute": "department",
        "value": "Compliance",
        "operator": "equals"
      },
      "enabled": true,
      "order": 2
    }
  ]
}

Evaluation Context

When evaluating ABAC policies, the following user context is available.

FieldDescription
userIdAuthenticated user identifier
userRolesList of assigned roles
userPermissionsList of granted permissions
userAttributesKey-value map of custom attributes (department, clearance, etc.)

Violation Severity

When a policy rule fails, the violation severity is determined by the enforcement mode and rule type.

SeverityTrigger
CRITICALHard-enforced policy violation
HIGHAccess control or classification rule failure
MEDIUMSoft-enforced policy violation
LOWMonitor-only or warn-mode violation