published on Monday, Mar 9, 2026 by Pulumi
published on Monday, Mar 9, 2026 by Pulumi
Directly manage Service Principals that could be added to databricks.Group within workspace.
Related Resources
The following resources are often used in the same context:
- End to end workspace management guide.
- databricks.Group to manage groups in Databricks Workspace or Account Console (for AWS deployments).
- databricks.Group data to retrieve information about databricks.Group members, entitlements and instance profiles.
- databricks_group_member to attach users and groups as group members.
- databricks.Permissions to manage access control in Databricks workspace.
- databricks.SqlPermissions to manage data object access control lists in Databricks workspaces for things like tables, views, databases, and [more](https://docs.databricks.
Create ServicePrincipal Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new ServicePrincipal(name: string, args?: ServicePrincipalArgs, opts?: CustomResourceOptions);@overload
def ServicePrincipal(resource_name: str,
args: Optional[ServicePrincipalArgs] = None,
opts: Optional[ResourceOptions] = None)
@overload
def ServicePrincipal(resource_name: str,
opts: Optional[ResourceOptions] = None,
active: Optional[bool] = None,
allow_cluster_create: Optional[bool] = None,
allow_instance_pool_create: Optional[bool] = None,
application_id: Optional[str] = None,
databricks_sql_access: Optional[bool] = None,
display_name: Optional[str] = None,
workspace_access: Optional[bool] = None)func NewServicePrincipal(ctx *Context, name string, args *ServicePrincipalArgs, opts ...ResourceOption) (*ServicePrincipal, error)public ServicePrincipal(string name, ServicePrincipalArgs? args = null, CustomResourceOptions? opts = null)
public ServicePrincipal(String name, ServicePrincipalArgs args)
public ServicePrincipal(String name, ServicePrincipalArgs args, CustomResourceOptions options)
type: databricks:ServicePrincipal
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args ServicePrincipalArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args ServicePrincipalArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ServicePrincipalArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ServicePrincipalArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ServicePrincipalArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var servicePrincipalResource = new Databricks.ServicePrincipal("servicePrincipalResource", new()
{
Active = false,
AllowClusterCreate = false,
AllowInstancePoolCreate = false,
ApplicationId = "string",
DatabricksSqlAccess = false,
DisplayName = "string",
WorkspaceAccess = false,
});
example, err := databricks.NewServicePrincipal(ctx, "servicePrincipalResource", &databricks.ServicePrincipalArgs{
Active: pulumi.Bool(false),
AllowClusterCreate: pulumi.Bool(false),
AllowInstancePoolCreate: pulumi.Bool(false),
ApplicationId: pulumi.String("string"),
DatabricksSqlAccess: pulumi.Bool(false),
DisplayName: pulumi.String("string"),
WorkspaceAccess: pulumi.Bool(false),
})
var servicePrincipalResource = new ServicePrincipal("servicePrincipalResource", ServicePrincipalArgs.builder()
.active(false)
.allowClusterCreate(false)
.allowInstancePoolCreate(false)
.applicationId("string")
.databricksSqlAccess(false)
.displayName("string")
.workspaceAccess(false)
.build());
service_principal_resource = databricks.ServicePrincipal("servicePrincipalResource",
active=False,
allow_cluster_create=False,
allow_instance_pool_create=False,
application_id="string",
databricks_sql_access=False,
display_name="string",
workspace_access=False)
const servicePrincipalResource = new databricks.ServicePrincipal("servicePrincipalResource", {
active: false,
allowClusterCreate: false,
allowInstancePoolCreate: false,
applicationId: "string",
databricksSqlAccess: false,
displayName: "string",
workspaceAccess: false,
});
type: databricks:ServicePrincipal
properties:
active: false
allowClusterCreate: false
allowInstancePoolCreate: false
applicationId: string
databricksSqlAccess: false
displayName: string
workspaceAccess: false
ServicePrincipal Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The ServicePrincipal resource accepts the following input properties:
- Active bool
- Either service principal is active or not. True by default, but can be set to false in case of service principal deactivation with preserving service principal assets.
- Allow
Cluster boolCreate - Allow the service principal to have cluster create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and
cluster_idargument. Everyone withoutallow_cluster_createargument set, but with permission to use Cluster Policy would be able to create clusters, but within the boundaries of that specific policy. - Allow
Instance boolPool Create - Allow the service principal to have instance pool create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and instance_pool_id argument.
- Application
Id string - This is the application id of the given service principal and will be their form of access and identity. On other clouds than Azure this value is auto-generated.
- Databricks
Sql boolAccess - This is a field to allow the group to have access to Databricks SQL feature through databricks_sql_endpoint.
- Display
Name string - This is an alias for the service principal and can be the full name of the service principal.
- Workspace
Access bool - This is a field to allow the group to have access to Databricks Workspace.
- Active bool
- Either service principal is active or not. True by default, but can be set to false in case of service principal deactivation with preserving service principal assets.
- Allow
Cluster boolCreate - Allow the service principal to have cluster create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and
cluster_idargument. Everyone withoutallow_cluster_createargument set, but with permission to use Cluster Policy would be able to create clusters, but within the boundaries of that specific policy. - Allow
Instance boolPool Create - Allow the service principal to have instance pool create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and instance_pool_id argument.
- Application
Id string - This is the application id of the given service principal and will be their form of access and identity. On other clouds than Azure this value is auto-generated.
- Databricks
Sql boolAccess - This is a field to allow the group to have access to Databricks SQL feature through databricks_sql_endpoint.
- Display
Name string - This is an alias for the service principal and can be the full name of the service principal.
- Workspace
Access bool - This is a field to allow the group to have access to Databricks Workspace.
- active Boolean
- Either service principal is active or not. True by default, but can be set to false in case of service principal deactivation with preserving service principal assets.
- allow
Cluster BooleanCreate - Allow the service principal to have cluster create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and
cluster_idargument. Everyone withoutallow_cluster_createargument set, but with permission to use Cluster Policy would be able to create clusters, but within the boundaries of that specific policy. - allow
Instance BooleanPool Create - Allow the service principal to have instance pool create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and instance_pool_id argument.
- application
Id String - This is the application id of the given service principal and will be their form of access and identity. On other clouds than Azure this value is auto-generated.
- databricks
Sql BooleanAccess - This is a field to allow the group to have access to Databricks SQL feature through databricks_sql_endpoint.
- display
Name String - This is an alias for the service principal and can be the full name of the service principal.
- workspace
Access Boolean - This is a field to allow the group to have access to Databricks Workspace.
- active boolean
- Either service principal is active or not. True by default, but can be set to false in case of service principal deactivation with preserving service principal assets.
- allow
Cluster booleanCreate - Allow the service principal to have cluster create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and
cluster_idargument. Everyone withoutallow_cluster_createargument set, but with permission to use Cluster Policy would be able to create clusters, but within the boundaries of that specific policy. - allow
Instance booleanPool Create - Allow the service principal to have instance pool create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and instance_pool_id argument.
- application
Id string - This is the application id of the given service principal and will be their form of access and identity. On other clouds than Azure this value is auto-generated.
- databricks
Sql booleanAccess - This is a field to allow the group to have access to Databricks SQL feature through databricks_sql_endpoint.
- display
Name string - This is an alias for the service principal and can be the full name of the service principal.
- workspace
Access boolean - This is a field to allow the group to have access to Databricks Workspace.
- active bool
- Either service principal is active or not. True by default, but can be set to false in case of service principal deactivation with preserving service principal assets.
- allow_
cluster_ boolcreate - Allow the service principal to have cluster create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and
cluster_idargument. Everyone withoutallow_cluster_createargument set, but with permission to use Cluster Policy would be able to create clusters, but within the boundaries of that specific policy. - allow_
instance_ boolpool_ create - Allow the service principal to have instance pool create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and instance_pool_id argument.
- application_
id str - This is the application id of the given service principal and will be their form of access and identity. On other clouds than Azure this value is auto-generated.
- databricks_
sql_ boolaccess - This is a field to allow the group to have access to Databricks SQL feature through databricks_sql_endpoint.
- display_
name str - This is an alias for the service principal and can be the full name of the service principal.
- workspace_
access bool - This is a field to allow the group to have access to Databricks Workspace.
- active Boolean
- Either service principal is active or not. True by default, but can be set to false in case of service principal deactivation with preserving service principal assets.
- allow
Cluster BooleanCreate - Allow the service principal to have cluster create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and
cluster_idargument. Everyone withoutallow_cluster_createargument set, but with permission to use Cluster Policy would be able to create clusters, but within the boundaries of that specific policy. - allow
Instance BooleanPool Create - Allow the service principal to have instance pool create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and instance_pool_id argument.
- application
Id String - This is the application id of the given service principal and will be their form of access and identity. On other clouds than Azure this value is auto-generated.
- databricks
Sql BooleanAccess - This is a field to allow the group to have access to Databricks SQL feature through databricks_sql_endpoint.
- display
Name String - This is an alias for the service principal and can be the full name of the service principal.
- workspace
Access Boolean - This is a field to allow the group to have access to Databricks Workspace.
Outputs
All input properties are implicitly available as output properties. Additionally, the ServicePrincipal resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing ServicePrincipal Resource
Get an existing ServicePrincipal resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: ServicePrincipalState, opts?: CustomResourceOptions): ServicePrincipal@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
active: Optional[bool] = None,
allow_cluster_create: Optional[bool] = None,
allow_instance_pool_create: Optional[bool] = None,
application_id: Optional[str] = None,
databricks_sql_access: Optional[bool] = None,
display_name: Optional[str] = None,
workspace_access: Optional[bool] = None) -> ServicePrincipalfunc GetServicePrincipal(ctx *Context, name string, id IDInput, state *ServicePrincipalState, opts ...ResourceOption) (*ServicePrincipal, error)public static ServicePrincipal Get(string name, Input<string> id, ServicePrincipalState? state, CustomResourceOptions? opts = null)public static ServicePrincipal get(String name, Output<String> id, ServicePrincipalState state, CustomResourceOptions options)resources: _: type: databricks:ServicePrincipal get: id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Active bool
- Either service principal is active or not. True by default, but can be set to false in case of service principal deactivation with preserving service principal assets.
- Allow
Cluster boolCreate - Allow the service principal to have cluster create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and
cluster_idargument. Everyone withoutallow_cluster_createargument set, but with permission to use Cluster Policy would be able to create clusters, but within the boundaries of that specific policy. - Allow
Instance boolPool Create - Allow the service principal to have instance pool create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and instance_pool_id argument.
- Application
Id string - This is the application id of the given service principal and will be their form of access and identity. On other clouds than Azure this value is auto-generated.
- Databricks
Sql boolAccess - This is a field to allow the group to have access to Databricks SQL feature through databricks_sql_endpoint.
- Display
Name string - This is an alias for the service principal and can be the full name of the service principal.
- Workspace
Access bool - This is a field to allow the group to have access to Databricks Workspace.
- Active bool
- Either service principal is active or not. True by default, but can be set to false in case of service principal deactivation with preserving service principal assets.
- Allow
Cluster boolCreate - Allow the service principal to have cluster create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and
cluster_idargument. Everyone withoutallow_cluster_createargument set, but with permission to use Cluster Policy would be able to create clusters, but within the boundaries of that specific policy. - Allow
Instance boolPool Create - Allow the service principal to have instance pool create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and instance_pool_id argument.
- Application
Id string - This is the application id of the given service principal and will be their form of access and identity. On other clouds than Azure this value is auto-generated.
- Databricks
Sql boolAccess - This is a field to allow the group to have access to Databricks SQL feature through databricks_sql_endpoint.
- Display
Name string - This is an alias for the service principal and can be the full name of the service principal.
- Workspace
Access bool - This is a field to allow the group to have access to Databricks Workspace.
- active Boolean
- Either service principal is active or not. True by default, but can be set to false in case of service principal deactivation with preserving service principal assets.
- allow
Cluster BooleanCreate - Allow the service principal to have cluster create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and
cluster_idargument. Everyone withoutallow_cluster_createargument set, but with permission to use Cluster Policy would be able to create clusters, but within the boundaries of that specific policy. - allow
Instance BooleanPool Create - Allow the service principal to have instance pool create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and instance_pool_id argument.
- application
Id String - This is the application id of the given service principal and will be their form of access and identity. On other clouds than Azure this value is auto-generated.
- databricks
Sql BooleanAccess - This is a field to allow the group to have access to Databricks SQL feature through databricks_sql_endpoint.
- display
Name String - This is an alias for the service principal and can be the full name of the service principal.
- workspace
Access Boolean - This is a field to allow the group to have access to Databricks Workspace.
- active boolean
- Either service principal is active or not. True by default, but can be set to false in case of service principal deactivation with preserving service principal assets.
- allow
Cluster booleanCreate - Allow the service principal to have cluster create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and
cluster_idargument. Everyone withoutallow_cluster_createargument set, but with permission to use Cluster Policy would be able to create clusters, but within the boundaries of that specific policy. - allow
Instance booleanPool Create - Allow the service principal to have instance pool create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and instance_pool_id argument.
- application
Id string - This is the application id of the given service principal and will be their form of access and identity. On other clouds than Azure this value is auto-generated.
- databricks
Sql booleanAccess - This is a field to allow the group to have access to Databricks SQL feature through databricks_sql_endpoint.
- display
Name string - This is an alias for the service principal and can be the full name of the service principal.
- workspace
Access boolean - This is a field to allow the group to have access to Databricks Workspace.
- active bool
- Either service principal is active or not. True by default, but can be set to false in case of service principal deactivation with preserving service principal assets.
- allow_
cluster_ boolcreate - Allow the service principal to have cluster create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and
cluster_idargument. Everyone withoutallow_cluster_createargument set, but with permission to use Cluster Policy would be able to create clusters, but within the boundaries of that specific policy. - allow_
instance_ boolpool_ create - Allow the service principal to have instance pool create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and instance_pool_id argument.
- application_
id str - This is the application id of the given service principal and will be their form of access and identity. On other clouds than Azure this value is auto-generated.
- databricks_
sql_ boolaccess - This is a field to allow the group to have access to Databricks SQL feature through databricks_sql_endpoint.
- display_
name str - This is an alias for the service principal and can be the full name of the service principal.
- workspace_
access bool - This is a field to allow the group to have access to Databricks Workspace.
- active Boolean
- Either service principal is active or not. True by default, but can be set to false in case of service principal deactivation with preserving service principal assets.
- allow
Cluster BooleanCreate - Allow the service principal to have cluster create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and
cluster_idargument. Everyone withoutallow_cluster_createargument set, but with permission to use Cluster Policy would be able to create clusters, but within the boundaries of that specific policy. - allow
Instance BooleanPool Create - Allow the service principal to have instance pool create privileges. Defaults to false. More fine grained permissions could be assigned with databricks.Permissions and instance_pool_id argument.
- application
Id String - This is the application id of the given service principal and will be their form of access and identity. On other clouds than Azure this value is auto-generated.
- databricks
Sql BooleanAccess - This is a field to allow the group to have access to Databricks SQL feature through databricks_sql_endpoint.
- display
Name String - This is an alias for the service principal and can be the full name of the service principal.
- workspace
Access Boolean - This is a field to allow the group to have access to Databricks Workspace.
Import
The resource scim service principal can be imported using idbash
$ pulumi import databricks:index/servicePrincipal:ServicePrincipal me <service-principal-id>
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- databricks pulumi/pulumi-databricks
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
databricksTerraform Provider.
published on Monday, Mar 9, 2026 by Pulumi
