How to use service principal instead of ad user to create azure synapse workspace?

I am trying to use below terraform code to create synapse workspace

module "synapse_workspace" {
  source = "./modules/synapse-workspace"

  rg_name  = module.resource_group.name
  location = module.resource_group.location

  prefix  = var.prefix
  postfix = random_string.postfix.result

  vnet_id   = module.virtual_network.id
  subnet_id = azurerm_subnet.default_subnet.id

  adls_id              = module.storage_account.adls_id
  storage_account_id   = module.storage_account.id
  storage_account_name = module.storage_account.name
  key_vault_id         = module.key_vault.id
  key_vault_name       = module.key_vault.name

  synadmin_username = var.synadmin_username
  synadmin_password = var.synadmin_password

  aad_login = {
    name      = var.aad_login.name
    object_id = var.aad_login.object_id
    tenant_id = var.aad_login.tenant_id
  }
}

and in terraform.tfvars file I have defined this AD login like below:

aad_login = {
  name = "azureuser@contoso.com"
  object_id = "00000000-0000-0000-0000-000000000000"
  tenant_id = "00000000-0000-0000-0000-000000000000"

My synapse module looks like below:

# Azure Synapse Workspace 

data "azurerm_client_config" "current" {}

data "http" "ip" {
  url = "https://ifconfig.me"
}

resource "azurerm_synapse_workspace" "syn_ws" {
  name                                 = "syn-${var.prefix}-${var.postfix}"
  resource_group_name                  = var.rg_name
  location                             = var.location
  storage_data_lake_gen2_filesystem_id = var.adls_id

  sql_administrator_login          = var.synadmin_username
  sql_administrator_login_password = var.synadmin_password

  managed_virtual_network_enabled = true
  managed_resource_group_name     = "${var.rg_name}-syn-managed"

  aad_admin {
    login     = var.aad_login.name
    object_id = var.aad_login.object_id
    tenant_id = var.aad_login.tenant_id
  }
}

The above is working aad_login is user of Azure Active Directory

What I am trying to do: I want my service principal to create this workspace instead of AD user

I verified this documentation Terraform Registry but not able to find how to use service principle authentication to create workspace

Any idea please ?