Modèle ARM pour la prise en charge du pare-feu pour le compte de stockage d’espace de travail
Cet article vous fournit le modèle ARM et une description des champs obligatoires pour la prise en charge du pare-feu pour le compte de stockage de l'espace de travail. La prise en charge du pare-feu pour votre compte de stockage d’espace de travail est contrôlée par la propriété de modèle ARM storageAccountFirewall
, qui doit être définie sur Enabled
.
Pour certaines configurations d’espace de travail, telles que l’activation du profil de sécurité de conformité, vous aurez peut-être besoin d’un autre modèle ARM. Dans ce cas, contactez l'équipe de votre compte Databricks.
Vous pouvez également mettre à jour ou créer votre espace de travail à l’aide de Terraform. Consultez le fournisseur Terraform azurerm_databricks_workspace.
Champs de modèle ARM
Ce tableau répertorie les champs et leur description pour le modèle ARM ci-dessous pour la prise en charge du pare-feu pour le compte de stockage de l'espace de travail.
Champ | Description |
---|---|
Abonnement | Abonnement Azure à utiliser. |
Groupe de ressources | Groupe de ressources à utiliser. Il s’agit généralement du groupe de ressources de votre réseau virtuel. |
Nom de l’espace de travail | Nom de l’espace de travail. Si vous utilisez un espace de travail existant, ce nom doit correspondre exactement au nom de l'espace de travail existant. |
Nom du groupe de ressources managé | Le groupe de ressources managé pour votre espace de travail. Ce nom s'inscrit automatiquement dans le formulaire par défaut. Modifiez-le si votre organisation souhaite personnaliser le nom du groupe de ressources managé. |
Nom du compte de stockage | Le compte de stockage de l’espace de travail Azure dans votre groupe de ressources managé. Ce nom s'inscrit automatiquement dans le formulaire par défaut. Modifiez-le si votre organisation souhaite personnaliser le nom du groupe de ressources managé. |
Identifiant réseau du réseau virtuel de l’espace de travail | L’identifiant de ressource pour votre réseau virtuel. Pour un espace de travail existant, vous pouvez l’obtenir en naviguant vers l’espace de travail dans le Portail Microsoft Azure. Cliquez sur Propriétés. Sous Identifiant de réseau virtuel personnalisé, cliquez sur Afficher la valeur en tant que JSON. Copiez l’ID de la ressource dans le champ value . |
Nom du sous-réseau privé personnalisé | Le sous-réseau privé de votre réseau virtuel. Pour un espace de travail existant, vous pouvez l’obtenir en naviguant vers l’espace de travail dans le Portail Microsoft Azure. Cliquez sur Propriétés. Sous Sous-réseau personnalisé privé, cliquez sur Afficher la valeur en tant que JSON. Copiez le nom du sous-réseau dans le champ value . |
Nom de sous-réseau public personnalisé | Le sous-réseau public de votre réseau virtuel. Pour un espace de travail existant, vous pouvez l’obtenir en naviguant vers l’espace de travail dans le Portail Microsoft Azure. Cliquez sur Propriétés. Sous Sous-réseau personnalisé public, cliquez sur Afficher la valeur en tant que JSON. Copiez le nom du sous-réseau dans le champ value . |
Lieu | Nom court de la région Azure qui remplit automatiquement le champ Région principal. |
Nom du connecteur d’accès | Pour les déploiements classiques, ne modifiez pas ce champ. Azure Databricks crée un nouveau connecteur d’accès. |
Type d'identité managée | Pour les déploiements classiques, ne modifiez pas ce champ. |
Identifiant de la ressource d'identité gérée par l'utilisateur | Pour les déploiements classiques, ne modifiez pas ce champ. |
Pare-feu du compte de stockage | Indique si la prise en charge du pare-feu doit être activée pour votre compte de stockage d’espace de travail. |
Désactiver l'IP publique | Sa valeur doit être true . Cela permet une connectivité de cluster sécurisée, qui est requise pour la prise en charge du pare-feu pour votre compte de stockage d’espace de travail. |
Accès au réseau public | Définissez généralement cette option sur Activé. Si vous activez Azure Private Link, consultez Activer les connexions principales et frontales Azure Private Link pour connaître les paramètres à utiliser. |
Règles de groupe de sécurité réseau requises | Définissez généralement cette option sur Toutes les règles. Si vous activez Azure Private Link, consultez Activer les connexions principales et frontales Azure Private Link pour connaître les paramètres à utiliser. |
Clés gérées par le client activées | Définissez ce paramètre sur vrai si vous utilisez des clés gérées par le client pour les services gérés ou les disques managés. Référez-vous à la section Clés gérées par le client pour le chiffrement. |
Type de clés gérées par le client | Si les clés gérées par le client sont activées, sélectionnez les types de clés gérées par le client pour cet espace de travail. Choisissez Services gérés, ManagedDisksou Les deux. |
Identifiant de clé Key Vault Srvc managé | Si vous utilisez des clés gérées par le client pour les services gérés, indiquez l’identifiant de clé du coffre de clés. |
Identifiant de clé du coffre de clés du disque managé | Si vous utilisez des clés gérées par le client pour les disques managés, indiquez l’identifiant de clé du coffre de clés. |
Rotation automatique du disque managé | Si vous utilisez des clés gérées par le client pour les disques managés, indiquez si les nouvelles versions de clés doivent être récupérées automatiquement. |
Modèle ARM pour la prise en charge du pare-feu pour votre compte de stockage d’espace de travail
Copiez le modèle ARM suivant pour activer ou désactiver la prise en charge du pare-feu pour votre compte de stockage de l'espace de travail. Vous pouvez également déployer un exemple de modèle ARM :
- modèle Azure Databricks pour le pare-feu de stockage d’espace de travail à l’aide d’une identité managée affectée par l’utilisateur.
- modèle Azure Databricks pour le pare-feu de stockage d’espace de travail à l’aide d’une identité managée affectée par le système
{
"$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')]"
}
]
}