Platform administration cheat sheet
This article aims to provide clear and opinionated guidance for account and workspace admins on recommended best practices. The following practices should be implemented by account or workspace admins to help optimize cost, observability, data governance, and security in their Azure Databricks account.
For in-depth security best practices, see this PDF: Azure Databricks Security Best Practices and Threat Model.
Best practice | Impact | Docs |
---|---|---|
Enable Unity Catalog | Data governance: Unity Catalog provides centralized access control, auditing, lineage, and data discovery capabilities across Azure Databricks workspaces. | - Set up and manage Unity Catalog |
Apply usage tags | Observability: Have discrete mapping of usage to relevant categories. Assign and enforce tags for your organization’s business units, specific projects, and any other users or groups. | - Usage dashboards |
Use cluster policies | Cost: Control costs with auto-termination (for all-purpose clusters), max cluster sizes, and instance type restrictions. Observability: Set custom_tags in your cluster policy to enforce tagging.Security: Restrict cluster access mode to only allow users to create Unity Catalog-enabled clusters to enforce data permissions. |
- Create and manage cluster policies - Monitor cluster usage with tags |
Use Service Principals to connect to third-party software | Security: A service principal is a Databricks identity type that allows third-party services to authenticate directly to Databricks, not through an individual user’s credentials. If something happens to an individual user’s credentials, the third-party service won’t be interrupted. |
- Create and manage service principals |
Set up automatic identity management | Security: Instead of adding users and groups to Azure Databricks manually, integrate directly with Microsoft Entra ID to automate user provisioning and deprovisioning. When a user is removed from Microsoft Entra ID, they are automatically removed from Databricks too. | - Sync users and groups automatically |
Manage access control with account-level groups | Data governance: Create account-level groups so you can bulk control access to workspaces, resources, and data. This saves you from having to grant all users access to everything or grant individual users specific permissions. You can also sync groups from Microsoft Entra ID to Databricks groups. |
- Manage groups - Control access to resources - Sync groups from MS Entra ID to Databricks - Data governance guide |
Set up IP access for IP whitelisting | Security: IP access lists prevent users from accessing Azure Databricks resources in unsecured networks. Accessing a cloud service from an unsecured network can pose security risks to an enterprise, especially when the user may have authorized access to sensitive or personal data Make sure to set up IP access lists for your account console and workspaces. |
- Create IP access lists for workspaces - Create IP access lists for the account console |
Use Databricks Secrets or a cloud provider secrets manager | Security: Using Databricks secrets allows you to securely store credentials for external data sources. Instead of entering credentials directly into a notebook, you can simply reference a secret to authenticate to a data source. | - Manage Databricks secrets |
Set expiration dates on personal access tokens (PATs) | Security: Workspace admins can manage PATs for users, groups, and service principals. Setting expiration dates for PATs reduces the risk of lost tokens or long-lasting tokens that could lead to data exfiltration from the workspace. | - Manage personal access tokens |
Use budget alerts to monitor usage | Observability: Monitor usage based on budgets important to your organization. Budget examples include: project, migration, BU, and quarterly or annual budgets. | - Create and monitor budgets |
Use system tables to monitor account usage | Observability: System tables are a Databricks-hosted analytical store of your account’s operational data, including audit logs, data lineage, and billable usage. You can use system tables for observability across your account. | - Monitor usage with system tables |