Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Questo articolo fornisce il modello ARM e una descrizione dei campi obbligatori per il supporto firewall su l'account di archiviazione dello spazio di lavoro. Il supporto del firewall per l'account di archiviazione dell'area di lavoro è controllato dalla proprietà storageAccountFirewall del modello ARM, che deve essere impostata su Enabled.
Per determinate configurazioni dell'area di lavoro, come l'abilitazione del profilo di sicurezza della conformità, potrebbe essere necessario un modello ARM diverso. In tal caso, contattare il team dell'account di Databricks.
È anche possibile aggiornare o creare l'area di lavoro usando Terraform. Vedi il provider Terraform "azurerm_databricks_workspace".
Campi del modello ARM
Questa tabella elenca i campi e le relative descrizioni per il modello ARM seguente per l'account di archiviazione dell'area di lavoro con supporto firewall.
| Campo | Descrizione |
|---|---|
| Abbonamento | Sottoscrizione di Azure da usare. |
| Gruppo di risorse | Gruppo di risorse da usare. Si tratta in genere del gruppo di risorse della rete virtuale. |
| Nome area di lavoro | Nome dell'area di lavoro. Se si usa un'area di lavoro esistente, deve corrispondere esattamente al nome dell'area di lavoro esistente. |
| Nome gruppo di risorse gestite | Gruppo di risorse gestite per l'area di lavoro. Si compila automaticamente nel modulo con un nome predefinito. Modificarlo se l'organizzazione vuole personalizzare il nome del gruppo di risorse gestite. |
| Nome account di archiviazione | Account di archiviazione dell'area di lavoro di Azure nel gruppo di risorse gestito. Questo modulo viene automaticamente compilato con un nome predefinito. Modificarlo se l'organizzazione vuole personalizzare il nome del gruppo di risorse gestite. |
| ID di rete VNet dell'area di lavoro | L'ID della risorsa per il VNet. Per un'area di lavoro esistente, è possibile accedere all'area di lavoro nel portale di Azure. Scegliere Proprietà. In ID della rete virtuale personalizzata, fare clic su Visualizza valore come JSON. Copiare l'ID risorsa nel value campo. |
| Nome subnet privato personalizzato | Subnet privata per la tua rete virtuale. Per un'area di lavoro esistente, basta accedere all'area di lavoro nel portale di Azure. Scegliere Proprietà. In Subnet privata personalizzata fare clic su Visualizza valore come JSON. Copia il nome della subnet nel campo value. |
| Nome subnet pubblico personalizzato | Subnet pubblica per la rete virtuale. Per un'area di lavoro esistente, è possibile passare all'area di lavoro nella portale di Azure. Scegliere Proprietà. In Subnet pubblica personalizzata fare clic su Visualizza valore come JSON. Copiare il nome della sottorete nel campo value. |
| Ubicazione | Nome breve dell'area di Azure che viene automaticamente popolato per corrispondere al campo principale Region. |
| Nome connettore di accesso | Per le distribuzioni tipiche, non modificare questo campo. Azure Databricks crea un nuovo connettore di accesso. |
| Tipo di identità gestita | Per le distribuzioni tipiche, non modificare questo campo. |
| ID risorsa identità gestita dall'utente | Per le distribuzioni tipiche, non modificare questo campo. |
| Firewall dell'account di archiviazione | Specifica se abilitare il supporto del firewall per l'account di archiviazione dell'area di lavoro. |
| Disabilitare l'indirizzo IP pubblico | L'impostazione deve essere true. Ciò consente la connettività sicura del cluster, necessaria per il supporto del firewall per l'account di archiviazione dell'area di lavoro. |
| Accesso alla rete pubblica | In genere impostare questa opzione su Abilitato. Se si abilita collegamento privato, vedere Concetti relativi al collegamento privato di Azure per informazioni sulle impostazioni da usare. |
| Regole Nsg obbligatorie | In genere impostare questa opzione su Tutte le regole. Se si abilita collegamento privato, vedere Concetti relativi al collegamento privato di Azure per informazioni sulle impostazioni da usare. |
| Chiavi gestite dal cliente abilitate | Impostare questo valore true se si usano chiavi gestite dal cliente per servizi gestiti o dischi gestiti. Vedere Chiavi gestite dal cliente per la crittografia. |
| Tipo di chiavi gestite dal cliente | Se le chiavi gestite dal cliente sono abilitate, selezionare i tipi di chiave gestiti dal cliente per questa area di lavoro. Scegliere Servizi Gestiti, Dischi Gestiti o Entrambi. |
| ID chiave di Managed Service Key Vault | Se si usano chiavi gestite dal cliente per i servizi gestiti, specificare l'ID della chiave del Key Vault. |
| ID chiave Key Vault del disco gestito | Se si usano chiavi gestite dal cliente per i dischi gestiti, specificare l'ID dell'insieme di chiavi. |
| Rotazione automatica del disco gestito | Se si usano chiavi gestite dal cliente per i dischi gestiti, specificare se selezionare automaticamente le nuove versioni delle chiavi. |
Modello ARM per il supporto del firewall per l'account di archiviazione dell'area di lavoro
Copiare il seguente modello ARM per abilitare o disabilitare il supporto del firewall per l'account di archiviazione dell'area di lavoro.
{
"$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')]"
}
]
}