Permissions
DbGate’s permissions use two dimensions:
-
Source of permissions (who sets them) Permissions cascade from broad to specific. More specific settings override more general ones:
- Predefined permission sets
- Predefined roles (superadmin, logged user, anonymous)
- Custom roles
- Individual user
-
Object scope Permissions can target specific databases and tables/objects. See Database permissions and Table permissions.
Basic Permissions
Configure global/basic permissions in the permission tree in User detail or Role detail.
- A greyed checkbox means the permission is inherited (e.g., from a role or a predefined permission set), not set directly on that user/role.
Database Permissions
Set database-level permissions on the Databases tab (in both Role detail and User detail).
Important: Database rules are applied only if the “All databases” permission is unchecked in the basic permissions.
- Each row in the rules table grants or denies access to databases that match the row’s filters.
- Rule order matters: rules lower in the list override rules above them.
Columns
- Connection – which connection the rule applies to.
- Database names – databases to match (list of names or a regular expression).
- Role (access level)
- View – can see the database, but not its tables/views/etc.
- Read content – read-only access to database content.
- Write data – can modify table data.
- Run script – can run any SQL script; can create/drop/alter objects.
- Deny – blocks access to the database.
Table Permissions
Set table/object-level permissions on the Tables / Views / Objects tab (in Role detail and User detail).
Important: Table/object rules are applied only if the “All tables/views/objects” permission is unchecked in the basic permissions.
- Each row defines access to tables/objects that match the filters.
- Rule order matters: rules lower in the list override rules above them.
- By default, table permissions are inherited from the database permission.
Columns
- Connection – which connection the rule applies to.
- Database names – databases to match (list or regular expression).
- Schema names – schemas to match (list or regular expression).
- Table names – object names to match (table/view/procedure/trigger) as a list or regular expression.
- Scope – which object types the rule covers (tables, views, procedures, triggers, …).
- Role (access level)
- Read – can read table data.
- Update only – can update rows; insert and delete are not allowed.
- Create, update, delete - can edit rows without restrictions
- Run script – can run a script that touches this object.
Note: If you don’t have “Run script” at the database level, you cannot use it at the table level.
- Deny – blocks access to the object.