databricks.ServicePrincipal
Explore with Pulumi AI
Directly manage Service Principals that could be added to databricks.Group in Databricks account or workspace.
There are different types of service principals:
- Databricks-managed - exists only inside the Databricks platform (all clouds) and couldn’t be used for accessing non-Databricks services.
- Azure-managed - existing Azure service principal (enterprise application) is registered inside Databricks. It could be used to work with other Azure services.
Note To assign account level service principals to workspace use databricks_mws_permission_assignment.
Note Entitlements, like,
allow_cluster_create
,allow_instance_pool_create
,databricks_sql_access
,workspace_access
applicable only for workspace-level service principals. Use databricks.Entitlements resource to assign entitlements inside a workspace to account-level service principals.
To create service principals in the Databricks account, the provider must be configured with host = "https://accounts.cloud.databricks.com"
on AWS deployments or host = "https://accounts.azuredatabricks.net"
and authenticate using the supported authentication method for account operations.
The default behavior when deleting a databricks.ServicePrincipal
resource depends on whether the provider is configured at the workspace-level or account-level. When the provider is configured at the workspace-level, the service principal will be deleted from the workspace. When the provider is configured at the account-level, the service principal will be deactivated but not deleted. When the provider is configured at the account level, to delete the service principal from the account when the resource is deleted, set disable_as_user_deletion = false
. Conversely, when the provider is configured at the account-level, to deactivate the service principal when the resource is deleted, set disable_as_user_deletion = true
.
Example Usage
Creating regular Databricks-managed service principal:
import * as pulumi from "@pulumi/pulumi";
import * as databricks from "@pulumi/databricks";
const sp = new databricks.ServicePrincipal("sp", {displayName: "Admin SP"});
import pulumi
import pulumi_databricks as databricks
sp = databricks.ServicePrincipal("sp", display_name="Admin SP")
package main
import (
"github.com/pulumi/pulumi-databricks/sdk/go/databricks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := databricks.NewServicePrincipal(ctx, "sp", &databricks.ServicePrincipalArgs{
DisplayName: pulumi.String("Admin SP"),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Databricks = Pulumi.Databricks;
return await Deployment.RunAsync(() =>
{
var sp = new Databricks.ServicePrincipal("sp", new()
{
DisplayName = "Admin SP",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.databricks.ServicePrincipal;
import com.pulumi.databricks.ServicePrincipalArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var sp = new ServicePrincipal("sp", ServicePrincipalArgs.builder()
.displayName("Admin SP")
.build());
}
}
resources:
sp:
type: databricks:ServicePrincipal
properties:
displayName: Admin SP
Creating service principal with administrative permissions - referencing special admins
databricks.Group in databricks.GroupMember resource:
import * as pulumi from "@pulumi/pulumi";
import * as databricks from "@pulumi/databricks";
const admins = databricks.getGroup({
displayName: "admins",
});
const sp = new databricks.ServicePrincipal("sp", {displayName: "Admin SP"});
const i_am_admin = new databricks.GroupMember("i-am-admin", {
groupId: admins.then(admins => admins.id),
memberId: sp.id,
});
import pulumi
import pulumi_databricks as databricks
admins = databricks.get_group(display_name="admins")
sp = databricks.ServicePrincipal("sp", display_name="Admin SP")
i_am_admin = databricks.GroupMember("i-am-admin",
group_id=admins.id,
member_id=sp.id)
package main
import (
"github.com/pulumi/pulumi-databricks/sdk/go/databricks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
admins, err := databricks.LookupGroup(ctx, &databricks.LookupGroupArgs{
DisplayName: "admins",
}, nil)
if err != nil {
return err
}
sp, err := databricks.NewServicePrincipal(ctx, "sp", &databricks.ServicePrincipalArgs{
DisplayName: pulumi.String("Admin SP"),
})
if err != nil {
return err
}
_, err = databricks.NewGroupMember(ctx, "i-am-admin", &databricks.GroupMemberArgs{
GroupId: pulumi.String(admins.Id),
MemberId: sp.ID(),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Databricks = Pulumi.Databricks;
return await Deployment.RunAsync(() =>
{
var admins = Databricks.GetGroup.Invoke(new()
{
DisplayName = "admins",
});
var sp = new Databricks.ServicePrincipal("sp", new()
{
DisplayName = "Admin SP",
});
var i_am_admin = new Databricks.GroupMember("i-am-admin", new()
{
GroupId = admins.Apply(getGroupResult => getGroupResult.Id),
MemberId = sp.Id,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.databricks.DatabricksFunctions;
import com.pulumi.databricks.inputs.GetGroupArgs;
import com.pulumi.databricks.ServicePrincipal;
import com.pulumi.databricks.ServicePrincipalArgs;
import com.pulumi.databricks.GroupMember;
import com.pulumi.databricks.GroupMemberArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var admins = DatabricksFunctions.getGroup(GetGroupArgs.builder()
.displayName("admins")
.build());
var sp = new ServicePrincipal("sp", ServicePrincipalArgs.builder()
.displayName("Admin SP")
.build());
var i_am_admin = new GroupMember("i-am-admin", GroupMemberArgs.builder()
.groupId(admins.applyValue(getGroupResult -> getGroupResult.id()))
.memberId(sp.id())
.build());
}
}
resources:
sp:
type: databricks:ServicePrincipal
properties:
displayName: Admin SP
i-am-admin:
type: databricks:GroupMember
properties:
groupId: ${admins.id}
memberId: ${sp.id}
variables:
admins:
fn::invoke:
Function: databricks:getGroup
Arguments:
displayName: admins
Creating Azure-managed service principal with cluster create permissions:
import * as pulumi from "@pulumi/pulumi";
import * as databricks from "@pulumi/databricks";
const sp = new databricks.ServicePrincipal("sp", {
applicationId: "00000000-0000-0000-0000-000000000000",
displayName: "Example service principal",
allowClusterCreate: true,
});
import pulumi
import pulumi_databricks as databricks
sp = databricks.ServicePrincipal("sp",
application_id="00000000-0000-0000-0000-000000000000",
display_name="Example service principal",
allow_cluster_create=True)
package main
import (
"github.com/pulumi/pulumi-databricks/sdk/go/databricks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := databricks.NewServicePrincipal(ctx, "sp", &databricks.ServicePrincipalArgs{
ApplicationId: pulumi.String("00000000-0000-0000-0000-000000000000"),
DisplayName: pulumi.String("Example service principal"),
AllowClusterCreate: pulumi.Bool(true),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Databricks = Pulumi.Databricks;
return await Deployment.RunAsync(() =>
{
var sp = new Databricks.ServicePrincipal("sp", new()
{
ApplicationId = "00000000-0000-0000-0000-000000000000",
DisplayName = "Example service principal",
AllowClusterCreate = true,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.databricks.ServicePrincipal;
import com.pulumi.databricks.ServicePrincipalArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var sp = new ServicePrincipal("sp", ServicePrincipalArgs.builder()
.applicationId("00000000-0000-0000-0000-000000000000")
.displayName("Example service principal")
.allowClusterCreate(true)
.build());
}
}
resources:
sp:
type: databricks:ServicePrincipal
properties:
applicationId: 00000000-0000-0000-0000-000000000000
displayName: Example service principal
allowClusterCreate: true
Creating Databricks-managed service principal in AWS Databricks account:
import * as pulumi from "@pulumi/pulumi";
import * as databricks from "@pulumi/databricks";
const sp = new databricks.ServicePrincipal("sp", {displayName: "Automation-only SP"});
import pulumi
import pulumi_databricks as databricks
sp = databricks.ServicePrincipal("sp", display_name="Automation-only SP")
package main
import (
"github.com/pulumi/pulumi-databricks/sdk/go/databricks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := databricks.NewServicePrincipal(ctx, "sp", &databricks.ServicePrincipalArgs{
DisplayName: pulumi.String("Automation-only SP"),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Databricks = Pulumi.Databricks;
return await Deployment.RunAsync(() =>
{
var sp = new Databricks.ServicePrincipal("sp", new()
{
DisplayName = "Automation-only SP",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.databricks.ServicePrincipal;
import com.pulumi.databricks.ServicePrincipalArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var sp = new ServicePrincipal("sp", ServicePrincipalArgs.builder()
.displayName("Automation-only SP")
.build());
}
}
resources:
sp:
type: databricks:ServicePrincipal
properties:
displayName: Automation-only SP
Creating Azure-managed service principal in Azure Databricks account:
import * as pulumi from "@pulumi/pulumi";
import * as databricks from "@pulumi/databricks";
const sp = new databricks.ServicePrincipal("sp", {applicationId: "00000000-0000-0000-0000-000000000000"});
import pulumi
import pulumi_databricks as databricks
sp = databricks.ServicePrincipal("sp", application_id="00000000-0000-0000-0000-000000000000")
package main
import (
"github.com/pulumi/pulumi-databricks/sdk/go/databricks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := databricks.NewServicePrincipal(ctx, "sp", &databricks.ServicePrincipalArgs{
ApplicationId: pulumi.String("00000000-0000-0000-0000-000000000000"),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Databricks = Pulumi.Databricks;
return await Deployment.RunAsync(() =>
{
var sp = new Databricks.ServicePrincipal("sp", new()
{
ApplicationId = "00000000-0000-0000-0000-000000000000",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.databricks.ServicePrincipal;
import com.pulumi.databricks.ServicePrincipalArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var sp = new ServicePrincipal("sp", ServicePrincipalArgs.builder()
.applicationId("00000000-0000-0000-0000-000000000000")
.build());
}
}
resources:
sp:
type: databricks:ServicePrincipal
properties:
applicationId: 00000000-0000-0000-0000-000000000000
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.GroupMember 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 to manage secrets for the service principal (only for AWS deployments)
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,
acl_principal_id: Optional[str] = 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,
disable_as_user_deletion: Optional[bool] = None,
display_name: Optional[str] = None,
external_id: Optional[str] = None,
force: Optional[bool] = None,
force_delete_home_dir: Optional[bool] = None,
force_delete_repos: Optional[bool] = None,
home: Optional[str] = None,
repos: 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()
{
AclPrincipalId = "string",
Active = false,
AllowClusterCreate = false,
AllowInstancePoolCreate = false,
ApplicationId = "string",
DatabricksSqlAccess = false,
DisableAsUserDeletion = false,
DisplayName = "string",
ExternalId = "string",
Force = false,
ForceDeleteHomeDir = false,
ForceDeleteRepos = false,
Home = "string",
Repos = "string",
WorkspaceAccess = false,
});
example, err := databricks.NewServicePrincipal(ctx, "servicePrincipalResource", &databricks.ServicePrincipalArgs{
AclPrincipalId: pulumi.String("string"),
Active: pulumi.Bool(false),
AllowClusterCreate: pulumi.Bool(false),
AllowInstancePoolCreate: pulumi.Bool(false),
ApplicationId: pulumi.String("string"),
DatabricksSqlAccess: pulumi.Bool(false),
DisableAsUserDeletion: pulumi.Bool(false),
DisplayName: pulumi.String("string"),
ExternalId: pulumi.String("string"),
Force: pulumi.Bool(false),
ForceDeleteHomeDir: pulumi.Bool(false),
ForceDeleteRepos: pulumi.Bool(false),
Home: pulumi.String("string"),
Repos: pulumi.String("string"),
WorkspaceAccess: pulumi.Bool(false),
})
var servicePrincipalResource = new ServicePrincipal("servicePrincipalResource", ServicePrincipalArgs.builder()
.aclPrincipalId("string")
.active(false)
.allowClusterCreate(false)
.allowInstancePoolCreate(false)
.applicationId("string")
.databricksSqlAccess(false)
.disableAsUserDeletion(false)
.displayName("string")
.externalId("string")
.force(false)
.forceDeleteHomeDir(false)
.forceDeleteRepos(false)
.home("string")
.repos("string")
.workspaceAccess(false)
.build());
service_principal_resource = databricks.ServicePrincipal("servicePrincipalResource",
acl_principal_id="string",
active=False,
allow_cluster_create=False,
allow_instance_pool_create=False,
application_id="string",
databricks_sql_access=False,
disable_as_user_deletion=False,
display_name="string",
external_id="string",
force=False,
force_delete_home_dir=False,
force_delete_repos=False,
home="string",
repos="string",
workspace_access=False)
const servicePrincipalResource = new databricks.ServicePrincipal("servicePrincipalResource", {
aclPrincipalId: "string",
active: false,
allowClusterCreate: false,
allowInstancePoolCreate: false,
applicationId: "string",
databricksSqlAccess: false,
disableAsUserDeletion: false,
displayName: "string",
externalId: "string",
force: false,
forceDeleteHomeDir: false,
forceDeleteRepos: false,
home: "string",
repos: "string",
workspaceAccess: false,
});
type: databricks:ServicePrincipal
properties:
aclPrincipalId: string
active: false
allowClusterCreate: false
allowInstancePoolCreate: false
applicationId: string
databricksSqlAccess: false
disableAsUserDeletion: false
displayName: string
externalId: string
force: false
forceDeleteHomeDir: false
forceDeleteRepos: false
home: string
repos: 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
The ServicePrincipal resource accepts the following input properties:
- Acl
Principal stringId - identifier for use in databricks_access_control_rule_set, e.g.
servicePrincipals/00000000-0000-0000-0000-000000000000
. - 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_id
argument. Everyone withoutallow_cluster_create
argument 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 Azure Application ID of the given Azure service principal and will be their form of access and identity. For Databricks-managed service principals 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.
- Disable
As boolUser Deletion - Deactivate the service principal when deleting the resource, rather than deleting the service principal entirely. Defaults to
true
when the provider is configured at the account-level andfalse
when configured at the workspace-level. This flag is exclusive to force_delete_repos and force_delete_home_dir flags. - Display
Name string - This is an alias for the service principal and can be the full name of the service principal.
- External
Id string - ID of the service principal in an external identity provider.
- Force bool
- Force
Delete boolHome Dir - This flag determines whether the service principal's home directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- Force
Delete boolRepos - This flag determines whether the service principal's repo directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- Home string
- Home folder of the service principal, e.g.
/Users/00000000-0000-0000-0000-000000000000
. - Repos string
- Personal Repos location of the service principal, e.g.
/Repos/00000000-0000-0000-0000-000000000000
. - Workspace
Access bool - This is a field to allow the group to have access to Databricks Workspace.
- Acl
Principal stringId - identifier for use in databricks_access_control_rule_set, e.g.
servicePrincipals/00000000-0000-0000-0000-000000000000
. - 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_id
argument. Everyone withoutallow_cluster_create
argument 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 Azure Application ID of the given Azure service principal and will be their form of access and identity. For Databricks-managed service principals 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.
- Disable
As boolUser Deletion - Deactivate the service principal when deleting the resource, rather than deleting the service principal entirely. Defaults to
true
when the provider is configured at the account-level andfalse
when configured at the workspace-level. This flag is exclusive to force_delete_repos and force_delete_home_dir flags. - Display
Name string - This is an alias for the service principal and can be the full name of the service principal.
- External
Id string - ID of the service principal in an external identity provider.
- Force bool
- Force
Delete boolHome Dir - This flag determines whether the service principal's home directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- Force
Delete boolRepos - This flag determines whether the service principal's repo directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- Home string
- Home folder of the service principal, e.g.
/Users/00000000-0000-0000-0000-000000000000
. - Repos string
- Personal Repos location of the service principal, e.g.
/Repos/00000000-0000-0000-0000-000000000000
. - Workspace
Access bool - This is a field to allow the group to have access to Databricks Workspace.
- acl
Principal StringId - identifier for use in databricks_access_control_rule_set, e.g.
servicePrincipals/00000000-0000-0000-0000-000000000000
. - 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_id
argument. Everyone withoutallow_cluster_create
argument 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 Azure Application ID of the given Azure service principal and will be their form of access and identity. For Databricks-managed service principals 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.
- disable
As BooleanUser Deletion - Deactivate the service principal when deleting the resource, rather than deleting the service principal entirely. Defaults to
true
when the provider is configured at the account-level andfalse
when configured at the workspace-level. This flag is exclusive to force_delete_repos and force_delete_home_dir flags. - display
Name String - This is an alias for the service principal and can be the full name of the service principal.
- external
Id String - ID of the service principal in an external identity provider.
- force Boolean
- force
Delete BooleanHome Dir - This flag determines whether the service principal's home directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- force
Delete BooleanRepos - This flag determines whether the service principal's repo directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- home String
- Home folder of the service principal, e.g.
/Users/00000000-0000-0000-0000-000000000000
. - repos String
- Personal Repos location of the service principal, e.g.
/Repos/00000000-0000-0000-0000-000000000000
. - workspace
Access Boolean - This is a field to allow the group to have access to Databricks Workspace.
- acl
Principal stringId - identifier for use in databricks_access_control_rule_set, e.g.
servicePrincipals/00000000-0000-0000-0000-000000000000
. - 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_id
argument. Everyone withoutallow_cluster_create
argument 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 Azure Application ID of the given Azure service principal and will be their form of access and identity. For Databricks-managed service principals 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.
- disable
As booleanUser Deletion - Deactivate the service principal when deleting the resource, rather than deleting the service principal entirely. Defaults to
true
when the provider is configured at the account-level andfalse
when configured at the workspace-level. This flag is exclusive to force_delete_repos and force_delete_home_dir flags. - display
Name string - This is an alias for the service principal and can be the full name of the service principal.
- external
Id string - ID of the service principal in an external identity provider.
- force boolean
- force
Delete booleanHome Dir - This flag determines whether the service principal's home directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- force
Delete booleanRepos - This flag determines whether the service principal's repo directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- home string
- Home folder of the service principal, e.g.
/Users/00000000-0000-0000-0000-000000000000
. - repos string
- Personal Repos location of the service principal, e.g.
/Repos/00000000-0000-0000-0000-000000000000
. - workspace
Access boolean - This is a field to allow the group to have access to Databricks Workspace.
- acl_
principal_ strid - identifier for use in databricks_access_control_rule_set, e.g.
servicePrincipals/00000000-0000-0000-0000-000000000000
. - 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_id
argument. Everyone withoutallow_cluster_create
argument 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 Azure Application ID of the given Azure service principal and will be their form of access and identity. For Databricks-managed service principals 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.
- disable_
as_ booluser_ deletion - Deactivate the service principal when deleting the resource, rather than deleting the service principal entirely. Defaults to
true
when the provider is configured at the account-level andfalse
when configured at the workspace-level. This flag is exclusive to force_delete_repos and force_delete_home_dir flags. - display_
name str - This is an alias for the service principal and can be the full name of the service principal.
- external_
id str - ID of the service principal in an external identity provider.
- force bool
- force_
delete_ boolhome_ dir - This flag determines whether the service principal's home directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- force_
delete_ boolrepos - This flag determines whether the service principal's repo directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- home str
- Home folder of the service principal, e.g.
/Users/00000000-0000-0000-0000-000000000000
. - repos str
- Personal Repos location of the service principal, e.g.
/Repos/00000000-0000-0000-0000-000000000000
. - workspace_
access bool - This is a field to allow the group to have access to Databricks Workspace.
- acl
Principal StringId - identifier for use in databricks_access_control_rule_set, e.g.
servicePrincipals/00000000-0000-0000-0000-000000000000
. - 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_id
argument. Everyone withoutallow_cluster_create
argument 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 Azure Application ID of the given Azure service principal and will be their form of access and identity. For Databricks-managed service principals 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.
- disable
As BooleanUser Deletion - Deactivate the service principal when deleting the resource, rather than deleting the service principal entirely. Defaults to
true
when the provider is configured at the account-level andfalse
when configured at the workspace-level. This flag is exclusive to force_delete_repos and force_delete_home_dir flags. - display
Name String - This is an alias for the service principal and can be the full name of the service principal.
- external
Id String - ID of the service principal in an external identity provider.
- force Boolean
- force
Delete BooleanHome Dir - This flag determines whether the service principal's home directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- force
Delete BooleanRepos - This flag determines whether the service principal's repo directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- home String
- Home folder of the service principal, e.g.
/Users/00000000-0000-0000-0000-000000000000
. - repos String
- Personal Repos location of the service principal, e.g.
/Repos/00000000-0000-0000-0000-000000000000
. - 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,
acl_principal_id: Optional[str] = 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,
disable_as_user_deletion: Optional[bool] = None,
display_name: Optional[str] = None,
external_id: Optional[str] = None,
force: Optional[bool] = None,
force_delete_home_dir: Optional[bool] = None,
force_delete_repos: Optional[bool] = None,
home: Optional[str] = None,
repos: Optional[str] = None,
workspace_access: Optional[bool] = None) -> ServicePrincipal
func 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)
Resource lookup is not supported in YAML
- 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.
- Acl
Principal stringId - identifier for use in databricks_access_control_rule_set, e.g.
servicePrincipals/00000000-0000-0000-0000-000000000000
. - 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_id
argument. Everyone withoutallow_cluster_create
argument 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 Azure Application ID of the given Azure service principal and will be their form of access and identity. For Databricks-managed service principals 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.
- Disable
As boolUser Deletion - Deactivate the service principal when deleting the resource, rather than deleting the service principal entirely. Defaults to
true
when the provider is configured at the account-level andfalse
when configured at the workspace-level. This flag is exclusive to force_delete_repos and force_delete_home_dir flags. - Display
Name string - This is an alias for the service principal and can be the full name of the service principal.
- External
Id string - ID of the service principal in an external identity provider.
- Force bool
- Force
Delete boolHome Dir - This flag determines whether the service principal's home directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- Force
Delete boolRepos - This flag determines whether the service principal's repo directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- Home string
- Home folder of the service principal, e.g.
/Users/00000000-0000-0000-0000-000000000000
. - Repos string
- Personal Repos location of the service principal, e.g.
/Repos/00000000-0000-0000-0000-000000000000
. - Workspace
Access bool - This is a field to allow the group to have access to Databricks Workspace.
- Acl
Principal stringId - identifier for use in databricks_access_control_rule_set, e.g.
servicePrincipals/00000000-0000-0000-0000-000000000000
. - 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_id
argument. Everyone withoutallow_cluster_create
argument 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 Azure Application ID of the given Azure service principal and will be their form of access and identity. For Databricks-managed service principals 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.
- Disable
As boolUser Deletion - Deactivate the service principal when deleting the resource, rather than deleting the service principal entirely. Defaults to
true
when the provider is configured at the account-level andfalse
when configured at the workspace-level. This flag is exclusive to force_delete_repos and force_delete_home_dir flags. - Display
Name string - This is an alias for the service principal and can be the full name of the service principal.
- External
Id string - ID of the service principal in an external identity provider.
- Force bool
- Force
Delete boolHome Dir - This flag determines whether the service principal's home directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- Force
Delete boolRepos - This flag determines whether the service principal's repo directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- Home string
- Home folder of the service principal, e.g.
/Users/00000000-0000-0000-0000-000000000000
. - Repos string
- Personal Repos location of the service principal, e.g.
/Repos/00000000-0000-0000-0000-000000000000
. - Workspace
Access bool - This is a field to allow the group to have access to Databricks Workspace.
- acl
Principal StringId - identifier for use in databricks_access_control_rule_set, e.g.
servicePrincipals/00000000-0000-0000-0000-000000000000
. - 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_id
argument. Everyone withoutallow_cluster_create
argument 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 Azure Application ID of the given Azure service principal and will be their form of access and identity. For Databricks-managed service principals 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.
- disable
As BooleanUser Deletion - Deactivate the service principal when deleting the resource, rather than deleting the service principal entirely. Defaults to
true
when the provider is configured at the account-level andfalse
when configured at the workspace-level. This flag is exclusive to force_delete_repos and force_delete_home_dir flags. - display
Name String - This is an alias for the service principal and can be the full name of the service principal.
- external
Id String - ID of the service principal in an external identity provider.
- force Boolean
- force
Delete BooleanHome Dir - This flag determines whether the service principal's home directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- force
Delete BooleanRepos - This flag determines whether the service principal's repo directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- home String
- Home folder of the service principal, e.g.
/Users/00000000-0000-0000-0000-000000000000
. - repos String
- Personal Repos location of the service principal, e.g.
/Repos/00000000-0000-0000-0000-000000000000
. - workspace
Access Boolean - This is a field to allow the group to have access to Databricks Workspace.
- acl
Principal stringId - identifier for use in databricks_access_control_rule_set, e.g.
servicePrincipals/00000000-0000-0000-0000-000000000000
. - 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_id
argument. Everyone withoutallow_cluster_create
argument 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 Azure Application ID of the given Azure service principal and will be their form of access and identity. For Databricks-managed service principals 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.
- disable
As booleanUser Deletion - Deactivate the service principal when deleting the resource, rather than deleting the service principal entirely. Defaults to
true
when the provider is configured at the account-level andfalse
when configured at the workspace-level. This flag is exclusive to force_delete_repos and force_delete_home_dir flags. - display
Name string - This is an alias for the service principal and can be the full name of the service principal.
- external
Id string - ID of the service principal in an external identity provider.
- force boolean
- force
Delete booleanHome Dir - This flag determines whether the service principal's home directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- force
Delete booleanRepos - This flag determines whether the service principal's repo directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- home string
- Home folder of the service principal, e.g.
/Users/00000000-0000-0000-0000-000000000000
. - repos string
- Personal Repos location of the service principal, e.g.
/Repos/00000000-0000-0000-0000-000000000000
. - workspace
Access boolean - This is a field to allow the group to have access to Databricks Workspace.
- acl_
principal_ strid - identifier for use in databricks_access_control_rule_set, e.g.
servicePrincipals/00000000-0000-0000-0000-000000000000
. - 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_id
argument. Everyone withoutallow_cluster_create
argument 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 Azure Application ID of the given Azure service principal and will be their form of access and identity. For Databricks-managed service principals 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.
- disable_
as_ booluser_ deletion - Deactivate the service principal when deleting the resource, rather than deleting the service principal entirely. Defaults to
true
when the provider is configured at the account-level andfalse
when configured at the workspace-level. This flag is exclusive to force_delete_repos and force_delete_home_dir flags. - display_
name str - This is an alias for the service principal and can be the full name of the service principal.
- external_
id str - ID of the service principal in an external identity provider.
- force bool
- force_
delete_ boolhome_ dir - This flag determines whether the service principal's home directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- force_
delete_ boolrepos - This flag determines whether the service principal's repo directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- home str
- Home folder of the service principal, e.g.
/Users/00000000-0000-0000-0000-000000000000
. - repos str
- Personal Repos location of the service principal, e.g.
/Repos/00000000-0000-0000-0000-000000000000
. - workspace_
access bool - This is a field to allow the group to have access to Databricks Workspace.
- acl
Principal StringId - identifier for use in databricks_access_control_rule_set, e.g.
servicePrincipals/00000000-0000-0000-0000-000000000000
. - 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_id
argument. Everyone withoutallow_cluster_create
argument 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 Azure Application ID of the given Azure service principal and will be their form of access and identity. For Databricks-managed service principals 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.
- disable
As BooleanUser Deletion - Deactivate the service principal when deleting the resource, rather than deleting the service principal entirely. Defaults to
true
when the provider is configured at the account-level andfalse
when configured at the workspace-level. This flag is exclusive to force_delete_repos and force_delete_home_dir flags. - display
Name String - This is an alias for the service principal and can be the full name of the service principal.
- external
Id String - ID of the service principal in an external identity provider.
- force Boolean
- force
Delete BooleanHome Dir - This flag determines whether the service principal's home directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- force
Delete BooleanRepos - This flag determines whether the service principal's repo directory is deleted when the user is deleted. It will have no impact when in the accounts SCIM API. False by default.
- home String
- Home folder of the service principal, e.g.
/Users/00000000-0000-0000-0000-000000000000
. - repos String
- Personal Repos location of the service principal, e.g.
/Repos/00000000-0000-0000-0000-000000000000
. - 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 its id, for example 2345678901234567
. To get the service principal ID, call Get service principals.
bash
$ 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
databricks
Terraform Provider.