ServicePrincipal¶
Manages Databricks service principals through the SCIM API. A service
principal is a non-human identity used by automation, and is identified by
its display_name.
Type: LibreDsc.Databricks/ServicePrincipal
Syntax¶
{
"display_name": "string",
"application_id": "string",
"active": true,
"entitlements": [{ "value": "string" }],
"roles": [{ "value": "string" }],
"_exist": true
}
Properties¶
| Name | Type | Required | Description |
|---|---|---|---|
display_name |
string | Yes | Display name of the service principal. The primary identifier. |
application_id |
string | No | UUID of the Microsoft Entra app registration or identity behind the service principal. |
external_id |
string | No | Reserved for future use. |
id |
string | No | Databricks service principal ID. Read-only. |
active |
boolean | No | Whether the service principal is active. Always sent, so false deactivates without deleting. |
entitlements |
array of complex | No | Entitlements assigned to the service principal. |
roles |
array of complex | No | AWS instance profile ARN roles. |
_exist |
boolean | No | Whether the instance should exist. Default: true. |
Complex values are objects with value (required), and optional display,
type, and primary.
Note that application_id is the identifier used elsewhere: Grant and
SqlWarehousePermission both take the application ID as the principal,
not the display name.
Capabilities¶
get, set, test, delete, export, setWhatIf.
The resource implements a native test, because SCIM complex values carry
server-populated fields that literal comparison would report as drift.
Example¶
Create a service principal for a deployment pipeline:
{
"display_name": "ci-deployer",
"application_id": "11111111-2222-3333-4444-555555555555",
"active": true,
"entitlements": [{ "value": "allow-cluster-create" }]
}