30 lines
1009 B
Markdown
30 lines
1009 B
Markdown
c77_rbac PostgreSQL Extension
|
|
The c77_rbac extension provides role-based access control (RBAC) for PostgreSQL, securing tables with row-level security (RLS) for multi-campus applications. All objects are in the public schema with c77_rbac_ prefixes (e.g., c77_rbac_subjects, c77_rbac_apply_policy) to coexist with Laravel and third-party packages. Application tables use custom schemas (e.g., myapp.orders).
|
|
Features
|
|
|
|
Scoped role assignments (e.g., campus-specific access).
|
|
Admin access via global/all scope for any user ID.
|
|
RLS policies via c77_rbac_apply_policy.
|
|
Compatible with PostgreSQL 14+ and Laravel.
|
|
|
|
Installation
|
|
|
|
Ensure PostgreSQL 14 or later is installed.
|
|
|
|
Place c77_rbac.control and c77_rbac--1.1.0.sql in /usr/share/postgresql/17/extension/.
|
|
|
|
Run as a superuser:
|
|
CREATE EXTENSION c77_rbac SCHEMA public;
|
|
|
|
|
|
|
|
Usage
|
|
See USAGE.md for beginner-friendly instructions on securing tables and assigning roles.
|
|
Requirements
|
|
|
|
PostgreSQL 14 or later.
|
|
Superuser access for installation.
|
|
|
|
License
|
|
MIT License
|