Skip to main content

access-controls

access-controls — ɳSelf documentation.

Access Controls Plugin

RBAC + ABAC with policy engine and permission cache. Pro plugin.

Requires: Basic license tier or higher. nself license set nself_pro_...

Install

nself license set nself_pro_xxxxx...
nself plugin install access-controls

What It Does

Extends ɳSelf Auth with fine-grained access control. Implements both Role-Based Access Control (RBAC) and Attribute-Based Access Control (ABAC). Define roles, permissions, and policy rules that evaluate user attributes, resource properties, and context. Results are cached in Redis for fast permission checks on every request. Integrates with Hasura’s permission system.

Configuration

Env VarDefaultDescription
ACCESS_CONTROLS_PORT3027Access controls service port
ACCESS_CONTROLS_CACHE_TTL300Permission cache TTL in seconds
ACCESS_CONTROLS_DEFAULT_DENYtrueDeny access if no policy matches
ACCESS_CONTROLS_AUDIT_ENABLEDtrueLog all permission decisions

Ports

PortPurpose
3027Access controls REST API

Database Tables

6 tables added to your Postgres database:

  • np_access_controls_roles: role definitions
  • np_access_controls_permissions: permission definitions
  • np_access_controls_role_permissions: role-permission mappings
  • np_access_controls_policies: ABAC policy rules
  • np_access_controls_assignments: user-role assignments
  • np_access_controls_audit: permission decision log

Nginx Routes

RouteTarget
/access-controls/Access controls management API
/access-controls/checkPermission check endpoint