published on Tuesday, Sep 8, 2026 by Pulumi
published on Tuesday, Sep 8, 2026 by Pulumi
Retrieves an external service principal — a service principal that can be synced from your identity provider (IdP) — with the given external ID from the customer’s IdP. If the service principal does not exist in the account, it will be created. If the customer is not onboarded onto Automatic Identity Management (AIM), this returns an error.
The name uses the format accounts/{account_id}/external-service-principals/{external_service_principal_id}, where externalServicePrincipalId is the service principal’s object ID in the IdP (for example, a Microsoft Entra ID object ID).
Note Reading this data source has a side effect: it resolves the service principal against the IdP and provisions the service principal in the account if it does not already exist.
Note This data source can only be used with an account-level provider.
Example Usage
Referring to an external service principal by its resource name:
import * as pulumi from "@pulumi/pulumi";
import * as databricks from "@pulumi/databricks";
const example = databricks.getAccountIamExternalServicePrincipalV2({
name: "accounts/00000000-0000-0000-0000-000000000000/external-service-principals/11111111-2222-3333-4444-555555555555",
});
import pulumi
import pulumi_databricks as databricks
example = databricks.get_account_iam_external_service_principal_v2(name="accounts/00000000-0000-0000-0000-000000000000/external-service-principals/11111111-2222-3333-4444-555555555555")
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.GetAccountIamExternalServicePrincipalV2(ctx, &databricks.GetAccountIamExternalServicePrincipalV2Args{
Name: "accounts/00000000-0000-0000-0000-000000000000/external-service-principals/11111111-2222-3333-4444-555555555555",
}, nil)
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 example = Databricks.GetAccountIamExternalServicePrincipalV2.Invoke(new()
{
Name = "accounts/00000000-0000-0000-0000-000000000000/external-service-principals/11111111-2222-3333-4444-555555555555",
});
});
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.GetAccountIamExternalServicePrincipalV2Args;
import java.util.ArrayList;
import java.util.Arrays;
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 example = DatabricksFunctions.getAccountIamExternalServicePrincipalV2(GetAccountIamExternalServicePrincipalV2Args.builder()
.name("accounts/00000000-0000-0000-0000-000000000000/external-service-principals/11111111-2222-3333-4444-555555555555")
.build());
}
}
variables:
example:
fn::invoke:
function: databricks:getAccountIamExternalServicePrincipalV2
arguments:
name: accounts/00000000-0000-0000-0000-000000000000/external-service-principals/11111111-2222-3333-4444-555555555555
pulumi {
required_providers {
databricks = {
source = "pulumi/databricks"
}
}
}
data "databricks_getaccountiamexternalserviceprincipalv2" "example" {
name = "accounts/00000000-0000-0000-0000-000000000000/external-service-principals/11111111-2222-3333-4444-555555555555"
}
Using getAccountIamExternalServicePrincipalV2
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getAccountIamExternalServicePrincipalV2(args: GetAccountIamExternalServicePrincipalV2Args, opts?: InvokeOptions): Promise<GetAccountIamExternalServicePrincipalV2Result>
function getAccountIamExternalServicePrincipalV2Output(args: GetAccountIamExternalServicePrincipalV2OutputArgs, opts?: InvokeOutputOptions): Output<GetAccountIamExternalServicePrincipalV2Result>def get_account_iam_external_service_principal_v2(name: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetAccountIamExternalServicePrincipalV2Result
def get_account_iam_external_service_principal_v2_output(name: pulumi.Input[Optional[str]] = None,
opts: Optional[InvokeOutputOptions] = None) -> Output[GetAccountIamExternalServicePrincipalV2Result]func GetAccountIamExternalServicePrincipalV2(ctx *Context, args *GetAccountIamExternalServicePrincipalV2Args, opts ...InvokeOption) (*GetAccountIamExternalServicePrincipalV2Result, error)
func GetAccountIamExternalServicePrincipalV2Output(ctx *Context, args *GetAccountIamExternalServicePrincipalV2OutputArgs, opts ...InvokeOption) GetAccountIamExternalServicePrincipalV2ResultOutput> Note: This function is named GetAccountIamExternalServicePrincipalV2 in the Go SDK.
public static class GetAccountIamExternalServicePrincipalV2
{
public static Task<GetAccountIamExternalServicePrincipalV2Result> InvokeAsync(GetAccountIamExternalServicePrincipalV2Args args, InvokeOptions? opts = null)
public static Output<GetAccountIamExternalServicePrincipalV2Result> Invoke(GetAccountIamExternalServicePrincipalV2InvokeArgs args, InvokeOptions? opts = null)
public static Output<GetAccountIamExternalServicePrincipalV2Result> Invoke(GetAccountIamExternalServicePrincipalV2InvokeArgs args, InvokeOutputOptions opts)
}public static CompletableFuture<GetAccountIamExternalServicePrincipalV2Result> getAccountIamExternalServicePrincipalV2(GetAccountIamExternalServicePrincipalV2Args args, InvokeOptions options)
public static Output<GetAccountIamExternalServicePrincipalV2Result> getAccountIamExternalServicePrincipalV2(GetAccountIamExternalServicePrincipalV2Args args, InvokeOptions options)
public static Output<GetAccountIamExternalServicePrincipalV2Result> getAccountIamExternalServicePrincipalV2(GetAccountIamExternalServicePrincipalV2Args args, InvokeOutputOptions options)
fn::invoke:
function: databricks:index/getAccountIamExternalServicePrincipalV2:getAccountIamExternalServicePrincipalV2
arguments:
# arguments dictionarydata "databricks_get_account_iam_external_service_principal_v2" "name" {
# arguments
}The following arguments are supported:
- Name string
- The resource name of the external service principal. The format depends on
the API that returned it:
- Account-scoped: accounts/{account_id}/external-service-principals/{external_service_principal_id}
- Workspace-scoped: external-service-principals/{external_service_principal_id}
- Name string
- The resource name of the external service principal. The format depends on
the API that returned it:
- Account-scoped: accounts/{account_id}/external-service-principals/{external_service_principal_id}
- Workspace-scoped: external-service-principals/{external_service_principal_id}
- name string
- The resource name of the external service principal. The format depends on
the API that returned it:
- Account-scoped: accounts/{account_id}/external-service-principals/{external_service_principal_id}
- Workspace-scoped: external-service-principals/{external_service_principal_id}
- name String
- The resource name of the external service principal. The format depends on
the API that returned it:
- Account-scoped: accounts/{account_id}/external-service-principals/{external_service_principal_id}
- Workspace-scoped: external-service-principals/{external_service_principal_id}
- name string
- The resource name of the external service principal. The format depends on
the API that returned it:
- Account-scoped: accounts/{account_id}/external-service-principals/{external_service_principal_id}
- Workspace-scoped: external-service-principals/{external_service_principal_id}
- name str
- The resource name of the external service principal. The format depends on
the API that returned it:
- Account-scoped: accounts/{account_id}/external-service-principals/{external_service_principal_id}
- Workspace-scoped: external-service-principals/{external_service_principal_id}
- name String
- The resource name of the external service principal. The format depends on
the API that returned it:
- Account-scoped: accounts/{account_id}/external-service-principals/{external_service_principal_id}
- Workspace-scoped: external-service-principals/{external_service_principal_id}
getAccountIamExternalServicePrincipalV2 Result
The following output properties are available:
- Account
Id string - (string) - The parent account ID, from Databricks
- Account
Sp stringStatus - (string) - The activity status of the service principal in the Databricks account. Possible values are:
ACTIVE,INACTIVE - Application
Id string - (string) - Application ID of the service principal, from the customer's IdP
- Display
Name string - (string) - Display name of the service principal, from the customer's IdP
- External
Service stringPrincipal Id - (string) - The external ID of the service principal in the customer's IdP
- Internal
Id string - (string) - Internal servicePrincipalId of the service principal in Databricks
- Name string
- (string) - The resource name of the external service principal. The format depends on
the API that returned it:
- Account-scoped: accounts/{account_id}/external-service-principals/{external_service_principal_id}
- Workspace-scoped: external-service-principals/{external_service_principal_id}
- Account
Id string - (string) - The parent account ID, from Databricks
- Account
Sp stringStatus - (string) - The activity status of the service principal in the Databricks account. Possible values are:
ACTIVE,INACTIVE - Application
Id string - (string) - Application ID of the service principal, from the customer's IdP
- Display
Name string - (string) - Display name of the service principal, from the customer's IdP
- External
Service stringPrincipal Id - (string) - The external ID of the service principal in the customer's IdP
- Internal
Id string - (string) - Internal servicePrincipalId of the service principal in Databricks
- Name string
- (string) - The resource name of the external service principal. The format depends on
the API that returned it:
- Account-scoped: accounts/{account_id}/external-service-principals/{external_service_principal_id}
- Workspace-scoped: external-service-principals/{external_service_principal_id}
- account_
id string - (string) - The parent account ID, from Databricks
- account_
sp_ stringstatus - (string) - The activity status of the service principal in the Databricks account. Possible values are:
ACTIVE,INACTIVE - application_
id string - (string) - Application ID of the service principal, from the customer's IdP
- display_
name string - (string) - Display name of the service principal, from the customer's IdP
- external_
service_ stringprincipal_ id - (string) - The external ID of the service principal in the customer's IdP
- internal_
id string - (string) - Internal servicePrincipalId of the service principal in Databricks
- name string
- (string) - The resource name of the external service principal. The format depends on
the API that returned it:
- Account-scoped: accounts/{account_id}/external-service-principals/{external_service_principal_id}
- Workspace-scoped: external-service-principals/{external_service_principal_id}
- account
Id String - (string) - The parent account ID, from Databricks
- account
Sp StringStatus - (string) - The activity status of the service principal in the Databricks account. Possible values are:
ACTIVE,INACTIVE - application
Id String - (string) - Application ID of the service principal, from the customer's IdP
- display
Name String - (string) - Display name of the service principal, from the customer's IdP
- external
Service StringPrincipal Id - (string) - The external ID of the service principal in the customer's IdP
- internal
Id String - (string) - Internal servicePrincipalId of the service principal in Databricks
- name String
- (string) - The resource name of the external service principal. The format depends on
the API that returned it:
- Account-scoped: accounts/{account_id}/external-service-principals/{external_service_principal_id}
- Workspace-scoped: external-service-principals/{external_service_principal_id}
- account
Id string - (string) - The parent account ID, from Databricks
- account
Sp stringStatus - (string) - The activity status of the service principal in the Databricks account. Possible values are:
ACTIVE,INACTIVE - application
Id string - (string) - Application ID of the service principal, from the customer's IdP
- display
Name string - (string) - Display name of the service principal, from the customer's IdP
- external
Service stringPrincipal Id - (string) - The external ID of the service principal in the customer's IdP
- internal
Id string - (string) - Internal servicePrincipalId of the service principal in Databricks
- name string
- (string) - The resource name of the external service principal. The format depends on
the API that returned it:
- Account-scoped: accounts/{account_id}/external-service-principals/{external_service_principal_id}
- Workspace-scoped: external-service-principals/{external_service_principal_id}
- account_
id str - (string) - The parent account ID, from Databricks
- account_
sp_ strstatus - (string) - The activity status of the service principal in the Databricks account. Possible values are:
ACTIVE,INACTIVE - application_
id str - (string) - Application ID of the service principal, from the customer's IdP
- display_
name str - (string) - Display name of the service principal, from the customer's IdP
- external_
service_ strprincipal_ id - (string) - The external ID of the service principal in the customer's IdP
- internal_
id str - (string) - Internal servicePrincipalId of the service principal in Databricks
- name str
- (string) - The resource name of the external service principal. The format depends on
the API that returned it:
- Account-scoped: accounts/{account_id}/external-service-principals/{external_service_principal_id}
- Workspace-scoped: external-service-principals/{external_service_principal_id}
- account
Id String - (string) - The parent account ID, from Databricks
- account
Sp StringStatus - (string) - The activity status of the service principal in the Databricks account. Possible values are:
ACTIVE,INACTIVE - application
Id String - (string) - Application ID of the service principal, from the customer's IdP
- display
Name String - (string) - Display name of the service principal, from the customer's IdP
- external
Service StringPrincipal Id - (string) - The external ID of the service principal in the customer's IdP
- internal
Id String - (string) - Internal servicePrincipalId of the service principal in Databricks
- name String
- (string) - The resource name of the external service principal. The format depends on
the API that returned it:
- Account-scoped: accounts/{account_id}/external-service-principals/{external_service_principal_id}
- Workspace-scoped: external-service-principals/{external_service_principal_id}
Package Details
- Repository
- databricks pulumi/pulumi-databricks
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
databricksTerraform Provider.
published on Tuesday, Sep 8, 2026 by Pulumi