如何通过Terraform将用户分配标识添加到Azure Synapse工作区?
为Azure Synapse工作区分配用户分配托管标识的Terraform解决方案
要为Azure Synapse工作区配置用户分配托管标识,只需修改azurerm_synapse_workspace资源内的identity块,具体调整如下:
- 更新
identity块的type值,支持同时启用系统分配和用户分配标识,或仅启用用户分配标识 - 添加
user_assigned_identity_ids参数,关联已创建的用户分配标识ID
修改后的完整代码
// Create synapse User Assigned Identity resource "azurerm_user_assigned_identity" "uai_synapse" { resource_group_name = azurerm_resource_group.resource_group.name location = azurerm_resource_group.resource_group.location name = var.uai_synapse } // Create Synapse Workspace resource "azurerm_synapse_workspace" "synapsews" { name = var.dat_synapse_ws resource_group_name = azurerm_resource_group.resource_group.name location = azurerm_resource_group.resource_group.location storage_data_lake_gen2_filesystem_id = azurerm_storage_data_lake_gen2_filesystem.datalake-config.id sql_identity_control_enabled = true sql_administrator_login = var.synapse_sql_administrator_login sql_administrator_login_password = var.synapse_sql_administrator_login_password managed_virtual_network_enabled = true aad_admin { login = data.azuread_user.user.mail object_id = data.azuread_user.user.object_id tenant_id = data.azurerm_client_config.current.tenant_id } identity { type = "SystemAssigned,UserAssigned" user_assigned_identity_ids = [azurerm_user_assigned_identity.uai_synapse.id] } depends_on = [azurerm_storage_account.datalake] }
关键配置说明
type字段可选值:"SystemAssigned": 仅启用系统分配标识(原配置)"UserAssigned": 仅启用用户分配标识"SystemAssigned,UserAssigned": 同时启用两种标识(示例采用此配置)
user_assigned_identity_ids是列表类型,可传入多个用户分配标识的ID,满足多标识场景需求- 需确保用户分配标识与Synapse工作区处于同一资源组和区域(你的代码已符合该要求)
内容的提问来源于stack exchange,提问作者One Developer
相关产品推荐
相关产品推荐

