Background
Traditional local SQL clients like DBeaver and Navicat carries security limitations that Bytebase’s centralized approach solves:Test vs Production Setup
Below we demonstrate a two environment setup, one for test and one for production. The principle is to provide maximum security for production while keeping developer productivity for test.DDL and DML Execution
Statement execution mode controls whether users can run DDL and DML directly in the SQL Editor at the environment level.
For the production environment, we disable both DDL and DML execution and require all changes to go through the approval workflow.
Fine-Grained Query
Users need to be granted explicit permissions to query the data from SQL Editor. The most straightforward way is to grant theSQL Editor User role to the user inside
the project.
- Specify
SQL Editor Useras the role. - Specify a reason.
- Grant the access to all databases in the project or fine-grained to specific databases, schemas, and tables.
- Specify an expiration date.

Just-In-Time Access
You may disallow any production access by default and only allow temporary access on-demand. Users can this request temporary access via the SQL Editor. You will configure the custom approval policy to designate the approvers.Audit Logging
For data privacy reasons, Bytebase does not log the actual data in the query result.
- Dashboard
- Sample Request Log
- Sample Response Log

Summary
Below is a summary of the access control settings for the test and production environments.
You can extend the solution by exploring the following features:
- Create user groups and enable directory sync to automate the role assignment.
- Configure data masking to mask sensitive data.
- Use Terraform to codify all the settings.



