Databricks User Roles

Published
Length
3 min read

Luis Felipe Dias

All posts

You set up databricks user roles by assigning account, workspace, and data permissions to groups. These roles control who can manage billing, start compute clusters, and query data tables. Most engineering teams sync groups from an identity provider and attach broad permissions. When teams assign wide roles, users gain standing privileges across sensitive production tables. A single mistake or stolen token can expose millions of customer records. How databricks user roles work across layers T

User Provisioning (SCIM) + Lambda Execution Roles: the complete guide

Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.

Free white paper. No spam. Unsubscribe anytime.

You set up databricks user roles by assigning account, workspace, and data permissions to groups. These roles control who can manage billing, start compute clusters, and query data tables. Most engineering teams sync groups from an identity provider and attach broad permissions. When teams assign wide roles, users gain standing privileges across sensitive production tables. A single mistake or stolen token can expose millions of customer records.

How databricks user roles work across layers

The platform splits permissions into three main layers for users and groups. The top layer is the account level, which controls billing, identity sync, and workspace creation. Account admins manage the whole cloud setup and assign workspace admins to specific teams.

The second layer is the workspace level, where daily data work happens. Workspace admins control who can build clusters, run jobs, and use shared notebooks. Standard users in a workspace receive entitlements that allow SQL queries or cluster creation. Without these entitlements, a user can log in but cannot run compute tasks.

The third layer governs the data itself through a central catalog structure. Catalog admins grant read or write privileges on catalogs, schemas, and specific tables. Teams map identity provider groups to these catalog rules to manage table permissions. A user needs both workspace compute rights and catalog privileges to read a table. Service principals follow this same three-layer model to run automated data pipelines.

Why static role assignments create security gaps

Native roles do a good job of sorting users into broad job functions. They stop finance analysts from spinning up huge clusters or deleting core engineering pipelines. They also help teams separate development workspaces from production data catalogs.

Still, static roles only decide who can log in and reach a data object. Once a user has read rights on a table, every query runs unchecked. The role cannot inspect the actual SQL statement a user sends in flight. A support engineer who needs to check one order can dump the whole table.

Static roles also make it hard to protect sensitive fields inside shared tables. Teams must build and maintain complex dynamic views to hide emails or card numbers. As table counts grow into the thousands, role and view sprawl becomes unmanageable. Admins often grant wide group roles just to keep daily data projects moving. When an engineer leaves a project, those broad permissions often stay active for months.

User Provisioning (SCIM) + Lambda Execution Roles: architecture patterns and best practices

Continue reading? Get the full guide.

Free. No spam. Unsubscribe anytime.

Best practices for managing workspace and catalog permissions

Start by assigning all permissions to groups rather than individual user accounts. Sync your groups from your identity provider so role changes happen in one place. Keep the number of account admins and workspace admins as small as possible.

Separate human users from automated jobs by using service principals for all scheduled runs. Give each team a dedicated schema so they do not share broad catalog rights. Review group memberships every quarter to remove old privileges that users no longer need. Pair these clean group habits with runtime controls to inspect queries and mask data.

Govern statements and responses across databases and APIs

Good config and scoped roles are needed setup. They do not check single queries in flight or mask sensitive fields in returned rows. Across Postgres, MySQL, SQL Server, MongoDB, ClickHouse, Kubernetes APIs, SSH, and internal HTTP endpoints, hoop.dev runs beside each supported service as an open-source proxy, a sidecar for your database or API.

First, hoop.dev guardrails block banned queries before they run. Then hoop.dev data masking rewrites matched sensitive values in responses in memory. The audit trail records every statement and verdict per resource. Furthermore, hoop.dev holds SOC 2 Type II and is open source on GitHub.

Frequently asked questions

What is the difference between an account admin and a workspace admin?

An account admin manages cloud billing, identity sync, and central catalogs across the company. A workspace admin only manages users, clusters, and jobs inside one specific workspace.

Should I assign permissions to individual users or groups?

Always assign permissions to groups rather than individual users to avoid permission sprawl. Group rules let you add or remove team members through your central identity provider.

How do databricks user roles handle sensitive data like emails or card numbers?

Standard roles grant or deny table reads, so they do not filter specific columns alone. To protect emails, phone numbers, or card numbers, you need column masks or runtime masking.

Short role checks help teams work fast. Simple rules make each review clear. Good logs keep every team safe. Scoped keys stop bad changes early.

Save the open-source gateway.

hoop is MIT-licensed infrastructure for controlling how AI agents reach production data. Star hoophq/hoop so you can inspect it, deploy it, or share it when your team starts governing agent access.