Skip to main content

dbt RBAC and UI authentication

dbt-Workbench includes optional dbt UI authentication with JWT tokens and role-based access control. Authentication is disabled by default for local development and can be enabled in production deployments.

Authentication modes​

SettingBehavior
AUTH_ENABLED=false (default)No login required, all users have Admin access
AUTH_ENABLED=trueJWT-based authentication with username/password

Authentication endpoints (when enabled)​

EndpointMethodDescription
/auth/loginPOSTLogin with username/password, returns JWT tokens
/auth/refreshPOSTRefresh access token using refresh token
/auth/logoutPOSTLogout (client discards tokens)
/auth/meGETGet current user information
/auth/switch-workspacePOSTSwitch active workspace

Roles & permissions​

RoleLevelPermissions
Viewer0Read-only access to all data
Developer1+ Create/edit environments, schedules, run dbt commands
Admin2+ Manage users, plugins, workspaces, global settings

RBAC by feature​

FeatureViewerDeveloperAdmin
View models, lineage, catalog✅✅✅
View runs and history✅✅✅
Execute dbt commands❌✅✅
Create/edit environments❌✅✅
Create/edit schedules❌✅✅
Enable/disable plugins❌❌✅
Manage users❌❌✅
Manage workspaces❌❌✅

Production checklist​

  • Set AUTH_ENABLED=true and configure JWT_SECRET_KEY.
  • Rotate default secrets and store them in a secure secret manager.
  • Enforce password policy settings for minimum length and complexity.
  • Validate RBAC assignments for Viewer/Developer/Admin roles.
  • Audit workspace access and confirm strict path scoping is enforced.