Flux de trafic réseau lors de l’utilisation d’un espace de travail sécurisé
Lorsque votre mettez votre espace de travail Azure Machine Learning et les ressources associées dans un réseau virtuel Azure, cela change le trafic réseau entre les ressources. Sans réseau virtuel, le trafic réseau transite par l’Internet public ou au sein d’un centre de données Azure. Une fois que vous introduisez un réseau virtuel, vous voudrez probablement aussi durcir la sécurité du réseau. Par exemple, vous voudrez certainement bloquer les communications entrantes et sortantes entre le réseau virtuel et l’Internet public. Toutefois, Azure Machine Learning nécessite l’accès à certaines ressources sur l’Internet public. Par exemple, il utilise Azure Resource Manager pour les déploiements et les opérations de gestion.
Cet article dresse la liste du trafic requis à destination et en provenance de l’Internet public. Il explique également comment le trafic réseau transite entre votre environnement de développement client et un espace de travail Azure Machine Learning sécurisé dans les scénarios suivants :
Utilisation d’Azure Machine Learning Studio pour travailler avec :
- Votre espace de travail
- AutoML
- Designer
- Jeux de données et magasins de données
Azure Machine Learning studio est une interface utilisateur web qui s’exécute partiellement dans votre navigateur web. Il effectue des appels aux services Azure pour accomplir des tâches telles que l’entraînement d’un modèle, l’utilisation du concepteur ou l’affichage de jeux de données. Certains de ces appels utilisent un flux de communication différent que si vous utilisez le SDK Azure Machine Learning, l’interface Azure CLI, l’API REST ou Visual Studio Code.
Utilisation d’Azure Machine Learning studio, du SDK Azure Machine Learning, de l’interface Azure CLI ou de l’API REST pour travailler avec :
- Les clusters et instances de calcul
- Azure Kubernetes Service (AKS)
- Des images Docker que gère Azure Machine Learning
Si un scénario ou une tâche ne figure pas ici, cela devrait fonctionner de la même façon avec ou sans espace de travail sécurisé.
Hypothèses
Cet article considère la configuration suivante :
- L’espace de travail Azure Machine Learning utilise un point de terminaison privé pour communiquer avec le réseau virtuel.
- Le compte de stockage Azure, le coffre de clés et le registre de conteneurs qu’utilise l’espace de travail utilisent également un point de terminaison privé pour communiquer avec le réseau virtuel.
- Les stations de travail clientes utilisent une passerelle VPN ou Azure ExpressRoute pour accéder au réseau virtuel.
Exigences entrantes et sortantes
Scénario | Entrant requis | Sortant requis | Configuration supplémentaire |
---|---|---|---|
Accéder à un espace de travail à partir du studio | Non applicable |
|
Vous aurez probablement besoin d’utiliser un serveur DNS personnalisé. Pour plus d’informations, consultez Utiliser votre espace de travail avec un serveur DNS personnalisé. |
Utiliser AutoML, le concepteur, le jeu de données et le magasin de données à partir du studio | Non applicable | Non applicable |
|
Utiliser une instance de calcul et un cluster de calcul |
|
|
Si vous utilisez un pare-feu, créez des itinéraires définis par l’utilisateur. Pour plus d’informations, consultez Configurer le trafic du réseau entrant et sortant. |
Utiliser Azure Kubernetes Service | Non applicable | Pour plus d’informations sur la configuration sortante pour AKS, consultez Sécuriser l’environnement d’inférence Azure Kubernetes Service. | |
Utiliser des images Docker que gère Azure Machine Learning | Non applicable | Registre des artefacts Microsoft | Si le registre de conteneurs pour votre espace de travail se trouve derrière le réseau virtuel, configurez l’espace de travail pour utiliser un cluster de calcul visant à générer des images. Pour plus d’informations, consultez Sécuriser un espace de travail Azure Machine Learning à l’aide de réseaux virtuels. |
Fonctions des comptes de stockage
Azure Machine Learning utilise plusieurs comptes de stockage. Chacun d’eux stocke des données différentes et a une fonction différente :
Votre stockage : Les comptes de stockage de votre abonnement Azure stockent vos données et artefacts tels que les modèles, les données d’entraînement, les journaux d’entraînement et les scripts Python. Par exemple, le compte de stockage par défaut de votre espace de travail se trouve dans votre abonnement. L’instance de calcul et le cluster de calcul Azure Machine Learning accèdent aux données de fichier et de blob dans ce stockage via les ports 445 (SMB) et 443 (HTTPS).
Lorsque vous utilisez une instance de calcul ou un cluster de calcul, votre compte de stockage est monté en tant que partage de fichiers via le protocole SMB. L’instance et le cluster de calcul utilisent ce partage de fichiers pour stocker des éléments tels que les données, les modèles, les notebooks Jupyter et les jeux de données. L’instance et le cluster de calcul utilisent le point de terminaison privé lorsqu’ils accèdent au compte de stockage.
Stockage Microsoft : L’instance de calcul et le cluster de calcul Azure Machine Learning reposent sur Azure Batch. Ils accèdent au stockage situé dans un abonnement Microsoft. Ce stockage est utilisé uniquement pour la gestion du cluster ou de l’instance de calcul. Aucune de vos données n’est stockée ici. L’instance de calcul et le cluster de calcul accèdent aux données de blob, de table et de file d’attente de ce stockage à l’aide du port 443 (HTTPS).
Machine Learning stocke également les métadonnées dans une instance d’Azure Cosmos DB. Par défaut, cette instance est hébergée dans un abonnement Microsoft et gérée par Microsoft. Vous pouvez éventuellement utiliser une instance de Azure Cosmos DB dans votre abonnement Azure. Pour plus d’informations, consultez Chiffrement de données avec Azure Machine Learning.
Scénario : Accéder à un espace de travail à partir du studio
Remarque
Les informations contenues dans cette section sont spécifiques à l’utilisation de l’espace de travail à partir d’Azure Machine Learning studio. Si vous utilisez le SDK Azure Machine Learning, l’API REST, l’interface Azure CLI ou Visual Studio Code, les informations de cette section ne s’appliquent pas à vous.
Lorsque vous accédez à votre espace de travail à partir du studio, les flux de trafic réseau sont les suivants :
- Pour l’authentification auprès des ressources, la configuration utilise Microsoft Entra ID.
- Pour les opérations de gestion et de déploiement, la configuration utilise Azure Resource Manager.
- Pour les tâches spécifiques à Azure Machine Learning, la configuration utilise Azure Machine Learning service.
- Pour accéder à Azure Machine Learning studio, la configuration utilise Azure Front Door.
- Pour la plupart des opérations de stockage, le trafic transite par le point de terminaison privé du stockage par défaut pour votre espace de travail. La section Utiliser AutoML, le concepteur, le jeu de données et le magasin de données à partir du studio de cet article traite des exceptions.
- Vous devez également configurer une solution DNS qui vous permet de résoudre les noms des ressources au sein du réseau virtuel. Pour plus d’informations, consultez Utiliser votre espace de travail avec un serveur DNS personnalisé.
Scénario : Utiliser AutoML, le concepteur, le jeu de données et le magasin de données à partir du studio
Les fonctionnalités suivantes d’Azure Machine Learning Studio utilisent le profilage des données :
- Jeu de données : Explorez le jeu de données à partir du studio.
- Concepteur : Visualisez les données de sortie du module.
- AutoML : Affichez un aperçu ou un profil de données et choisissez une colonne cible.
- Étiquetage : Utilisez des étiquettes afin de préparer les données pour un projet Machine Learning.
Le profilage des données dépend de la capacité du service géré Azure Machine Learning à accéder au compte de stockage Azure par défaut de votre espace de travail. Le service géré n’existant pas dans votre réseau virtuel, il ne peut pas accéder directement au compte de stockage dans le réseau virtuel. Au lieu de cela, l’espace de travail utilise un principal de service pour accéder au stockage.
Conseil
Vous pouvez fournir un principal de service lorsque vous créez l’espace de travail. Si vous ne le faites pas, un principal est créé pour vous et porte le même nom que votre espace de travail.
Pour autoriser l’accès au compte de stockage, configurez celui-ci de sorte à autoriser une instance de ressource pour votre espace de travail, ou sélectionnez Autoriser les services Azure de la liste des services approuvés à accéder à ce compte de stockage. Ce paramètre permet au service géré d’accéder au stockage via le réseau du centre de données Azure.
Ensuite, ajoutez le principal de service de l’espace de travail au rôle Lecteur sur le point de terminaison privé du compte de stockage. Azure utilise ce rôle pour vérifier les informations de sous-réseau de stockage et d’espace de travail. Si elles sont identiques, Azure autorise l’accès. Enfin, le principal du service exige également l’accès au compte de stockage pour les Contributeurs de données d’objet blob.
Pour plus d’informations, consultez la section « Sécuriser les comptes de stockage Azure » dans Sécuriser un espace de travail Azure Machine Learning à l’aide de réseaux virtuels.
Scénario : Utiliser une instance de calcul et un cluster de calcul
Une instance de calcul et un cluster de calcul Azure Machine Learning sont des services gérés que Microsoft héberge. Ils s’appuient sur le service Azure Batch. Bien qu’ils existent dans un environnement géré Microsoft, ils sont également injectés dans votre réseau virtuel.
Lorsque vous créez une instance de calcul ou un cluster de calcul, les ressources suivantes sont également créées dans votre réseau virtuel :
Un groupe de sécurité réseau avec les règles de trafic sortant requises. Ces règles autorisent l’accès entrant depuis Azure Machine Learning (TCP sur le port 44224) et Azure Batch (TCP sur les ports 29876-29877).
Important
Si vous utilisez un pare-feu pour bloquer l’accès à Internet dans le réseau virtuel, vous devez configurer le pare-feu pour autoriser ce trafic. Par exemple, avec le Pare-feu Azure, vous pouvez créer des routes définies par l’utilisateur. Pour plus d’informations, consultez Configurer le trafic du réseau entrant et sortant.
Un équilibreur de charge avec une adresse IP publique.
Autorisez également l’accès sortant aux étiquettes de service suivantes. Pour chaque étiquette, remplacez region
par la région Azure de votre instance ou cluster de calcul :
Storage.region
: Cet accès sortant est utilisé pour se connecter au compte de stockage Azure à l’intérieur du réseau virtuel géré par Azure Batch.Keyvault.region
: Cet accès sortant est utilisé pour se connecter au compte Azure Key Vault à l’intérieur du réseau virtuel géré par Azure Batch.
L’accès aux données à partir de votre instance ou cluster de calcul passe par le point de terminaison privé du compte de stockage de votre réseau virtuel.
Si vous utilisez Visual Studio Code sur une instance de calcul, vous devez autoriser le trafic sortant. Pour plus d’informations, consultez Configurer le trafic du réseau entrant et sortant.
Scénario : Utiliser des points de terminaison en ligne
Vous configurez la sécurité des communications entrantes et sortantes séparément pour les points de terminaison en ligne managés.
Communication entrante
Vous pouvez contribuer à la sécurisation de la communication entrante avec l’URL de scoring du point de terminaison en ligne en utilisant l’indicateur public_network_access
sur le point de terminaison. La définition de l’indicateur sur disabled
garantit que le point de terminaison en ligne reçoive uniquement le trafic du réseau virtuel d’un client via le point de terminaison privé de l’espace de travail Azure Machine Learning.
La visibilité du point de terminaison en ligne est également régie par l’indicateur public_network_access
de l’espace de travail Azure Machine Learning. Si cet indicateur est disabled
, les points de terminaison de scoring sont accessibles uniquement à partir des réseaux virtuels contenant un point de terminaison privé pour l’espace de travail. Si cet indicateur est enabled
, le point de terminaison de scoring est accessible à partir du réseau virtuel et des réseaux publics.
Communication sortante
Vous pouvez contribuer à la sécurisation de la communication sortante en provenance d’un déploiement au niveau de l’espace de travail en utilisant l’isolation de réseau virtuel managée pour votre espace de travail Azure Machine Learning. L’utilisation de ce paramètre entraîne la création par Azure Machine Learning d’un réseau virtuel managé pour l’espace de travail. Tous les déploiements dans le réseau virtuel managé de l’espace de travail peuvent utiliser les points de terminaison privés du réseau virtuel pour la communication sortante.
La méthode d’isolation réseau héritée pour sécuriser la communication sortante fonctionnait en désactivant l’indicateur egress_public_network_access
d’un déploiement. Nous vous recommandons vivement de contribuer à la sécurisation des communications sortantes pour les déploiements à l’aide d’un réseau virtuel géré par l’espace de travail à la place. Contrairement à l’approche héritée, l’indicateur egress_public_network_access
du déploiement ne s’applique plus lorsque vous utilisez un réseau virtuel géré par l’espace de travail avec votre déploiement. Au lieu de cela, les règles que vous définissez pour le réseau virtuel managé de l’espace de travail contrôlent les communications sortantes.
Scénario : Utiliser Azure Kubernetes Service
Pour plus d’informations sur la configuration de trafic sortant requise pour Azure Kubernetes Service, consultez Sécuriser un environnement d’inférence Azure Machine Learning avec des réseaux virtuels.
Remarque
L’équilibreur de charge Azure Kubernetes Service n’est pas le même que l’équilibreur de charge que crée Azure Machine Learning. Si vous souhaitez héberger votre modèle en tant qu’application sécurisée, uniquement disponible sur le réseau virtuel, utilisez l’équilibreur de charge interne que crée Azure Machine Learning. Si vous souhaitez autoriser l’accès public, utilisez l’équilibreur de charge public que crée Azure Machine Learning.
Si votre modèle requiert une connectivité entrante ou sortante supplémentaire, par exemple à une source de données externe, utilisez un groupe de sécurité réseau ou votre pare-feu pour autoriser le trafic.
Scénario : Utiliser des images Docker que gère Azure Machine Learning
Azure Machine Learning fournit des images Docker que vous pouvez utiliser pour entraîner des modèles ou effectuer une inférence. Ces images sont hébergées sur le Registre des artefacts Microsoft.
Si vous fournissez vos propres images Docker, par exemple sur un registre de conteneurs que vous fournissez, vous n’avez pas besoin de communication sortante avec le Registre des artefacts.
Conseil
Si votre registre de conteneurs est sécurisé dans le réseau virtuel, Azure Machine Learning ne peut pas l’utiliser pour générer des images Docker. Au lieu de cela, vous devez désigner un cluster de calcul Azure Machine Learning pour générer des images. Pour plus d’informations, consultez Sécuriser un espace de travail Azure Machine Learning à l’aide de réseaux virtuels.
Étapes suivantes
Maintenant que vous avez découvert comment le trafic réseau circule dans une configuration sécurisée, explorez plus en détail la sécurisation d’Azure Machine Learning dans un réseau virtuel en lisant l’article Vue d’ensemble de l’isolement et de la confidentialité des réseaux virtuels.
Pour plus d’informations sur les meilleures pratiques, consultez l’article Bonnes pratiques pour la sécurité de l’entreprise avec Azure Machine Learning.