Connectivité sécurisée des clusters

Quand la connectivité sécurisée des clusters est activée, les réseaux virtuels du client n’ont pas de ports ouverts et les ressources de calcul du plan de calcul classique n’ont pas d’adresses IP publiques. La connectivité sécurisée des clusters est également appelée No Public IP / NPIP (NPIP).

  • Au niveau du réseau, chaque cluster établit une connexion au relais de connectivité sécurisée des clusters du plan de contrôle lors de la création du cluster. Le cluster établit cette connexion à l’aide du port 443 (HTTPS) et utilise une adresse IP différente de celle utilisée pour l’application web et l’API REST.
  • Lorsque le plan de contrôle démarre logiquement de nouveaux travaux Databricks Runtime ou effectue d’autres tâches d’administration de cluster, ces demandes sont envoyées au cluster via ce tunnel.
  • Le plan de calcul (réseau virtuel) n’a pas de ports ouverts et les ressources du plan de calcul classique n’ont pas d’adresses IP publiques.

Avantages :

  • Facilité d’administration du réseau, sans avoir besoin de configurer des ports sur des groupes de sécurité ou un appairage de réseaux.
  • Grâce à une sécurité renforcée et une administration de réseau simple, les équipes de sécurité des informations peuvent accélérer l’approbation de Databricks en tant que fournisseur PaaS.

Remarque

Tout le trafic réseau Azure Databricks entre le réseau virtuel du plan de calcul classique et le plan de contrôle Azure Databricks passe par la dorsale principale du réseau Microsoft au lieu de l’Internet public. Cela est vrai même si la connectivité sécurisée des clusters est désactivée.

Bien que le plan de calcul serverless n’utilise pas le relais de connectivité de cluster sécurisé pour le plan de calcul classique, les entrepôts SQL serverless n’ont pas d’adresses IP publiques.

Connectivité sécurisée des clusters

Utiliser la connectivité sécurisée des clusters

Pour utiliser la connectivité sécurisée des clusters avec un nouvel espace de travail Azure Databricks, utilisez l’une des options suivantes.

  • Portail Azure : lorsque vous approvisionnez l’espace de travail, accédez à l’onglet Mise en réseau et définissez l’option Déployer un espace de travail Azure Databricks avec une connectivité sécurisée des clusters (No Public IP) sur Oui.
  • Modèles ARM : pour la ressource Microsoft.Databricks/workspaces qui crée votre espace de travail, définissez le paramètre booléen enableNoPublicIp sur true.

Important

Dans les deux cas, vous devez inscrire le fournisseur de ressources Azure Microsoft.ManagedIdentity dans l’abonnement Azure qui est utilisé pour lancer des espaces de travail avec une connectivité sécurisée des clusters. Vous ne devez effectuer cette opération qu’une fois par abonnement. Pour obtenir des instructions, consultez Fournisseurs et types de ressources Azure.

Vous pouvez ajouter une connectivité de cluster sécurisée à un espace de travail existant qui utilise déjà l'injection sur réseau virtuel. Voir Ajouter une connectivité de cluster sécurisée à un espace de travail existant.

Si vous utilisez des modèles ARM, ajoutez le paramètre à l’un des modèles suivants, selon que vous souhaitez qu’Azure Databricks crée un réseau virtuel par défaut (managé) pour l’espace de travail, ou utiliser votre propre réseau virtuel en procédant à une injection dans le réseau virtuel. L’injection dans le réseau virtuel est une fonctionnalité facultative qui vous permet de fournir votre propre réseau virtuel pour héberger de nouveaux clusters Azure Databricks.

Sortie de sous-réseaux d’espace de travail

Lorsque vous activez la connectivité sécurisée des clusters, les deux sous-réseaux de votre espace de travail sont des sous-réseaux privés, car les nœuds de cluster n’ont pas d’adresses IP publiques.

Les détails de l’implémentation de la sortie de réseau varient selon que vous utilisez le réseau virtuel par défaut (managé) ou la fonctionnalité facultative d’injection dans le réseau virtuel pour fournir votre propre réseau virtuel dans lequel déployer votre espace de travail. Pour plus d’informations, consultez les sections suivantes.

Important

L’augmentation du trafic de sortie résultant de l’utilisation de la connectivité sécurisée des clusters peut occasionner des coûts supplémentaires. Pour une organisation de taille modeste ayant besoin d’une solution à coût optimisé, il peut être acceptable de désactiver la connectivité sécurisée des clusters lors du déploiement de l’espace de travail. Toutefois, pour un déploiement sécurisé de manière optimale, Microsoft et Databricks recommandent vivement d’activer la connectivité sécurisée des clusters.

Sortie avec un réseau virtuel par défaut (managé)

Si vous utilisez la connectivité sécurisée des clusters avec le réseau virtuel par défaut qu’Azure Databricks crée, Azure Databricks crée automatiquement une passerelle NAT pour le trafic sortant des sous-réseaux de votre espace de travail vers le réseau principal Azure et le réseau public. La passerelle NAT est créée dans le groupe de ressources managé par Azure Databricks. Vous ne pouvez modifier ni ce groupe de ressources, ni les ressources qui y sont approvisionnées.

La passerelle NAT créée automatiquement occasionne des coûts supplémentaires.

Sortie avec une injection de réseau virtuel

Si vous activez la connectivité de cluster sécurisée sur votre espace de travail qui utilise l’injection de réseau virtuel, Databricks recommande que votre espace de travail dispose d’une adresse IP publique de sortie stable.

Les adresses IP publiques de sortie stables sont utiles, car vous pouvez les ajouter à des listes d’autorisation externes. Par exemple, pour vous connecter à Salesforce à partir d’Azure Databricks avec une adresse IP sortante stable.

Avertissement

Microsoft a annoncé que le 30 septembre 2025, la connectivité d’accès sortante par défaut pour les machines virtuelles dans Azure sera supprimée. Consultez cette annonce. Cela signifie que les espaces de travail Azure Databricks existants qui utilisent l’accès sortant par défaut, plutôt qu’une adresse IP publique de sortie stable, peuvent ne pas continuer à fonctionner après cette date. Databricks vous recommande d’ajouter des méthodes sortantes explicites pour vos espaces de travail avant cette date.

Choisissez l’une des options suivantes :

  • Pour les déploiements nécessitant une certaine personnalisation, choisissez une passerelle NAT Azure. Configurez la passerelle sur les deux sous-réseaux de l’espace de travail pour vous assurer que tout le trafic sortant vers le réseau principal Azure et le réseau public transite par celle-ci. Les clusters ont une adresse IP publique de sortie stable, et vous pouvez modifier la configuration des besoins de sortie personnalisés. Vous pouvez implémenter cette solution à l’aide d’un modèle Azure ou du portail Azure.
  • Pour des déploiements avec des exigences de routage complexes, ou qui utilisent une injection dans le réseau virtuel avec un pare-feu de sortie tel que le Pare-feu Azure, ou d’autres architectures de mise en réseau personnalisées, vous pouvez utiliser des itinéraires personnalisés appelés itinéraires définis par l’utilisateur (UDR). Les UDR garantissent que le trafic réseau est correctement routé pour votre espace de travail, soit directement vers les points de terminaison requis, soit via un pare-feu de sortie. Si vous utilisez une telle solution, vous devez ajouter des itinéraires directs ou des règles de pare-feu autorisées pour le relais de connectivité sécurisée des clusters Azure Databricks et d’autres points de terminaison requis répertoriés dans Paramètres de routage définis par l’utilisateur pour Azure Databricks.

Avertissement

N’utilisez pas d’équilibreur de charge de sortie avec un espace de travail pour lequel la connectivité de cluster sécurisée est activée. Dans les systèmes de production, un équilibreur de charge de sortie peut entraîner un risque d’épuisement des ports.

Ajoutez une connectivité de cluster sécurisée à un espace de travail existant

Vous pouvez activer la connectivité de cluster sécurisée sur un espace de travail existant. La mise à niveau nécessite que l’espace de travail utilise l’injection dans un réseau virtuel.

Vous pouvez utiliser l'interface utilisateur du portail, un modèle ARM ou la version 3.41.0+ du fournisseur Terraform azurerm. Vous pouvez utiliser le Portail Azure pour appliquer un modèle personnalisé et modifier le paramètre dans l'interface utilisateur. Vous pouvez également mettre à niveau l’instance d’espace de travail Azure Databricks elle-même dans l’interface utilisateur du Portail Microsoft Azure.

Important

Avant d’effectuer cette modification, si vous utilisez un pare-feu ou avez apporté d’autres modifications de configuration réseau pour contrôler l’entrée ou la sortie à partir du plan de calcul classique, vous devrez peut-être mettre à jour les règles de votre pare-feu ou de votre groupe de sécurité réseau en même temps que ces modifications pour qu’elles prennent pleinement effet. Par exemple, avec une connectivité de cluster sécurisée, il existe une connexion sortante supplémentaire vers le plan de contrôle et les connexions entrantes du plan de contrôle ne sont plus utilisées.

Si un problème se produit lors de la mise à niveau et que vous devez annuler temporairement la modification, consultez Annulation temporaire de la mise à niveau pour sécuriser la connectivité du cluster.

Étape 1 : Arrêtez toutes les ressources de calcul

Avant de lancer la mise à niveau, vous devez arrêter toutes les ressources de calcul, comme les clusters, les pools ou les entrepôts SQL classiques. La tentative de mise à niveau échoue si une ressource de calcul de l'espace de travail est en cours d'exécution. Databricks recommande de planifier la mise à niveau pendant les temps d'arrêt.

Étape 2 : Mettre à jour l'espace de travail

Vous devez mettre à jour le paramètre Aucune adresse IP publique (sur le modèle, il s'agit de enableNoPublicIp). Définissez-le sur la valeur True (true).

Utilisez l'une des méthodes suivantes :

Utiliser l’interface utilisateur du Portail Azure (sans modèle)

  1. Accédez à votre instance de service Azure Databricks dans le Portail Azure.

  2. Dans le volet de navigation de gauche, sous Paramètres, cliquez sur Mise en réseau.

  3. Sélectionnez Aucune adresse IP publique.

    Remarque

    En même temps, vous pouvez choisir d’activer également Azure Private Link en définissant les valeurs pour Autoriser l’accès au réseau public et Règles NSG requises sur les valeurs appropriées pour votre cas d’utilisation. Cependant, une configuration et une vérification supplémentaires sont requises pour activer Private Link. Vous souhaiterez donc peut-être le faire dans le cadre d'une étape distincte après cette mise à jour pour une connectivité sécurisée du cluster. Pour obtenir des détails et des exigences importants, consultez activer Azure Private Link.

  4. Cliquez sur Enregistrer.

La mise à jour du réseau peut durer plus de 15 minutes.

Appliquer un modèle ARM mis à jour à l’aide du Portail Azure

Notes

Si le nom du groupe de ressources managées est personnalisé, modifiez le modèle en conséquence. Contactez l’équipe de votre compte Azure Databricks pour plus d’informations.

  1. Copiez le JSON du modèle ARM de mise à niveau suivant :

      {
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "location": {
                "defaultValue": "[resourceGroup().location]",
                "type": "String",
                "metadata": {
                    "description": "Location for all resources."
                }
            },
            "workspaceName": {
                "type": "String",
                "metadata": {
                    "description": "The name of the Azure Databricks workspace to create."
                }
            },
            "apiVersion": {
                "defaultValue": "2023-02-01",
                "allowedValues": [
                   "2018-04-01",
                   "2020-02-15",
                   "2022-04-01-preview",
                   "2023-02-01"
                ],
                "type": "String",
                "metadata": {
                    "description": "2018-03-15 for 'full region isolation control plane' and 2020-02-15 for 'FedRAMP certified' regions"
                }
            },
            "enableNoPublicIp": {
                "defaultValue": true,
                "type": "Bool"
            },
            "pricingTier": {
                "defaultValue": "premium",
                "allowedValues": [
                    "premium",
                    "standard",
                    "trial"
                ],
                "type": "String",
                "metadata": {
                    "description": "The pricing tier of workspace."
                }
            },
            "publicNetworkAccess": {
              "type": "string",
              "defaultValue": "Enabled",
              "allowedValues": [
                "Enabled",
                "Disabled"
              ],
              "metadata": {
                "description": "Indicates whether public network access is allowed to the workspace - possible values are Enabled or Disabled."
              }
            },
            "requiredNsgRules": {
              "type": "string",
              "defaultValue": "AllRules",
              "allowedValues": [
                "AllRules",
                "NoAzureDatabricksRules"
              ],
              "metadata": {
                "description": "Indicates whether to retain or remove the AzureDatabricks outbound NSG rule - possible values are AllRules or NoAzureDatabricksRules."
              }
            }
            },
        "variables": {
            "managedResourceGroupName": "[concat('databricks-rg-', parameters('workspaceName'), '-', uniqueString(parameters('workspaceName'), resourceGroup().id))]",
            "managedResourceGroupId": "[subscriptionResourceId('Microsoft.Resources/resourceGroups', variables('managedResourceGroupName'))]"
        },
        "resources": [
            {
                "type": "Microsoft.Databricks/workspaces",
                "apiVersion": "[parameters('apiVersion')]",
                "name": "[parameters('workspaceName')]",
                "location": "[parameters('location')]",
                "sku": {
                    "name": "[parameters('pricingTier')]"
                },
                "properties": {
                    "ManagedResourceGroupId": "[variables('managedResourceGroupId')]",
                    "publicNetworkAccess": "[parameters('publicNetworkAccess')]",
                    "requiredNsgRules": "[parameters('requiredNsgRules')]",
                    "parameters": {
                        "enableNoPublicIp": {
                            "value": "[parameters('enableNoPublicIp')]"
                        }
                    }
                }
            }
        ]
    }
    
    1. Accédez à la page Déploiement personnalisé du Portail Azure.

    2. Cliquez sur Créer votre propre modèle dans l’éditeur.

    3. Collez le JSON du modèle que vous avez copié.

    4. Cliquez sur Enregistrer.

    5. Complétez les paramètres.

    6. Pour mettre à jour un espace de travail existant, utilisez les mêmes paramètres que ceux que vous avez utilisés pour créer l'espace de travail, à l'exception enableNoPublicIpdesquels vous devez définir true. Définissez l'abonnement, la région, le nom de l'espace de travail, les noms de sous-réseau et l'ID de ressource du réseau virtuel existant.

      Important

      Le nom du groupe de ressources, le nom de l'espace de travail et les noms de sous-réseau sont identiques à votre espace de travail existant, de sorte que cette commande met à jour l'espace de travail existant plutôt que de créer un nouvel espace de travail.

    7. Cliquez sur Revoir + créer.

    8. S’il n’y a aucun problème de validation, cliquez sur créer.

    La mise à jour du réseau peut durer plus de 15 minutes.

Appliquer une mise à jour à l'aide de Terraform

Pour les espaces de travail créés avec Terraform, vous pouvez mettre à jour l'espace de travail sans recréer l'espace de travail.

Important

Vous devez utiliser terraform-provider-azurerm version 3.41.0 ou ultérieure. Vous devez donc, si nécessaire, mettre à niveau la version de votre fournisseur Terraform. Les versions antérieures tentent de recréer l'espace de travail lorsque vous modifiez l'un de ces paramètres.

Vous pouvez gérer les paramètres d'espace de travail suivants :

  • no_public_ip dans le bloc custom_parameters peut être modifié de false à true.

La mise à jour du réseau peut durer plus de 15 minutes.

Étape 3 : Validez la mise à jour

Une fois que l'espace de travail est à l'état actif, la tâche de mise à jour est terminée. Vérifiez que la mise à jour a été appliquée :

  1. Ouvrez Azure Databricks dans votre navigateur Web.

  2. Démarrez l’un des clusters de l’espace de travail et attendez que le cluster soit complètement démarré.

  3. Accédez à votre instance d’espace de travail dans le Portail Microsoft Azure.

  4. Cliquez sur l'ID bleu à côté du champ intitulé Groupe de ressources managées.

  5. Dans ce groupe, recherchez les machines virtuelles du cluster et cliquez sur l'une d'elles.

  6. Dans les paramètres de la VM, dans Propriétés, recherchez les champs dans la zone Réseau.

  7. Confirmez que le champ Adresse IP publique est vide.

    S'il est renseigné, la VM possède une adresse IP publique, ce qui signifie que la mise à jour a échoué.

Récupération après défaillance

Lorsque la mise à jour d'un espace de travail échoue, celui-ci peut être marqué en échec. En d'autres termes, l'espace de travail ne peut pas effectuer d'opérations de calcul. Pour rétablir l'état Actif d'un espace de travail en échec, consultez les instructions du message d'état de l'opération de mise à jour. Une fois ces problèmes résolus, relancez la mise à jour sur l'espace de travail ayant échoué. Répétez les étapes jusqu'à ce que la mise à jour s'achève correctement.

Annulation temporaire de la mise à niveau pour sécuriser la connectivité du cluster

Si quelque chose ne va pas pendant le déploiement, vous pouvez inverser le processus en tant que restauration temporaire, mais la désactivation de SCC sur un espace de travail n'est pas prise en charge, sauf pour une restauration temporaire avant de poursuivre la mise à niveau ultérieurement. Si cela est nécessaire temporairement, vous pouvez suivre les instructions ci-dessus pour la mise à niveau, mais en les définissant enableNoPublicIp sur false au lieu de true.