This integration operates at the Databricks account level, not a single workspace. Once connected, Oleria automatically discovers and syncs every workspace in the account - see Set up the integration for the three required permission grants, plus an optional fourth that unlocks real audit-log activity.
What Oleria discovers
Oleria uses this data for dormant account detection and access reviews, synced across every workspace in the account on Oleria’s regular sync schedule, not just the workspace you connect from.
Prerequisites
- Administrator permission on the Oleria workspace
- Access to your Databricks account console to create a service principal
- Your Databricks account ID (found in the account console, under your username)
- To enable real audit-log activity (optional): a SQL warehouse per region your account has workspaces in
Databricks separates account-level admin from workspace-level admin. This integration’s service principal needs all three:
account_admin at the account level, explicit access assigned to every individual workspace it should read, and metastore admin on each metastore for full Unity Catalog coverage. Missing any one of these is a common setup mistake - see the steps below.Set up the integration
1
Create a service principal and OAuth secret
In the Databricks account console, go to User management -> Service principals and add a new service principal (for example,
oleria-connector). Open it, go to the Secrets tab, and select Generate secret. Copy the Client ID and Secret immediately - Databricks shows the secret only once.2
Grant account_admin
Still in the account console, open the service principal’s Roles tab and grant it Account admin. This is required for account-wide operations - enumerating every workspace, real account-level user and group listings, service principal credential inventory, and impersonation rule sets.
3
Assign the service principal to every workspace
In the account console, go to Workspaces, select a workspace, open its Permissions tab, and add the service principal with Admin permission (not User). Repeat for every workspace in the account you want Oleria to see.
4
Grant metastore admin
In the account console, go to Catalog, open each metastore your workspaces use, and set the service principal (or a group that contains it) as Metastore admin. Repeat for every metastore - an account with workspaces in multiple regions typically has one metastore per region.
5
Enable audit-log activity (optional)
Databricks’ audit log (
system.access.audit) is only queryable through a SQL warehouse, and Oleria never picks one on its own - you choose it. In each region your account has workspaces in, pick a SQL warehouse in one workspace and, in that workspace, grant the service principal Can use on it (SQL Warehouses -> the warehouse -> Permissions). Make sure the access system schema is enabled on that region’s metastore, then grant the service principal USE CATALOG on system, USE SCHEMA on system.access, and SELECT on system.access.audit - metastore admin alone may not include these. The audit table only covers the region of the workspace you query it from. You’ll enter each warehouse’s ID in the connection form in the next section.This step is optional. Skip it and Oleria’s Activity data comes from job-run history only, the same as before. A wrong warehouse ID, a missing grant, or an unenabled
access schema is logged and Oleria falls back to job-run history rather than failing the connection - on some account tiers, enabling the access schema is a Databricks-only action your admin can’t self-serve, so contact Databricks support if the grants above don’t take effect. Each sync starts the warehouse if it’s stopped, which uses Databricks compute - a serverless warehouse with a short auto-stop keeps this small.Connect Databricks to Oleria
1
Open the integration
Log in to your Oleria workspace and navigate to Integrations -> Databricks -> Connect.
2
Complete the connection form
3
Complete the connection
Oleria validates both the workspace-scoped and account-scoped credentials, enumerates every workspace in the account, discovers roles, resources, and access, and begins the first sync.
Verify the integration
Confirm the new instance appears on the Connected tab of your Oleria Integrations page with a status of Healthy. Oleria syncs users, groups, Unity Catalog resources, workspace objects, and access grants from every workspace in the account on its regular sync schedule once the initial sync completes.Remediation actions
Workspace group actions apply to workspace-local groups only, since Databricks’ group-membership API is workspace-scoped. An account-level group assigned to a workspace shows up in that workspace’s group listing, but Oleria rejects any add or remove action against it at validation rather than letting it fail against Databricks.
Databricks doesn’t offer a read-only account-level role, so discovery and remediation actions both use the same service principal and the grants you set up above -
account_admin, workspace Admin, and metastore admin. Oleria only makes changes in Databricks when you run a remediation action.Known limitations
- Audit-log activity is opt-in and has a gap window: without a SQL warehouse configured (see Set up the integration), Activity is job-run history only - a user who works only through the browser under SSO, holds no personal access token, and never triggers a job has no activity signal from this integration. With a warehouse configured, Oleria reads
system.access.auditabout an hour behind real time so late-arriving rows are still caught, but a row that lands more than roughly an hour after its event is still missed - Databricks’ audit table has no field Oleria can use to resume from exactly where it left off. The audit table is also regional: give Oleria a warehouse in every region your account has workspaces in, or that region’s workspace activity isn’t read (account-level activity is still captured once, from the home region). - No workspace-object permission revocation: Unity Catalog privileges can be revoked as a remediation action, but revoking a workspace-object permission - on a cluster, job, notebook, cluster policy, Databricks App, model-serving endpoint, or similar - is not yet available as a remediation action.
- No grant actions: Oleria does not support granting a Unity Catalog privilege, granting a workspace-object permission, or granting a Service Principal User/Manager role through this integration - only the corresponding revoke, disable, and remove actions are available.
- Impersonation and role-grant data may be incomplete: account-level impersonation and role-grant rule sets (Service Principal User/Manager, Group Manager,
group.assumer, and the other account-wide roles) are read defensively - if Databricks returns a temporary error for a given tenant, Oleria logs it and continues rather than failing the sync, which means these relationships may be under-reported on some tenants. - Job-run activity only credits whoever submitted a one-time run, or a job’s service principal: a one-time run submitted through
runs/submit(Airflow, ADF, the CLI, or the SDK) is credited to whoever submitted it, human or service principal. Any other job run is credited to the job’s run-as identity only when that’s a service principal, and to no one otherwise - not even the job’s creator - because Databricks’ Jobs API doesn’t say who triggered a run. With a SQL warehouse configured, a manual Run now or aruns/submitcall also produces its own audit-log activity crediting whoever actually triggered it - so for those two cases the signal exists either way, just as a separate activity record when it comes from the audit log. - Some OAuth app integration details aren’t visible: Oleria can’t see a custom integration’s client secret value (Databricks has no API that returns it), a Databricks-published integration’s OAuth scopes, or which specific users have signed in through an integration - only an aggregate last-sign-in date, and only with a SQL warehouse configured.
- Delta Sharing coverage is outbound only: Oleria discovers shares your account provides and the recipients granted access to them, but not shares your account receives from an external provider (foreign catalogs).
- Some resource types aren’t discovered yet: vector search endpoints, instance pools, SQL queries and alerts, and Databricks’ own foundation-model serving endpoints (every workspace user can already query these, and Databricks exposes no per-customer ACL for them).

