Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Important
Lakebase Provisioned is the original Lakebase offering that uses provisioned compute you scale manually. For supported regions, see Region availability. For the latest version of Lakebase, with autoscaling compute, scale-to-zero, branching, and instant restore, see Lakebase Autoscaling.
New Lakebase instances will be created as Autoscaling projects. Rollout starts March 12, 2026. For details, see Autoscaling by default.
This page explains the Postgres roles that you can use to govern access to a Azure Databricks Lakebase database instance, including their privileges, purpose, and configuration.
Pre-created roles
After a database instance is created, Azure Databricks automatically creates a Postgres role for the user who created the instance.
| Role | Description | Inherited privileges |
|---|---|---|
<instance_owner_role> |
The Azure Databricks identity of the instance creator (for example, myuser@databricks.com). This role can log in and administer the instance. |
Member of databricks_superuser |
databricks_superuser |
An internal administrative role. Used to configure and manage access across the instance. This role is granted broad privileges and should not be used in automated applications. | Inherits from pg_read_all_data, pg_write_all_data, and pg_monitor. |
Role capabilities
| Role | LOGIN | CREATEDB | CREATEROLE | BYPASSRLS | Other privileges |
|---|---|---|---|---|---|
databricks_superuser |
NOLOGIN | — | — | — |
|
<instance_owner_role> |
✅ | ✅ | ✅ | ✅ |
|
System roles created by Azure Databricks
In addition to the databricks_superuser and admin roles, Azure Databricks creates system roles required for internal services. These roles are assigned the minimum privileges required for functionality. Modifying them can impact instance behavior.
| Role | Purpose |
|---|---|
databricks_control_plane |
Used by internal Databricks components for management operations |
databricks_monitor |
Used by internal metrics collection services |
databricks_writer_<dbid> |
Per-database role used to create and manage synced tables |
databricks_reader_<dbid> |
Per-database role used to read tables registered in Unity Catalog |
databricks_gateway |
Used for internal connections for managed data serving services |
To learn how roles, privileges, and role memberships work in Postgres, use the following resources in the Postgres documentation:
Create Postgres roles for Azure Databricks identities
A Postgres role for the database instance owner's Azure Databricks identity is created automatically. To allow other Azure Databricks identities to log in, create additional roles using the UI or PostgreSQL queries.
Note
Role management actions are governed by the permissions granted on the database instance. Ensure you have the appropriate level of access before attempting to manage roles.
UI
Users with CAN USE permission can view existing roles or add a role for their own identity. Users with CAN MANAGE can create roles for other Azure Databricks identities and drop any role.
- Click
Apps in the top right corner and select Lakebase Postgres.
- Click Provisioned to open the Provisioned instances page.
- Select your database instance.
- Select the Roles page in the Lakebase App sidebar.
- Click Add role.
- From the Principal drop-down menu, select a user, group, or service principal.
- (Optional) Select System Roles to grant
databricks_superuser(read and write access to all data). - (Optional) Select System Attributes to grant
CREATEDB,CREATEROLE, orBYPASSRLS. - Click Add.
PostgreSQL
Requirements:
- You must have
CREATEandCREATE ROLEpermissions on the database. - You must authenticate as a Azure Databricks identity. Native Postgres authenticated sessions cannot create Azure Databricks roles.
- Your authentication token must be valid.
Use the databricks_create_role function from the databricks_auth extension:
CREATE EXTENSION IF NOT EXISTS databricks_auth;
-- Databricks user
SELECT databricks_create_role('myuser@databricks.com', 'USER');
-- Service principal (use application ID)
SELECT databricks_create_role('8c01cfb1-62c9-4a09-88a8-e195f4b01b08', 'SERVICE_PRINCIPAL');
-- Group
SELECT databricks_create_role('My Group 123', 'GROUP');
New roles only have privileges granted to PUBLIC. Use standard Postgres GRANT and REVOKE commands to add permissions.
View Azure Databricks identity roles
UI
You can see which users, groups, and service principals have a corresponding Postgres role on the Roles page.
- Click
Apps in the top right corner and select Lakebase Postgres.
- Click Provisioned to open the Provisioned instances page.
- Select your database instance.
- Select the Roles page in the Lakebase App sidebar.
PostgreSQL
Use the databricks_list_roles function from the databricks_auth extension to list all Azure Databricks identity roles — users, service principals, and groups added to authenticate as Postgres roles.
CREATE EXTENSION IF NOT EXISTS databricks_auth;
SELECT * from databricks_list_roles;
Drop a Postgres role
UI
- Click
Apps in the top right corner and select Lakebase Postgres.
- Click Provisioned to open the Provisioned instances page.
- Select your database instance.
- Select the Roles page in the Lakebase App sidebar.
- For the role you want to drop, click
and click Drop.
- (Optional) Turn on Reassign owned objects to reassign owned objects before dropping.
- Click Confirm.
PostgreSQL
Drop a Azure Databricks identity-based role the same as any Postgres role. See the PostgreSQL documentation on dropping roles.