Required permissions for workspace creation
This page explains the permissions required for creating a classic Databricks workspace on Google Cloud.
On Google Cloud, each workspace runs inside a customer-owned workspace project. Databricks uses the workspace creator's credentials to validate settings, grant permissions, enable required services, and provision the workspace. A Databricks account admin must have the required permissions on the workspace project to successfully create a workspace.
Additionally, during workspace creation, Databricks creates a new service account with the minimal permissions needed to manage the workspace. Databricks uses the credentials of the workspace creator to grant permissions to the service account on the workspace project. For a list of permissions granted to the service account, see Required permissions for the workspace service account.
Required account admin permissions
The following is the minimal set of permissions required on the workspace and network projects. Databricks recommends that the workspace creator have the roles/owner role on both the workspace and VPC projects.
Workspace creation typically takes less than a minute to complete. Databricks won't retain or use these permissions after the workspace creation.
Google permission | Purpose | Required for workspace project | Required for VPC project | Use case |
|---|---|---|---|---|
| Create the custom role. | ✓ | ✓ | Create and manage a custom role for granting permissions to the workspace's service account. |
| Delete the custom role. | ✓ | Create and manage a custom role for granting permissions to the workspace's service account. | |
| Get the custom role. | ✓ | ✓ | Create and manage a custom role for granting permissions to the workspace's service account. |
| Update the custom role. | ✓ | ✓ | Create and manage a custom role for granting permissions to the workspace's service account. |
| Create the Databricks-compute service account. | ✓ | Create the Databricks-compute service account used by all clusters in the workspace that do not have a custom service account attached. This service account has minimal permissions, limited to logging and metrics. | |
| Get the Databricks-compute service account. | ✓ | Used to check if the required Databricks-compute service account used by all clusters in the workspace exists. | |
| Get IAM policy. | ✓ | Grant workspace service account the Service Account User role on Google Compute Engine (GCE) service account for launching clusters. | |
| Set IAM policy. | ✓ | Grant workspace service account the Service Account User role on Google Compute Engine (GCE) service account for launching clusters. | |
| Get a project number from its project ID. | ✓ | ✓ | Get basic information about the workspace project. |
| Get IAM policy. | ✓ | ✓ | Get basic information about the workspace project. |
| Set IAM policy. | ✓ | Get basic information about the workspace project. | |
| Validate whether the customer project has enabled the required Google Cloud APIs. | ✓ | ✓ | Enable Google Cloud services needed for Databricks workloads. |
| Validate whether the customer project has enabled the required Google Cloud APIs. | ✓ | ✓ | Enable Google Cloud services needed for Databricks workloads. |
| Enable the required Google Cloud APIs on the project if they are not already enabled. | ✓ | Enable Google Cloud services needed for Databricks workloads. | |
| Validate the existence of a VPC network. | ✓ | Validate network resources for the customer-provided VPC network, which might belong to a project other than the workspace project. | |
| Update the firewall policy on VPC network. | ✓ | Updates the firewall policy on the customer-provided VPC network, which might belong to a project other than the workspace project. | |
| Get the host project of a VPC network. | ✓ | Validate network resources for the customer-provided VPC network, which might belong to a project other than the workspace project. | |
| Validate subnets of a VPC network. | ✓ | Validate network resources for the customer-provided VPC network, which might belong to a project other than the workspace project. Required if you use a customer-managed VPC. | |
| Get the IAM policy on the VPC subnet. | ✓ | Validate the grants on the subnetwork for the customer-provided VPC network, which might belong to a project other than the workspace project. Required if you use a customer-managed VPC. | |
| Set the IAM policy on the VPC subnet. | ✓ | Sets the IAM policy on the subnetwork for the customer-provided VPC network, which might belong to a project other than the workspace project. Required if you use a customer-managed VPC. | |
| List forwarding rules for Private Service Connect. | ✓ | Required if you enable Private Service Connect. | |
| Get forwarding rules for Private Service Connect. | ✓ | Required if you enable Private Service Connect. | |
| Get a firewall rule. | ✓ | Gets the required firewall rule in the customer-provided VPC network to check if it exists. | |
| Create a firewall rule. | ✓ | Creates a firewall rule in the customer-provided VPC network, which might belong to a project other than the workspace project. | |
| Get the access control policy for a Cloud KMS resource. | ✓ | Required on the Cloud KMS key if you enable customer-managed keys. | |
| Set the access control policy on a Cloud KMS resource. | ✓ | Required on the Cloud KMS key if you enable customer-managed keys. |