Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Databricks Apps prend en charge le contrôle réseau affiné pour vous aider à sécuriser et à gérer la façon dont votre application communique avec Internet et les ressources internes. Vous pouvez configurer des règles de trafic entrantes (entrantes) et sortantes à l’aide d’une combinaison de listes d’accès IP, de connectivité privée frontale et de stratégies réseau.
Architecture réseau
Azure Databricks déploie des applications sur le plan de calcul serverless, où elles reçoivent directement le trafic. Cela est similaire à d’autres services optimisés pour les itinéraires tels que Model Serve et Vector Search.
Le processus de connexion fonctionne comme suit :
- Les demandes utilisateur initiales adressées à une application Azure Databricks lancent l’authentification OAuth avec le plan de contrôle pour valider la session et autoriser l’accès à l’application.
- Une fois l’authentification réussie, toutes les demandes suivantes sont acheminées directement vers le plan de calcul serverless sans traverser le plan de contrôle.
Les stratégies de sécurité réseau configurées pour le plan de calcul serverless s’appliquent au trafic Databricks Apps. Cela inclut les listes d’accès IP et les configurations de connectivité privée frontale.
Contrôles d’entrée
Utilisez les fonctionnalités suivantes pour limiter l’accès à votre espace de travail et applications Azure Databricks à partir de l’Internet public.
- Listes d’accès IP : Limitez l’accès de l’espace de travail et de l’application aux plages d’adresses IP connues et approuvées en activant les listes d’accès IP au niveau de l’espace de travail. Seul le trafic provenant des plages d’adresses IP configurées est autorisé. Pour plus d’informations, consultez Configurer les listes d’accès IP pour les espaces de travail.
Connectivité privée frontale : Acheminer le trafic d’entrée via une connexion Azure Private Link pour accéder en toute sécurité aux applications sur votre réseau virtuel.
Vous devez configurer le transfert DNS conditionnel pour le
databricksapps.comdomaine pour garantir une résolution de noms appropriée via votre connexion privée. Dans le cas contraire, les requêtes DNS pour le domaine de votre application peuvent être résolues en adresses IP publiques au lieu du point de terminaison privé. Pour obtenir des instructions de configuration, consultez Configurer le Private Link.Les URL régionales héritées ne sont pas prises en charge avec Databricks Apps, car elles ne prennent pas en charge OAuth, ce qui est requis pour l’authentification des applications. Pour plus d’informations, consultez l’URL régionale héritée.
Contrôles d'égression
Pour contrôler le trafic sortant à partir de votre application, créez une configuration de connectivité réseau (CCN) et appliquez des stratégies réseau à l’espace de travail hébergeant l’application.
Configurations de connectivité réseau
Utilisez une configuration de connectivité network pour connecter en toute sécurité votre application à des services Azure. Les NCC fournissent des ID de sous-réseau stables que vous pouvez ajouter à un pare-feu de compte de stockage pour autoriser explicitement l’accès depuis votre application et d’autres services de calcul sans serveur.
Pour restreindre davantage le trafic de sortie vers des destinations privées, configurez des points de terminaison privés serverless pour les ressources Azure ou routez le trafic via un équilibreur de charge Azure dans votre réseau virtuel.
Stratégies réseau
Utilisez des stratégies réseau pour appliquer des restrictions de sortie sur les applications Databricks et d’autres charges de travail sans serveur. Cela est utile lorsque vous devez répondre aux exigences d’organisation ou de conformité pour contrôler la connectivité sortante.
Remarque
Les stratégies réseau ne sont disponibles que sur le niveau Premium.
Appliquez une stratégie réseau si votre application :
- Doit limiter l’accès à un ensemble spécifique de domaines externes approuvés
- Doit empêcher l’exfiltration accidentelle des données
- Doit se conformer aux normes de sécurité ou de conformité qui limitent le trafic Internet sortant
Domaines de sortie requis pour le déploiement d’applications
Lorsque vous utilisez des stratégies réseau de sortie restreintes, vous devez autoriser la liste des domaines spécifiques pour que les builds d’applications ou le runtime réussissent. Sans ces domaines, les déploiements d’applications échouent, car le processus de génération ne peut pas télécharger les dépendances ni communiquer avec les services requis.
Les domaines suivants sont requis pour tous les déploiements d’applications Databricks :
| Domaine | Objectif |
|---|---|
*.databricksapps.com |
Service d’application et connectivité utilisateur |
pypi.org, files.pythonhosted.org |
Téléchargements de packages Python pendant les builds d’application (requis si votre application utilise requirements.txt) |
registry.npmjs.org |
Téléchargements de packages Node.js pendant les builds de l'application (obligatoire si votre application utilise package.json) |
:::
En outre, les déploiements Azure peuvent nécessiter ces domaines :
| Domaine | Objectif |
|---|---|
*.blob.core.windows.net |
Azure Blob Storage points de terminaison utilisés par les applications qui se connectent au stockage Azure |
*.dfs.core.windows.net |
Azure Data Lake Storage points de terminaison utilisés par les applications qui se connectent à ADLS |
:::
:::
Votre application peut nécessiter des domaines supplémentaires en fonction de vos dépendances spécifiques ou des API externes qu’elle appelle. Par exemple, si votre application appelle une API REST tierce, ajoutez le domaine de cette API à la liste d'autorisation.
Important
Dans les environnements Private Link avec sortie restreinte, les entrées manquantes dans la liste d'autorisation de domaine provoquent généralement des échecs de déploiement d’applications. Si votre application ne parvient pas à déployer, vérifiez la table système pour connaître les system.access.outbound_network tentatives de connexion refusées pour identifier les domaines à ajouter. Consultez Vérifier les journaux de déni.
Meilleures pratiques pour la configuration des stratégies réseau
Suivez ces instructions pour éviter les interruptions involontaires et vous assurer que vos applications peuvent accéder aux ressources requises :
- Autorisez uniquement les destinations requises. Ajoutez des noms de domaine complets (FQDN) pour les ressources publiques ou privées dont votre application a besoin. Consultez les domaines de sortie obligatoires pour le déploiement d’applications pour l’ensemble minimal de domaines nécessaires au déploiement.
- Incluez les référentiels de paquets en fonction des besoins. Si votre application installe des packages Python ou Node.js publics, vous devrez peut-être autoriser des domaines tels que
pypi.orgpour Python, ouregistry.npmjs.orgpour Node. Votre application peut nécessiter des domaines supplémentaires ou différents en fonction de vos dépendances spécifiques. Sans ces référentiels, les builds d’application qui s’appuient surrequirements.txtoupackage.jsonpeuvent échouer. - Utilisez le mode d’exécution à sec pour valider votre stratégie réseau. Ce mode simule l’application de la stratégie sans bloquer le trafic.
- Passez en revue les tentatives de connexion refusées en utilisant la table
system.access.outbound_network. Cela vous aide à identifier les domaines que vous devrez peut-être autoriser. Consultez Vérifier les journaux de déni.
- Ajoutez tous les domaines externes requis, tels que les API approuvées ou les comptes de stockage Azure non inscrits dans le catalogue Unity.
Déployer des applications dans les environnements Private Link
Si votre espace de travail utilise la connectivité privée frontale, vous devez effectuer des étapes de configuration supplémentaires pour déployer et utiliser des applications Databricks. Sans cette configuration, les déploiements d’applications peuvent échouer ou les utilisateurs peuvent ne pas être en mesure d’atteindre l’application.
Configuration de DNS
Vous devez configurer le transfert DNS conditionnel pour le databricksapps.com domaine afin que les URL d’application soient résolues en adresses IP privées au lieu d’adresses IP publiques. Sans cette configuration, les utilisateurs derrière un réseau privé ne peuvent pas atteindre les applications déployées.
Ajoutez des règles de transfert conditionnel pour les domaines suivants à votre serveur Azure DNS :
*.databricksapps.com*.azuredatabricks.net*.privatelink.azuredatabricks.net
Vérifiez que votre réseau virtuel est lié à la zone Azure Private DNS. Pour obtenir des instructions détaillées sur la configuration DNS, consultez configuration DNS personnalisée.
Exigences de sortie
Dans les environnements Private Link avec egress restreint, les applications nécessitent une connectivité sortante vers des domaines spécifiques pendant la phase de construction et d'exécution. Consultez les domaines de sortie obligatoires pour le déploiement d’applications pour obtenir la liste complète des domaines à autoriser.
Pour configurer la sortie pour les applications dans un environnement Private Link :
- Créez ou mettez à jour une configuration de connectivité réseau (CCN) et attachez-la à l’espace de travail hébergeant votre application.
- Créez ou mettez à jour une stratégie réseau pour autoriser la liste des domaines requis.
- Utilisez d’abord le mode d’exécution sèche pour valider votre configuration sans bloquer le trafic.
- Passez en revue la table système
system.access.outbound_networkpour toute tentative de connexion refusée lors du déploiement de l’application.
Résoudre les problèmes de déploiement de Private Link
Si votre application ne parvient pas à se déployer dans un environnement Private Link :
Vérifiez les journaux de refus de sortie. Interrogez la
system.access.outbound_networktable système pour rechercher les événements de déni récents. Consultez Vérifier les journaux de déni.SELECT * FROM system.access.outbound_network WHERE event_time >= CURRENT_TIMESTAMP() - INTERVAL 2 HOUR ORDER BY event_time DESC;Vérifiez la résolution DNS. Vérifiez que l’URL de votre application correspond à une adresse IP privée, et non pas à une adresse IP publique. Utilisez
nslookupà partir de votre réseau privé pour vérifier :nslookup <your-app-name>.databricksapps.comPassez en revue la configuration de la stratégie réseau. Vérifiez que les domaines requis se trouvent dans la liste d'autorisation. Les domaines manquants pour les référentiels de packages (
pypi.org,registry.npmjs.org) sont la cause la plus courante des échecs de build.Redémarrez l’application. Après la mise à jour des stratégies réseau, redéployez ou redémarrez l’application afin que les stratégies mises à jour prennent effet. Voir Redémarrer ou redéployer des charges de travail serverless.
Chiffrement et routage du trafic
Databricks Apps utilise des chemins d’accès de routage dédiés et plusieurs couches de chiffrement pour sécuriser les communications réseau et protéger les données.
Routage du trafic
Le trafic entre le plan de contrôle Azure Databricks, le plan de calcul, d'autres ressources Azure Databricks et les services cloud se déplace sur le réseau global du fournisseur de cloud et ne traverse pas l'Internet public.
Le trafic entre les utilisateurs et databricksapps.com peut traverser l’Internet public en fonction de l’emplacement réseau de l’utilisateur. Pour éviter le routage Internet public, configurez la connectivité privée frontale.
Chiffrement en transit
Toutes les communications réseau vers et depuis des applications sont chiffrées :
-
Trafic utilisateur : La communication entre les utilisateurs et
databricksapps.comutilise le chiffrement TLS (Transport Layer Security) 1.3. - Plan de contrôle : Communication entre le plan de contrôle d’Azure Databricks et le plan de calcul utilisent le protocole TLS mutuel (mTLS) pour les opérations de gestion, notamment la création d’applications, les mises à jour et la suppression.
Chiffrement des données au repos
Databricks Apps chiffre les données stockées à l’aide des méthodes suivantes :
- Application code : Azure Databricks stocke le code d’application dans les fichiers d’espace de travail et utilise le même chiffrement que les blocs-notes et d’autres fichiers d’espace de travail.
- Stockage de calcul : Les applications utilisent des disques de système d’exploitation hôte éphémères chiffrés avec AES-256 et l’implémentation de chiffrement par défaut du fournisseur cloud.