工作區記憶體帳戶防火牆支援的ARM範本
本文提供 ARM 範本,以及工作區記憶體帳戶防火牆支援所需字段的描述。 工作區記憶體帳戶的防火牆支援是由 ARM 範本屬性 storageAccountFirewall
所控制,此屬性必須設定為 Enabled
。
針對某些工作區設定,例如啟用 合規性安全性配置檔,您可能需要不同的ARM範本。 在此情況下,請連絡您的 Databricks 帳戶小組。
您也可以使用 Terraform 來更新或建立工作區。 請參閱 azurerm_databricks_workspace Terraform 提供者。
ARM 範本欄位
下表列出下列 ARM 範本的欄位及其描述,以取得工作區記憶體帳戶的防火牆支援。
欄位 | 描述 |
---|---|
訂用帳戶 | 要使用的 Azure 訂用帳戶。 |
資源群組 | 要使用的資源群組。 這通常是 VNet 的資源群組。 |
工作區名稱 | 工作區的名稱。 如果您使用現有的工作區,這必須完全符合現有的工作區名稱。 |
受控資源組名 | 工作區的受控資源群組。 這會以表單自動填入預設名稱。 如果您的組織想要自定義受控資源組名,請加以變更。 |
儲存體帳戶名稱 | 受控資源群組中的 Azure 工作區記憶體帳戶。 這會以表單自動填入預設名稱。 如果您的組織想要自定義受控資源組名,請加以變更。 |
工作區 VNet 網路識別碼 | VNet 的資源標識碼。 針對現有的工作區,您可以流覽至 Azure 入口網站 中的工作區,以取得此專案。 按一下 [內容] 。 在 [自定義虛擬網络標識符] 底下,按兩下 [以 JSON 檢視值]。 複製欄位中的資源識別碼 value 。 |
自訂私人子網名稱 | VNet 的私人子網。 針對現有的工作區,您可以流覽至 Azure 入口網站 中的工作區,以取得此專案。 按一下 [內容] 。 在 [自定義私人子網] 下,按兩下 [以 JSON 檢視值]。 複製欄位中的 value 子網名稱。 |
自訂公用子網名稱 | VNet 的公用子網。 針對現有的工作區,您可以流覽至 Azure 入口網站 中的工作區,以取得此專案。 按一下 [內容] 。 在 [自定義公用子網] 下,按兩下 [以 JSON 檢視值]。 複製欄位中的 value 子網名稱。 |
地點 | 自動填入以符合主要 [區域 ] 字段之 Azure 區域的簡短名稱。 |
Access 連接器名稱 | 針對一般部署,請勿修改此欄位。 Azure Databricks 會建立新的 Access Connector。 |
受控識別類型 | 針對一般部署,請勿修改此欄位。 |
使用者受控識別資源標識碼 | 針對一般部署,請勿修改此欄位。 |
記憶體帳戶防火牆 | 指定是否啟用工作區記憶體帳戶的防火牆支援。 |
停用公用IP | 這必須設定為 true 。 這可啟用 安全叢集連線,這是工作區記憶體帳戶防火牆支援的必要專案。 |
公用網路存取 | 通常將此設定為 [已啟用]。 如果您啟用 Private Link,請參閱 啟用 Azure Private Link 後端和前端連線 ,以瞭解要使用的設定。 |
必要的 Nsg 規則 | 通常將此設定為 [所有規則]。 如果您啟用 Private Link,請參閱 啟用 Azure Private Link 後端和前端連線 ,以瞭解要使用的設定。 |
已啟用客戶管理的金鑰 | 如果您使用受控服務或受控磁碟的客戶自控密鑰,請設定這個 true。 請參閱適用於加密的客戶自控金鑰。 |
客戶管理的金鑰類型 | 如果已啟用客戶管理的金鑰,請為此工作區選取客戶管理的密鑰類型。 選擇 [受控服務]、[ManagedDisks] 或 [兩者]。 |
受控 Srvc 金鑰保存庫 金鑰標識碼 | 如果您針對受控服務使用客戶管理的金鑰,請指定金鑰保存庫密鑰標識碼。 |
受控磁碟 金鑰保存庫 金鑰標識碼 | 如果您針對受控磁碟使用客戶管理的金鑰,請指定金鑰保存庫金鑰標識碼。 |
受控磁碟自動輪替 | 如果您針對受控磁碟使用客戶管理的金鑰,請指定是否要自動挑選新的金鑰版本。 |
工作區記憶體帳戶防火牆支援的ARM範本
複製下列 ARM 範本,以啟用或停用工作區記憶體帳戶的防火牆支援。 您也可以部署範例 ARM 樣本:
- 使用使用者指派的受控識別,適用於工作區記憶體防火牆的 Azure Databricks 範本。
- 使用系統指派的受控識別,適用於工作區記憶體防火牆的 Azure Databricks 範本
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspaceName": {
"type": "String",
"metadata": {
"description": "The name of the Azure Databricks workspace to update."
}
},
"location": {
"defaultValue": "[resourceGroup().location]",
"type": "String",
"metadata": {
"description": "Location for all resources."
}
},
"managedResourceGroupName": {
"defaultValue": "[format('databricks-rg-{0}-{1}', parameters('workspaceName'), uniqueString(parameters('workspaceName'), resourceGroup().id))]",
"type": "String",
"metadata": {
"description": "The Managed Resource GroupName of the workspace. Do not change unless using a custom managed resource group name."
}
},
"storageAccountName": {
"defaultValue": "[concat('dbstorage', uniqueString(resourceGroup().id, subscription().id))]",
"type": "String",
"metadata": {
"description": "Workspace storage account name. Do not change unless using a custom storage account name."
}
},
"workspaceVnetResourceId": {
"defaultValue": "Required Resource ID of the workspace VNet",
"type": "String",
"metadata": {
"description": "The Resource ID of the injected VNet for the workspace"
}
},
"workspacePrivateSubnetName": {
"defaultValue": "private-subnet",
"type": "String",
"metadata": {
"description": "The private subnet name for the workspace"
}
},
"workspacePublicSubnetName": {
"defaultValue": "public-subnet",
"type": "String",
"metadata": {
"description": "The public subnet name for the workspace"
}
},
"accessConnectorName": {
"defaultValue": "[format('{0}-access-connector', parameters('workspaceName'))]",
"type": "String",
"metadata": {
"description": "The access connector to create for the workspace"
}
},
"ManagedIdentityType": {
"defaultValue": "SystemAssigned",
"allowedValues": [
"SystemAssigned",
"UserAssigned",
"SystemAssigned,UserAssigned"
],
"type": "String",
"metadata": {
"description": "Access Connector Managed Identity Type"
}
},
"userManagedIdentityResourceId": {
"defaultValue": "Required For User Mananged Identity",
"type": "String",
"metadata": {
"description": "The Resource Id of the User Managed Identity"
}
},
"storageAccountFirewall": {
"defaultValue": "Enabled",
"allowedValues": [
"Enabled",
"Disabled"
],
"type": "String",
"metadata": {
"description": "Enable or Disable firewall support for workspace default storage feature"
}
},
"disablePublicIp": {
"defaultValue": true,
"type": "Bool",
"metadata": {
"description": "Specifies whether to deploy Azure Databricks workspace with secure cluster connectivity (SCC) enabled or not (No Public IP)."
}
},
"publicNetworkAccess": {
"defaultValue": "Enabled",
"allowedValues": [
"Enabled",
"Disabled"
],
"type": "String",
"metadata": {
"description": "Indicates whether public network access is allowed to the workspace with private endpoint - possible values are Enabled or Disabled."
}
},
"requiredNsgRules": {
"defaultValue": "AllRules",
"allowedValues": [
"AllRules",
"NoAzureDatabricksRules"
],
"type": "String",
"metadata": {
"description": "Indicates whether to retain or remove the AzureDatabricks outbound NSG rule - possible values are AllRules, NoAzureDatabricksRules (private link)."
}
},
"storageDoubleEncryption": {
"defaultValue": false,
"type": "Bool",
"metadata": {
"description": "Is double encryption for managed storage enabled ?"
}
},
"customerManagedKeysEnabled": {
"defaultValue": false,
"type": "Bool",
"metadata": {
"description": "Is CMK for managed services enabled ?"
}
},
"CustomerManagedKeyType": {
"defaultValue": "ManagedServicesCMK",
"allowedValues": [
"ManagedServicesCMK",
"ManagedDisksCMK",
"BothCMK"
],
"type": "String",
"metadata": {
"description": "Selects the CMK types for this workspace, Managed Services and/or Disks, Workspace storage account is not enabled here"
}
},
"ManagedSrvcKeyVaultKeyId": {
"defaultValue": "https://kv-url/keys/keyname/version",
"type": "String",
"metadata": {
"description": "The Key Vault Key ID"
}
},
"ManagedDiskKeyVaultKeyId": {
"defaultValue": "https://kv-url/keys/keyname/version",
"type": "String",
"metadata": {
"description": "The Key Vault Key ID"
}
},
"ManagedDiskAutoRotation": {
"type": "bool",
"defaultValue": false,
"allowedValues": [
true,
false
],
"metadata": {
"description": "Whether managed disk will pick up new key version automatically."
}
}
},
"variables": {
"ApiVersion": "2024-05-01",
"workspaceSku": "premium",
"systemAssignedObject": {
"type": "[parameters('ManagedIdentityType')]"
},
"userAssignedObject": {
"type": "[parameters('ManagedIdentityType')]",
"userAssignedIdentities": {
"[parameters('userManagedIdentityResourceId')]": {}
}
},
"ConnectorSystemAssigned": {
"id": "[resourceId('Microsoft.Databricks/accessConnectors', parameters('accessConnectorName'))]",
"identityType": "[parameters('ManagedIdentityType')]"
},
"connectorUserAssigned": {
"id": "[resourceId('Microsoft.Databricks/accessConnectors', parameters('accessConnectorName'))]",
"identityType": "[parameters('ManagedIdentityType')]",
"userAssignedIdentityId": "[parameters('userManagedIdentityResourceId')]"
},
"managedSrvcFirst" : "[split(parameters('ManagedSrvcKeyVaultKeyId'),'/keys/')]",
"managedSrvcSecond" : "[split(variables('managedSrvcFirst')[1],'/')]",
"managedDiskFirst" : "[split(parameters('ManagedDiskKeyVaultKeyId'),'/keys/')]",
"managedDiskSecond" : "[split(variables('managedDiskFirst')[1],'/')]",
"ManagedServicesCMK": {
"managedServices": {
"keySource": "Microsoft.Keyvault",
"keyVaultProperties": {
"keyVaultUri": "[variables('managedSrvcFirst')[0]]",
"keyName": "[variables('managedSrvcSecond')[0]]",
"keyVersion": "[variables('managedSrvcSecond')[1]]"
}
}
},
"ManagedDisksCMK": {
"managedDisk": {
"keySource": "Microsoft.Keyvault",
"keyVaultProperties": {
"keyVaultUri": "[variables('managedDiskFirst')[0]]",
"keyName": "[variables('managedDiskSecond')[0]]",
"keyVersion": "[variables('managedDiskSecond')[1]]"
},
"rotationToLatestKeyVersionEnabled": "[parameters('ManagedDiskAutoRotation')]"
}
},
"BothCMK": {
"managedServices": {
"keySource": "Microsoft.Keyvault",
"keyVaultProperties": {
"keyVaultUri": "[variables('managedSrvcFirst')[0]]",
"keyName": "[variables('managedSrvcSecond')[0]]",
"keyVersion": "[variables('managedSrvcSecond')[1]]"
}
},
"managedDisk": {
"keySource": "Microsoft.Keyvault",
"keyVaultProperties": {
"keyVaultUri": "[variables('managedDiskFirst')[0]]",
"keyName": "[variables('managedDiskSecond')[0]]",
"keyVersion": "[variables('managedDiskSecond')[1]]"
},
"rotationToLatestKeyVersionEnabled": "[parameters('ManagedDiskAutoRotation')]"
}
}
},
"resources": [
{
"type": "Microsoft.Databricks/accessConnectors",
"apiVersion": "2023-05-01",
"name": "[parameters('accessConnectorName')]",
"location": "[parameters('location')]",
"identity": "[if(equals(parameters('ManagedIdentityType'),'SystemAssigned'),variables('systemAssignedObject'),variables('userAssignedObject'))]",
"properties": {}
},
{
"type": "Microsoft.Databricks/workspaces",
"apiVersion": "[variables('ApiVersion')]",
"name": "[parameters('workspaceName')]",
"location": "[parameters('location')]",
"dependsOn": [
"[resourceId('Microsoft.Databricks/accessConnectors', parameters('accessConnectorName'))]"
],
"sku": {
"name": "[variables('workspaceSku')]"
},
"properties": {
"managedResourceGroupId": "[subscriptionResourceId('Microsoft.Resources/resourceGroups', parameters('managedResourceGroupName'))]",
"publicNetworkAccess": "[parameters('publicNetworkAccess')]",
"requiredNsgRules": "[parameters('requiredNsgRules')]",
"accessConnector": "[if(equals(parameters('ManagedIdentityType'),'SystemAssigned'),variables('ConnectorSystemAssigned'),variables('connectorUserAssigned'))]",
"defaultStorageFirewall": "[parameters('storageAccountFirewall')]",
"parameters": {
"customVirtualNetworkId": {
"value": "[parameters('workspaceVnetResourceId')]"
},
"customPrivateSubnetName": {
"value": "[parameters('workspacePrivateSubnetName')]"
},
"customPublicSubnetName": {
"value": "[parameters('workspacePublicSubnetName')]"
},
"enableNoPublicIp": {
"value": "[parameters('disablePublicIp')]"
},
"storageAccountName": {
"value": "[parameters('storageAccountName')]"
},
"requireInfrastructureEncryption": {
"value": "[parameters('storageDoubleEncryption')]"
}
}
},
"condition": "[not(parameters('customerManagedKeysEnabled'))]"
},
{
"type": "Microsoft.Databricks/workspaces",
"apiVersion": "[variables('ApiVersion')]",
"name": "[parameters('workspaceName')]",
"location": "[parameters('location')]",
"dependsOn": [
"[resourceId('Microsoft.Databricks/accessConnectors', parameters('accessConnectorName'))]"
],
"sku": {
"name": "[variables('workspaceSku')]"
},
"properties": {
"managedResourceGroupId": "[subscriptionResourceId('Microsoft.Resources/resourceGroups', parameters('managedResourceGroupName'))]",
"publicNetworkAccess": "[parameters('publicNetworkAccess')]",
"requiredNsgRules": "[parameters('requiredNsgRules')]",
"accessConnector": "[if(equals(parameters('ManagedIdentityType'),'SystemAssigned'),variables('ConnectorSystemAssigned'),variables('connectorUserAssigned'))]",
"encryption": {
"entities": "[variables(parameters('CustomerManagedKeyType'))]"
},
"defaultStorageFirewall": "[parameters('storageAccountFirewall')]",
"parameters": {
"customVirtualNetworkId": {
"value": "[parameters('workspaceVnetResourceId')]"
},
"customPrivateSubnetName": {
"value": "[parameters('workspacePrivateSubnetName')]"
},
"customPublicSubnetName": {
"value": "[parameters('workspacePublicSubnetName')]"
},
"enableNoPublicIp": {
"value": "[parameters('disablePublicIp')]"
},
"storageAccountName": {
"value": "[parameters('storageAccountName')]"
},
"requireInfrastructureEncryption": {
"value": "[parameters('storageDoubleEncryption')]"
}
}
},
"condition": "[parameters('customerManagedKeysEnabled')]"
}
]
}