DB Access Manager
Visual RBAC management interface for all Wasteology PostgreSQL databases. Provides a structured view of schema-level permissions and supports staging, previewing, and applying grant/revoke changes through a dry-run gate.
Page Overviewβ
DB Access Manager
View and manage PostgreSQL schema permissions across prod and dev with dry-run diffing and an audit log

How to Use
Featuresβ
Access Matrix
Emoji-badge permission grid showing every user's access level per schema at a glance
User Management
Per-user schema access list with inline grant and revoke actions
Role Management
Role list with member management β add or remove members from any role
Audit Log
Filterable activity log of all grant/revoke operations with actor, operation, and result
Access Matrixβ
The Access Matrix tab renders a grid with users as rows and schemas as columns.
Permission Badgesβ
| Badge | Level | SQL Privilege |
|---|---|---|
| β« | OWNER | Object owner β full control including DROP |
| π΄ | ADMIN | USAGE + CREATE on schema, full table privileges |
| π | RW | USAGE + SELECT, INSERT, UPDATE, DELETE |
| π’ | READ | USAGE + SELECT only |
| β¬ | β | No access |
The matrix resolves full permission inheritance through role chains. A user granted azure_pg_admin will show the effective permission level, not just the direct grant. This uses a recursive CTE on pg_auth_members.
Edit Modeβ
Toggle Edit Mode in the top-right to switch the grid from read-only badge display to an interactive selector per cell. Changes are staged locally until you run a dry-run.
Dry-Run Flowβ
All mutations go through a mandatory dry-run gate before being applied.
- Stage changes in Edit Mode
- Click Review β opens the dry-run dialog
- Palantiri wraps the SQL in a
BEGIN β¦ ROLLBACKtransaction and executes it against the target database - The dialog shows the generated SQL and any errors from the dry run
- Apply Now is only enabled when the dry run produces zero errors
- Click Apply Now to execute the SQL in a real
BEGIN β¦ COMMITtransaction
The Review and Apply Now buttons are only visible to users whose displayName is in the DBACCESS_MUTATION_ALLOWLIST environment variable (comma-separated, e.g., Kent Gray,TJ Lewis). Other users see the matrix in read-only mode.
Users Tabβ
The Users tab provides a per-user view listing every schema and the access level for each. Inline Grant and Revoke buttons are available for admin users.
| Column | Description |
|---|---|
| Schema | Schema name in the selected database |
| Access Level | Effective permission badge |
| Direct Grant | Whether the permission is direct or inherited via a role |
| Actions | Grant / Revoke buttons (admin only) |
Roles Tabβ
The Roles tab lists all roles in the selected database and their current members.
Actions available to admin users:
- Add Member β grant a user membership in a role
- Remove Member β revoke role membership
Activity Logβ
The Activity Log tab reads from wg_digests.dbaccess_audit_log in PostgreSQL.
Filter Optionsβ
| Filter | Description |
|---|---|
| Actor | Filter by the user who performed the action |
| Operation | GRANT or REVOKE |
| Result | SUCCESS or ERROR |
| Date Range | Limit to a specific time window |
Log Columnsβ
| Column | Description |
|---|---|
| Timestamp | When the operation was executed |
| Actor | displayName of the authenticated Palantiri user |
| Target User | PostgreSQL user or role affected |
| Schema | Schema the permission applies to |
| Operation | GRANT or REVOKE |
| Privilege | e.g., SELECT, INSERT, USAGE |
| Result | SUCCESS or ERROR with error message on failure |
Supported Databasesβ
| Database | Environment |
|---|---|
| PostgreSQL Production | βProduction |
| PostgreSQL Development | βΉDevelopment |
Azure SQL databases are not managed through this interface. Use Azure RBAC or SQL logins directly for SQL Server access control.