Permissions in ToolJet
Permissions in ToolJet determine what actions users can perform and what resources they can access within a workspace. ToolJet uses a Role-Based Access Control (RBAC) system to manage these permissions efficiently.
User Rolesβ
ToolJet has three default user roles, each with different levels of access:
- Admin: Full access to manage the workspace, including users, groups, and all resources.
- Builder: Can create and edit apps, data sources, and other resources.
- End-user: Can only view and use apps they have been given access to.
Groupsβ
- Default Groups: Correspond to the user roles - Admin, Builder, and End-user.
- Custom Groups: Can be created to assign specific permissions to sets of users.
For detailed information on Users and Groups, refer to the Managing Users and Groups documentation.
Permission Levelsβ
Permissions can be set at two levels: workspace-level and granular level. This allows for both broad and fine-grained control over user access.
Workspace-Level Permissionsβ
Workspace-level permissions apply broadly to all resources of a particular type within the workspace. These are set in the Permissions tab of each user group.
For each resource type, different levels of permissions can be set:
- Apps:
- Create: Allows users to create new apps.
- Delete: Allows users to delete apps.
- Data Sources:
- Create: Allows users to create new data source connections.
- Delete: Allows users to delete data source connections.
- Folders:
- Create/Update/Delete: Allows users to create, update, or delete folders.
- Workspace Constants/Variables:
- Create/Update/Delete: Allows users to create, update, or delete workspace-level constants/variables.
Granular Access Permissionsβ
For more fine-grained control, administrators can set permissions for individual apps and data sources in the Granular Access tab of each user group.
App-level Permissions:β
- Permissions:
- View: Allows users to view and use the specific apps.
- Edit: Allows users to modify the specific apps in the app builder.
- Resources: Customize what apps that users can access.
- All Apps: Allows users to access all apps.
- Custom: Allows users to access specific apps.
Data Source Permissions:β
- Permissions:
- Configure: Allows users to configure the specific data source.
- View: Allows users to view the specific data source.
- Resources: Customize what data sources that users can access.
- All Data Sources: Allows users to access all data sources.
- Custom: Allows users to access specific data sources.
Inheritance and Overridesβ
- Users inherit permissions from their assigned role and any custom groups they belong to.
- Adding users to custom groups with higher permissions than their current role will automatically upgrade their user role to match the higher access level.
- If a userβs role is downgraded to one with lower permissions, they will automatically be removed from any custom groups that provided higher access than their new role allows.
- When a user belongs to multiple groups, they receive the highest level of permission granted by any of their groups.