Partager via


Activer la prise en charge de pare-feu pour votre compte de stockage d’espace de travail

Chaque espace de travail Azure Databricks est associé à un compte de stockage Azure dans un groupe de ressources managé appelé compte de stockage d’espace de travail. Le compte de stockage de l'espace de travail contient des données système de l'espace de travail (résultats de travail, paramètres système et journaux), la racine DBFS et, dans certains cas, un catalogue d'espace de travail Unity Catalog. Cette page explique comment limiter l’accès à votre compte de stockage d’espace de travail à partir de seules ressources et réseaux autorisés. Vous pouvez utiliser Azure CLI ou PowerShell.

Qu’est-ce que la prise en charge de pare-feu pour votre compte de stockage d’espace de travail ?

Par défaut, le compte de stockage Azure pour votre compte de stockage d’espace de travail accepte les connexions authentifiées de tous les réseaux. Vous pouvez limiter cet accès en activant la prise en charge de pare-feu pour votre compte de stockage d’espace de travail. Cela interdit l’accès au réseau public et empêche les réseaux non autorisés d’accéder au compte de stockage de l’espace de travail. Vous souhaiterez probablement configurer ceci si votre organisation dispose de stratégies Azure qui garantissent que les comptes de stockage sont privés.

Lorsque la prise en charge du pare-feu pour votre compte de stockage d’espace de travail est activée, tous les accès à partir de services en dehors d’Azure Databricks doivent utiliser des points de terminaison privés approuvés avec Private Link. Azure Databricks crée un connecteur d’accès pour se connecter au stockage à l’aide d’une identité managée Azure. L’accès depuis le calcul sans serveur Azure Databricks doit se faire via des points de terminaison de service ou des points de terminaison privés.

Spécifications

  • Votre espace de travail doit activer l’injection de réseau virtuel pour les connexions à partir du plan de calcul classique.

  • Votre espace de travail doit activer la connectivité de cluster sécurisée (Pas d’IP publique / NPIP) pour les connexions depuis le plan de calcul classique.

  • Votre espace de travail doit être sur le plan Premium.

  • Vous devez disposer d’un sous-réseau distinct pour les points de terminaison privés du compte de stockage. Il vient s’ajouter aux deux sous-réseaux principaux réservés aux fonctionnalités Azure Databricks de base.

    Le sous-réseau doit se trouver dans le même VNet que l’espace de travail ou dans un VNet distinct auquel l’espace de travail peut accéder. Utilisez la taille minimale, /28, dans la notation CIDR.

  • Si vous utilisez Cloud Fetch avec le service Power BI Microsoft Fabric, vous devez toujours utiliser une passerelle pour l’accès privé au compte de stockage d’espace de travail ou désactiver Cloud Fetch. Consultez l’étape 2 (recommandé) : Configurer des points de terminaison privés pour les réseaux virtuels clients Cloud Fetch.

  • Pour les méthodes de déploiement Azure CLI ou PowerShell, vous devez créer un connecteur d’accès Azure Databricks et enregistrer son ID de ressource avant d’activer le pare-feu de stockage d’espace de travail par défaut. Cela nécessite l’utilisation d’une identité managée affectée par le système ou affectée par l’utilisateur. Consultez Access Connector pour Databricks. Vous ne pouvez pas utiliser le connecteur d’accès Azure Databricks dans le groupe de ressources managé.

Étape 1 : Créer des points de terminaison privés dans le compte de stockage

Créez deux points de terminaison privés dans votre compte de stockage d’espace de travail à partir de votre VNet que vous avez utilisé pour l’injection de VNet pour les valeurs de la Sous-ressource cible : dfs et blob.

Remarque

Si vous recevez une erreur d’affectation de refus sur votre groupe de ressources managé, il est possible que votre espace de travail précède le modèle actuel d’autorisations de groupe de ressources managé. Contactez votre équipe de compte Databricks pour mettre à jour la configuration du groupe de ressources managé avant de continuer.

Si vous recevez un avertissement sur l’exécution des ressources de calcul, arrêtez tout le calcul dans votre espace de travail avant de suivre les étapes 1 à 4.

  1. Accédez à votre espace de travail.

  2. Sous Fonctionnalités essentielles, cliquez sur le nom du Groupe de ressources managé.

  3. Sous Ressources, notez le nom de votre compte de stockage d’espace de travail. Le nom commence généralement par dbstorage.

  4. Dans la zone de recherche située en haut du portail, entrez et sélectionnez Point de terminaison privé.

  5. Cliquez sur + Créer.

  6. Dans le champ du nom du Groupe de ressources, définissez votre groupe de ressources.

    Importante

    Le groupe de ressources doit être différent du groupe de ressources managé dans lequel se trouve votre compte de stockage d’espace de travail.

  7. Dans le champ Nom , entrez un nom unique pour ce point de terminaison privé :

    • Pour le premier point de terminaison privé que vous créez pour chaque réseau source, créez un point de terminaison DFS. Databricks recommande d’ajouter le suffixe -dfs-pe
    • Pour le second point de terminaison privé que vous créez pour chaque réseau source, créez un point de terminaison Blob. Databricks recommande d’ajouter le suffixe -blob-pe

    Le champ Nom de l’interface réseau est automatiquement renseigné.

  8. Définissez le champ Région sur la région de votre espace de travail.

  9. Cliquez sur Suivant : Ressource.

  10. Dans la méthode Connexion, sélectionnez Se connecter à une ressource Azure dans mon répertoire.

  11. Dans Abonnement, sélectionnez l’abonnement dans lequel se trouve votre espace de travail.

  12. Dans le type de ressource, sélectionnez Microsoft.Storage/storageAccounts.

  13. Dans Ressource, sélectionnez votre compte de stockage d’espace de travail.

  14. Dans la sous-ressource cible, sélectionnez le type de ressource cible.

    • Pour le premier point de terminaison privé que vous créez pour chaque réseau source, définissez la valeur dfs.
    • Pour le second point de terminaison privé que vous créez pour chaque réseau source, définissez la valeur blob.
  15. Cliquez sur Suivant : Réseau virtuel.

  16. Dans le champ Réseau virtuel, sélectionnez un VNet.

  17. Dans le champ du sous-réseau, sélectionnez le sous-réseau distinct que vous avez réservé pour les points de terminaison privés du compte de stockage.

    Ce champ peut remplir automatiquement le sous-réseau de vos points de terminaison privés, mais vous devrez peut-être le définir explicitement. Vous ne pouvez pas utiliser l’un des deux sous-réseaux d’espace de travail utilisés pour les fonctionnalités de base de l’espace de travail Azure Databricks, qui sont généralement appelées private-subnet et public-subnet.

  18. Modifiez la configuration IP privée et le groupe de sécurité d’application par défaut si nécessaire.

  19. Cliquez sur Suivant : DNS. L’onglet DNS est automatiquement renseigné avec l’abonnement et le groupe de ressources appropriés que vous avez sélectionnés précédemment. Changez-les si nécessaire.

    Remarque

    Si aucune zone DNS privée pour le type de sous-ressource cible (dfs ou blob) n’est attachée au réseau virtuel de l’espace de travail, Azure crée une zone DNS privée. Si une zone DNS privée pour ce type de sous-ressource existe déjà sur le réseau virtuel de l’espace de travail, Azure le sélectionne automatiquement. Un réseau virtuel ne peut avoir qu’une seule zone DNS privée par type de sous-ressource.

  20. Cliquez sur Suivant : Balises et ajouter des balises si vous le souhaitez.

  21. Cliquez sur Suivant : Passez en revue + créez et passez en revue les champs.

  22. Cliquez sur Créer.

Étape 2 (recommandé) : Configurer des points de terminaison privés pour les réseaux virtuels clients Cloud Fetch

Cloud Fetch est un mécanisme dans ODBC et JDBC permettant d’extraire des données en parallèle via le stockage cloud afin de les apporter plus rapidement aux outils de décisionnel. Si vous récupérez des résultats de requête de plus de 100 Mo à partir d’outils décisionnels, vous utilisez probablement Cloud Fetch.

Remarque

Si vous utilisez le service Microsoft Fabric Power BI avec Azure Databricks et activez la prise en charge du pare-feu sur le compte de stockage de l’espace de travail, vous devez configurer une passerelle de données de réseau virtuel ou une passerelle de données locale pour autoriser l’accès privé au compte de stockage. Cela garantit que le service Fabric Power BI peut continuer à accéder au compte de stockage de l’espace de travail et que Cloud Fetch continue de fonctionner correctement.

Cette exigence ne s’applique pas à Power BI Desktop.

Si vous utilisez Cloud Fetch, créez des points de terminaison privés dans le compte de stockage d’espace de travail à partir de n’importe quel VNet de vos clients Cloud Fetch.

Pour chaque réseau source pour les clients Cloud Fetch, créez deux points de terminaison privés qui utilisent deux valeurs différentes pour la Sous-ressource cible : dfs et blob. Consultez l’étape 1 : Créer des points de terminaison privés sur le compte de stockage pour obtenir des étapes détaillées. Dans ces étapes, pour le champ Réseau virtuel lorsque vous créez le point de terminaison privé, veillez à spécifier votre VNet source pour chaque client Cloud Fetch.

Étape 3 : Confirmer les approbations des points de terminaison

Après avoir créé tous vos points de terminaison privés dans le compte de stockage, vérifiez qu’ils sont approuvés. Ils seront peut-être approuvés automatiquement ou vous devrez peut-être les approuver sur le compte de stockage.

  1. Accédez à votre espace de travail dans le portail Azure.
  2. Sous Fonctionnalités essentielles, cliquez sur le nom du Groupe de ressources managé.
  3. Sous Ressources, cliquez sur la ressource de type Compte de stockage dont le nom commence par dbstorage.
  4. Dans la barre latérale, cliquez sur Mise en réseau.
  5. Cliquez sur connexion de point de terminaison privé.
  6. Vérifiez l’État de la connexion pour confirmer qu’ils sont marqués Approuvé, ou sélectionnez-les et cliquez sur Approuver.

Étape 4 : Autoriser les connexions de calcul sans serveur

Vous devez autoriser les services de calcul sans serveur à se connecter à votre compte de stockage d'espace de travail. La méthode dépend de la création de votre compte de stockage d’espace de travail :

  • Lorsque vous attachez votre espace de travail à un NCC, le pare-feu de votre compte de stockage d’espace de travail par défaut est automatiquement configuré avec des points de terminaison de service pour l'accès sans serveur.
  • Si vous souhaitez activer l'accès au calcul sans serveur d'Azure Databricks en utilisant des points de terminaison privés, contactez l'équipe de votre compte Azure Databricks.

Activer la prise en charge du pare-feu de stockage à l’aide d’Azure CLI

  • Pour activer la prise en charge du pare-feu à l’aide du connecteur d’accès avec une identité affectée par le système, dans Cloud Shell, exécutez :

    az databricks workspace update \
       --resource-group "<resource-group-name>" \
       --name "<workspace-name>" \
       --subscription "<subscription-id>" \
       --default-storage-firewall "Enabled" \
       --access-connector "{\"id\":\"/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Databricks/accessConnectors/<access-connector-name>\", \"identity-type\":\"SystemAssigned\"}"
    
  • Pour activer le support du pare-feu en utilisant le connecteur d’accès avec une identité assignée par l'utilisateur, exécutez dans Cloud Shell :

    az databricks workspace update \
    --resource-group "<resource-group-name>" \
    --name "<workspace-name>" \
    --subscription "<subscription-id>" \
    --default-storage-firewall "Enabled" \
    --access-connector "{\"id\":\"/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Databricks/accessConnectors/<access-connector-name>\", \"identity-type\":\"UserAssigned\", \"user-assigned-identity-id\":\"/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed-identity-name>\"}"
    
  • Pour désactiver la prise en charge du pare-feu à l’aide du connecteur d’accès, dans Cloud Shell, exécutez :

    az databricks workspace update \
       --name "<workspace-name>" \
       --subscription "<subscription-id>" \
       --resource-group "<resource-group-name>" \
       --default-storage-firewall "Disabled"
    

Activer la prise en charge du pare-feu de stockage à l’aide de PowerShell

  • Pour activer la prise en charge du pare-feu à l’aide du connecteur d’accès avec une identité affectée par le système, dans Cloud Shell, exécutez :

    Update-AzDatabricksWorkspace `
       -Name "<workspace-name>" `
       -ResourceGroupName "<resource-group-name>" `
       -SubscriptionId "<subscription-ID>" `
       -Sku "Premium" `
       -AccessConnectorId "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Databricks/accessConnectors/<access-connector-name>" `
       -AccessConnectorIdentityType "SystemAssigned" `
       -DefaultStorageFirewall "Enabled"
    
  • Pour activer la prise en charge du pare-feu en utilisant le connecteur d'accès avec une identité attribuée par l'utilisateur, exécutez dans Cloud Shell :

    Update-AzDatabricksWorkspace `
       -Name "<workspace-name>" `
       -ResourceGroupName "<resource-group-name>" `
       -SubscriptionId "<subscription-ID>" `
       -Sku "Premium" `
       -AccessConnectorId "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Databricks/accessConnectors/<access-connector-name>" `
       -AccessConnectorIdentityType "UserAssigned" `
       -AccessConnectorUserAssignedIdentityId "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed-identity-name>" `
       -DefaultStorageFirewall "Enabled"
    
  • Pour désactiver la prise en charge du pare-feu à l’aide du connecteur d’accès, dans Cloud Shell, exécutez :

    Update-AzDatabricksWorkspace `
       -Name "<workspace-name>" `
       -ResourceGroupName "<resource-group-name>" `
       -SubscriptionId "<subscription-ID>" `
       -DefaultStorageFirewall "Disabled"