| name | databricks-security-basics |
| description | Apply Databricks security best practices for secrets and access control.
Use when securing API tokens, implementing least privilege access,
or auditing Databricks security configuration.
Trigger with phrases like "databricks security", "databricks secrets",
"secure databricks", "databricks token security", "databricks scopes".
|
| allowed-tools | Read, Write, Grep, Bash(databricks:*) |
| version | 1.0.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| compatible-with | claude-code, codex, openclaw |
| tags | ["saas","databricks","api","security","audit"] |
Databricks Security Basics
Overview
Implement Databricks security: secret scopes for credential storage, token rotation, least-privilege access via Unity Catalog grants, and security auditing via system tables. Secrets API uses PUT /api/2.0/secrets/put and values are automatically redacted in notebook output.
Prerequisites
- Databricks CLI configured
- Workspace admin access (for secret scope creation)
- Unity Catalog enabled
Instructions
Step 1: Create and Manage Secret Scopes
databricks secrets create-scope my-app-secrets
databricks secrets create-scope azure-kv \
--scope-backend-type AZURE_KEYVAULT \
--resource-id "/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.KeyVault/vaults/<vault>" \
--dns-name "https://<vault>.vault.azure.net/"
databricks secrets list-scopes
Step 2: Store and Access Secrets
databricks secrets put-secret my-app-secrets db-password
databricks secrets put-secret my-app-secrets api-key --string-value "sk_live_abc123"
databricks secrets list-secrets my-app-secrets
db_password = dbutils.secrets.get(scope="my-app-secrets", key="db-password")
api_key = dbutils.secrets.get(scope="my-app-secrets", key="api-key")
print(f"Password: {db_password}")
jdbc_url = f"jdbc:postgresql://host:5432/db?user=app&password={db_password}"
df = spark.read.format().option(, jdbc_url).load()