Cross-workspace access visibility for Databricks — audit who can reach what across every workspace in your account.
Project description
databricks-access-audit
Databricks gives you no native way to answer "what can this identity access across all my workspaces?" — this tool does.
The Account Console shows you one workspace at a time. INFORMATION_SCHEMA shows you one metastore at a time. Neither resolves nested group memberships. Neither tells you whether a personal grant duplicates what the group already provides.
databricks-access-audit answers cross-workspace access questions in one command, across every workspace in your account at once.
Five modes
| Mode | Command | Question it answers |
|---|---|---|
| Principal audit | --principal "alice@company.com" |
What can this user / SP / group access across every workspace? |
| Group audit | --group "data-engineers" |
What does this group access? Who has redundant personal grants? |
| Resource audit | --resource "main" |
Who has access to this catalog / schema / table / workspace? |
| Compare | --compare "alice@company.com" "bob@company.com" |
Which groups does Alice have that Bob doesn't? |
| Access provisioning | --clone-from "alice@company.com" --to "bob@company.com" |
How do I give Bob the same access as Alice? |
Install
pip install "databricks-access-audit[sdk]"
Add credentials to ~/.databrickscfg and run:
databricks-access-audit --principal "alice@company.com"
databricks-access-audit --group "data-engineers" --revoke-script
databricks-access-audit --resource "main" --output html > main_access.html
Documentation
https://lukaleet.github.io/databricks-access-audit
- Getting Started — install, credentials, first audit
- Capabilities — how each feature works
- Use Cases — offboarding, onboarding, access review, incident response, compliance
- CLI Reference — every flag documented
- Troubleshooting — common issues and fixes
Tested environments
Developed and live-tested against Azure Databricks with Unity Catalog. AWS and GCP code paths exist but haven't been confirmed against real accounts yet.
If you run this on AWS, GCP, a large multi-workspace account, or with Okta/AWS SSO as your IdP — open an issue and let us know what works and what doesn't. Every environment report improves the tool.
Development
pip install -e ".[sdk,dev]"
pytest # 570 tests, no real Databricks connection required
ruff check .
License
Apache 2.0 — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file databricks_access_audit-0.20.0.tar.gz.
File metadata
- Download URL: databricks_access_audit-0.20.0.tar.gz
- Upload date:
- Size: 146.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7faeaddbb24f13530d6c76e9245d823a168ebfbfec2363b2c00afc4542e7bad
|
|
| MD5 |
02537de83707c40e3f860e5740089623
|
|
| BLAKE2b-256 |
09826c621ac2c410185c5ea26502cc91d3838e0ecc76c2ed47fa6108876c7cc2
|
Provenance
The following attestation bundles were made for databricks_access_audit-0.20.0.tar.gz:
Publisher:
publish.yml on lukaleet/databricks-access-audit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
databricks_access_audit-0.20.0.tar.gz -
Subject digest:
d7faeaddbb24f13530d6c76e9245d823a168ebfbfec2363b2c00afc4542e7bad - Sigstore transparency entry: 1484751626
- Sigstore integration time:
-
Permalink:
lukaleet/databricks-access-audit@1e91e57615687f1eebac042bda414d402dfaf777 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/lukaleet
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1e91e57615687f1eebac042bda414d402dfaf777 -
Trigger Event:
push
-
Statement type:
File details
Details for the file databricks_access_audit-0.20.0-py3-none-any.whl.
File metadata
- Download URL: databricks_access_audit-0.20.0-py3-none-any.whl
- Upload date:
- Size: 111.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d2d701d2e995540ddca892479f3bf23322068609ad56308864cf6ba9eec7ce8
|
|
| MD5 |
c5e39aa3a5801bb56115606433ecd43c
|
|
| BLAKE2b-256 |
59ce6ee48e4eebac959ae35d3aefde5f92b06c8a4c4b8f5e6a383fca1576ea68
|
Provenance
The following attestation bundles were made for databricks_access_audit-0.20.0-py3-none-any.whl:
Publisher:
publish.yml on lukaleet/databricks-access-audit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
databricks_access_audit-0.20.0-py3-none-any.whl -
Subject digest:
6d2d701d2e995540ddca892479f3bf23322068609ad56308864cf6ba9eec7ce8 - Sigstore transparency entry: 1484751709
- Sigstore integration time:
-
Permalink:
lukaleet/databricks-access-audit@1e91e57615687f1eebac042bda414d402dfaf777 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/lukaleet
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1e91e57615687f1eebac042bda414d402dfaf777 -
Trigger Event:
push
-
Statement type: