I am trying to create and configure the Azure Databricks SCIM Provisioning Connector, so I can provision users in my Databricks workspace from AAD.
Following these instructions, I can get it to work manually. That is, creating and setting up the application in Azure Portal works and my selected users synchronise in Databricks. (The process wasn't completely straightforward. A lot of fiddling, which I don't remember, with the provisioning setup was needed before it did anything.)
When I try to transpose this into Terraform, I'm not getting very far:
I can create the application with Terraform, using the same Service Principal that created the Databricks Workspace resource:
data "azuread_application_template" "scim" { display_name = "Azure Databricks SCIM Provisioning Connector" } resource "azuread_application" "scim" { display_name = "${var.name}-scim" template_id = data.azuread_application_template.scim.template_id feature_tags { enterprise = true gallery = true } }
Similarly, I can create the Databricks access token for my Service Principal very easily:
resource "databricks_token" "scim" { comment = "SCIM Integration" }
Now I'm stuck:
- How do I define the users and groups for the enterprise application in Terraform? I don't see any
azuread
resource that looks appropriate. - Likewise, how do I configure the provisioning for the enterprise application in Terraform (i.e., with the SCIM endpoint URL and Databricks token, etc.)?
- How do I define the users and groups for the enterprise application in Terraform? I don't see any
(Aside: I note that, in my Terraform-created application, if I proceed to manually set up the users and provisioning in Azure Portal, it doesn't seem to do anything. I may be being impatient: the "Provision on Demand" button does actually work, but the polled synchronisation is either not doing anything or being really slow.)
(Edit: An update on the aside: The polled provisioning -- set up manually on a Terraform-managed SCIM app -- has now run twice since I wrote this question. In which time, it has not synchronised the users I manually selected, but instead has decided to delete the "Provision on Demand" user in Databricks that I created earlier...)