Back to docs
Recipe
RBAC role + permission designer
A step-by-step pattern for modeling roles, permissions, and assignments inside Meridian's access control system.
Core concepts
- Role — a named collection of permissions (Admin, Editor, Viewer).
- Permission — a granular action on a resource (users:read, billing:write).
- Assignment — maps a user to one or more roles within a scope.
Permission naming convention
| Pattern | Example |
|---|---|
| resource:action | users:read |
| resource:action | billing:write |
| resource:* | keys:* |
Default role matrix
| Role | Permissions |
|---|---|
| Admin | *:* |
| Editor | users:read, keys:read, keys:write |
| Viewer | users:read, keys:read |
Enforcement flow
- Resolve user's assigned roles from the identity token.
- Expand roles into a flat permission set.
- Check required permission against the set; deny if absent.
- Cache the expanded set for the request lifetime to avoid repeated lookups.
Next steps
Pair this recipe with the license-key provisioning guide to wire RBAC into your product's onboarding flow.