Requirements
definity monitors Databricks serverless jobs using a read-only connection to your workspace. Setup is done once and covers every job in the workspace.
There is no
- External agent installation in your environment
- Pipeline code change
- Per-job configuration
Three Databricks roles are involved – described in the steps below:
Prerequisites – account admin
- The
system.queryandsystem.accessschemas are enabled. - Serverless compute is available for the workspace: a serverless-enabled region, terms accepted, Unity Catalog.
1. Create a service principal – workspace admin
Create a Databricks service principal for definity and generate OAuth credentials for it: a client ID and a client secret. Databricks shows the secret once, at creation.
definity authenticates as this principal, so access does not depend on an individual user. The principal only reads – it never writes data, starts or edits jobs, or creates compute.
2. Grant read-only access – metastore admin
Run the grants as the metastore owner or an account admin. A workspace admin
cannot grant on the system catalog; it fails with
User does not have MANAGE on Schema 'system.lakeflow'.
Replace <principal> with the principal's application ID – the UUID, not the
numeric id:
GRANT USE CATALOG ON CATALOG system TO `<principal>`;
GRANT USE SCHEMA, SELECT ON SCHEMA system.lakeflow TO `<principal>`;
GRANT USE SCHEMA, SELECT ON SCHEMA system.query TO `<principal>`;
GRANT USE SCHEMA, SELECT ON SCHEMA system.access TO `<principal>`;
GRANT USE SCHEMA, SELECT ON SCHEMA system.compute TO `<principal>`;
-- once per catalog your pipelines write to
GRANT BROWSE ON CATALOG <catalog> TO `<principal>`;
| Grant | Covers |
|---|---|
system.lakeflow | Job, run and task structure, timings and status. |
system.query | SQL statement text, I/O and duration. |
system.access | Table- and path-level lineage. |
system.compute | Compute type per task. |
BROWSE on a catalog | Dataset column schemas via information_schema – metadata only, no data access. |
BROWSE is the least-privilege grant for reading a catalog's information_schema.
Datasets addressed by path (s3://…) get lineage without column schemas.
3. Grant the Workspace access entitlement – workspace admin
definity's queries run on serverless compute, which requires this entitlement. A service principal created through the workspace UI does not get it by default.
- Click your username in the top-right corner, then Settings.
- Open the Identity and access tab.
- Next to Service principals, click Manage.
- Click the principal – add it with Add service principal if it is not listed.
- Turn on the Workspace access toggle.
No other entitlement is needed.
4. Connection details
Send definity:
| Value | Notes |
|---|---|
| Workspace URL | https://<your-workspace>.cloud.databricks.com |
| Client ID | The service principal's application ID (a UUID). |
| Client secret | The OAuth secret from step 1. |
| SQL warehouse ID | Optional – see below. |
SQL warehouse. Queries run on serverless compute by default and need no warehouse.
Provide a warehouse ID only if serverless compute is unavailable in the workspace, or
if you prefer the queries to run on a warehouse. Grant the principal CAN_USE on it,
or collection fails with
PERMISSION_DENIED: You do not have permission to use the SQL Warehouse.
5. Network access
definity reaches your workspace over HTTPS: the REST APIs and the serverless endpoint, or the warehouse endpoint if you provide a warehouse. If the workspace enforces an IP access list, allowlist definity's egress IP ranges, which definity provides. No inbound access to your network is required.
Coverage
- Covered here – serverless jobs.
- Covered using a different agent – classic (cluster) compute and SQL warehouse tasks; use the Spark agent.
- Skipped – orchestration-only tasks (
run_job,if/else,for_each), which carry no work of their own.