Planifier l’isolement réseau
Dans cet article, vous allez découvrir comment planifier l’isolement de votre réseau pour Azure Machine Learning et obtenir nos recommandations. Cet article s’adresse aux administrateurs informatiques désirant concevoir une architecture réseau.
Architecture recommandée (modèle d’isolation de réseau gérée)
L’utilisation d’un réseau virtuel managé facilite la configuration pour l’isolement réseau. Cela sécurise automatiquement votre espace de travail et vos ressources de calcul managées dans un réseau virtuel managé. Vous pouvez ajouter des connexions de point de terminaison privées pour d’autres services Azure sur lesquels l’espace de travail s’appuie, tels que les comptes de stockage Azure. Selon vos besoins, vous pouvez autoriser tout le trafic sortant vers le réseau public ou autoriser uniquement le trafic sortant que vous approuvez. Le trafic sortant requis par le service Azure Machine Learning est automatiquement activé pour le réseau virtuel managé. Nous vous recommandons d’utiliser l’isolation de réseau gérée de l’espace de travail pour une méthode d’isolement réseau intégrée sans friction. Nous disposons de deux modèles : autoriser le trafic sortant Internet ou autoriser uniquement le trafic sortant approuvé.
Mode autoriser le trafic sortant Internet
Utilisez cette option si vous souhaitez autoriser vos ingénieurs Machine Learning à accéder librement à Internet. Vous pouvez créer d’autres règles de trafic sortant de point de terminaison privé pour leur permettre d’accéder à vos ressources privées sur Azure.
Mode autoriser uniquement le trafic sortant approuvé
Utilisez cette option si vous souhaitez réduire le risque d’exfiltration des données et contrôler ce à quoi vos ingénieurs Machine Learning peuvent accéder. Vous pouvez contrôler les règles de trafic sortant à l’aide d’un point de terminaison privé, d’une étiquette de service et d’un nom de domaine complet.
Architecture recommandée (utilisez votre réseau virtuel Azure)
Si vous avez une exigence spécifique ou une stratégie d’entreprise qui vous empêche d’utiliser un réseau virtuel managé, vous pouvez utiliser un réseau virtuel Azure pour l’isolement réseau.
Le schéma suivant représente l’architecture recommandée pour privatiser toutes les ressources, mais autoriser l’accès au trafic Internet sortant à partir de votre réseau virtuel. Ce schéma décrit l’architecture suivante :
- L’ensemble des ressources placées dans la même région.
- Un réseau virtuel hub contenant votre pare-feu.
- Un réseau virtuel spoke contenant les ressources suivantes :
- Un sous-réseau de formation contenant des instances et des clusters de calcul utilisés pour l’entraînement des modèles de ML. Ces ressources sont configurées pour n’accepter aucune adresse IP publique.
- Un sous-réseau de scoring contenant un cluster AKS.
- Un sous-réseau « pe » contenant des points de terminaison privés qui se connectent à l’espace de travail et aux ressources privées utilisées par l’espace de travail (stockage, coffre de clés, registre de conteneurs, etc.)
- Des points de terminaison en ligne managés utilisant le point de terminaison privé de l’espace de travail pour traiter les demandes entrantes. Un point de terminaison privé est également utilisé pour permettre aux déploiements de points de terminaison en ligne managés d’accéder au stockage privé.
Cette architecture permet de trouver le juste équilibre entre la sécurité de votre réseau et la productivité de vos ingénieurs en ML.
Vous pouvez automatiser cette création d’environnements en utilisant un modèle Bicep ou un modèle Terraform. sans point de terminaison en ligne managé ou AKS. Le point de terminaison en ligne managé est la solution idéale si vous ne disposez pas d’un cluster AKS existant pour le scoring de votre modèle d’IA. Pour en savoir plus, consultez la documentation sur les méthodes de sécurisation d’un point de terminaison en ligne. Combiné à l’extension Azure Machine Learning, AKS est la solution idéale si vous disposez d’un cluster AKS existant pour votre scoring de modèle d’IA. Pour en savoir plus, consultez la documentation sur les méthodes d’association de Kubernetes.
Supprimer l’exigence de pare-feu
Si vous souhaitez supprimer l’exigence de pare-feu, vous pouvez utiliser des groupes de sécurité réseau et le protocole NAT du réseau virtuel Azure pour autoriser le trafic Internet sortant de vos ressources informatiques privées.
Utiliser un espace de travail public
Vous pouvez utiliser un espace de travail public si vous acceptez l’authentification et l’autorisation avec accès conditionnel de Microsoft Entra. Ce type d’espace de travail propose des fonctionnalités permettant d’afficher les données dans votre compte de stockage privé. Nous vous recommandons donc d’utiliser un espace de travail privé.
Architecture recommandée pour empêcher l’exfiltration de données
Ce schéma représente l’architecture recommandée pour privatiser toutes les ressources tout en contrôlant les destinations du trafic sortant afin d’empêcher l’exfiltration de données. Nous vous recommandons cette architecture lorsque vous utilisez Azure Machine Learning avec vos données sensibles en production. Ce schéma décrit l’architecture suivante :
- L’ensemble des ressources placées dans la même région.
- Un réseau virtuel hub contenant votre pare-feu.
- Outre des étiquettes de service, le pare-feu utilise des noms de domaine complets pour empêcher l’exfiltration de données.
- Un réseau virtuel spoke contenant les ressources suivantes :
- Un sous-réseau de formation contenant des instances et des clusters de calcul utilisés pour l’entraînement des modèles de ML. Ces ressources sont configurées pour n’accepter aucune adresse IP publique. En outre, un point de terminaison de service ainsi qu’une stratégie de point de terminaison de service sont en place pour empêcher l’exfiltration des données.
- Un sous-réseau de scoring contenant un cluster AKS.
- Un sous-réseau « pe » contenant des points de terminaison privés qui se connectent à l’espace de travail et aux ressources privées utilisées par l’espace de travail (stockage, coffre de clés, registre de conteneurs, etc.)
- Des points de terminaison en ligne managés utilisant le point de terminaison privé de l’espace de travail pour traiter les demandes entrantes. Un point de terminaison privé est également utilisé pour permettre aux déploiements de points de terminaison en ligne managés d’accéder au stockage privé.
Les tableaux suivants répertorient les étiquettes du service Azure sortant ainsi que les noms de domaine complets (FQDN) avec le paramètre de protection contre l’exfiltration de données :
Étiquette du service sortant | Protocol | Port |
---|---|---|
AzureActiveDirectory |
TCP | 80, 443 |
AzureResourceManager |
TCP | 443 |
AzureMachineLearning |
UDP | 5831 |
BatchNodeManagement |
TCP | 443 |
FQDN sortant | Protocol | Port |
---|---|---|
mcr.microsoft.com |
TCP | 443 |
*.data.mcr.microsoft.com |
TCP | 443 |
ml.azure.com |
TCP | 443 |
automlresources-prod.azureedge.net |
TCP | 443 |
Utiliser un espace de travail public
Vous pouvez utiliser l’espace de travail public si vous acceptez l’authentification et l’autorisation avec accès conditionnel de Microsoft Entra. Ce type d’espace de travail propose des fonctionnalités permettant d’afficher les données dans votre compte de stockage privé. Nous vous recommandons donc d’utiliser un espace de travail privé.
Considérations clés à prendre en compte pour comprendre les détails
Azure Machine Learning comprend des ressources IaaS et PaaS
L’isolement réseau d’Azure Machine Learning implique à la fois des composants PaaS (platform as a service) et IaaS (infrastructure as a service). Les services PaaS (espace de travail Azure Machine Learning, stockage, coffre de clés, registre de conteneurs, surveillance, etc.) peuvent être isolés à l’aide de Private Link. Les services de calcul IaaS, tels que les instances ou clusters de calcul pour la formation des modèles d’IA, les points de terminaison Azure Kubernetes Service (AKS) ou en ligne managés pour le scoring de modèle d’IA, peuvent être injectés dans votre réseau virtuel et communiquer avec les services PaaS à l’aide de Private Link. Le schéma suivant illustre cette architecture.
Dans ce schéma, les instances de calcul, les clusters de calcul et les clusters AKS se trouvent dans votre réseau virtuel. Ils peuvent accéder à l’espace de travail ou au stockage Azure Machine Learning à l’aide d’un point de terminaison privé. Au lieu d’un point de terminaison privé, vous pouvez utiliser un point de terminaison de service pour Stockage Azure et Azure Key Vault. Les autres services ne prennent pas en charge les points de terminaison de service.
Configurations requises pour le trafic entrant et sortant
Dans Azure Machine Learning, plusieurs configurations sont requises pour le trafic entrant et sortant avec votre réseau virtuel. Si vous disposez d’un réseau virtuel autonome, la configuration est facilitée par le groupe de sécurité réseau. Toutefois, il est possible que vous disposiez d’une architecture de réseau hub-spoke ou maillé, d’un pare-feu, d’une appliance virtuelle réseau, d’un proxy et d’un routage défini par l’utilisateur. Dans les deux cas, veillez à autoriser le trafic entrant et sortant avec vos composants de sécurité réseau.
Dans ce schéma, vous disposez d’une architecture de réseau hub-and-spoke. Le réseau virtuel spoke dispose de ressources pour Azure Machine Learning. Le réseau virtuel hub dispose d’un pare-feu qui contrôle le trafic Internet sortant à partir de vos réseaux virtuels. Dans ce cas, votre pare-feu doit autoriser le trafic sortant vers les ressources requises. De plus,vos ressources de calcul dans le réseau virtuel spoke doivent être en mesure d’atteindre votre pare-feu.
Conseil
Dans le schéma, l’instance et le cluster de calcul sont configurés pour n’accepter aucune adresse IP publique. Si vous utilisez plutôt une instance de calcul ou un cluster avec une adresse IP publique, vous devez autoriser le trafic entrant à partir de l’étiquette de service d’Azure Machine Learning à l’aide d’un groupe de sécurité réseau (NSG) et d’un routage défini par l’utilisateur pour ignorer votre pare-feu. Ce trafic entrant provient alors d’un service Microsoft (Azure Machine Learning). Toutefois, nous vous recommandons de supprimer cette exigence relative au trafic entrant à l’aide de l’option « Aucune IP publique ».
Résolution DNS des ressources de liaison privée et mise en œuvre sur l’instance de calcul
Si vous disposez de votre propre serveur DNS hébergé dans Azure ou en local, vous devez créer un redirecteur conditionnel dans votre serveur DNS. Le redirecteur conditionnel envoie des requêtes DNS à Azure DNS pour tous les services PaaS avec une liaison privée activée. Pour en savoir plus, consultez les articles sur les scénarios de configuration des DNS et la configuration des DNS spécifique à Azure Machine Learning.
Protection contre l’exfiltration de données
Deux types de trafic sortant existent : en lecture seule et en lecture/écriture. Le trafic sortant en lecture seule ne peut pas être exploité par des acteurs malveillants, contrairement au trafic sortant en lecture/écriture. Dans notre cas, Stockage Azure et Azure Frontdoor (l’étiquette de frontdoor.frontend
service) sont en trafic sortant en lecture/écriture.
Vous pouvez atténuer ce risque d’exfiltration de données à l’aide de notre solution de protection contre l’exfiltration de données. Nous utilisons une stratégie de point de terminaison de service avec un alias Azure Machine Learning pour autoriser le trafic sortant uniquement vers les comptes de stockage managés d’Azure Machine Learning. Vous n’avez pas besoin d’ouvrir des ports de trafic sortant sur votre pare-feu.
Dans ce schéma, l’instance de calcul et le cluster ont besoin d’accéder aux comptes de stockage managés d’Azure Machine Learning pour obtenir des scripts de configuration. Au lieu d’ouvrir le trafic sortant au stockage, vous pouvez utiliser la stratégie du point de terminaison de service avec l’alias Azure Machine Learning pour autoriser l’accès au stockage uniquement aux comptes de stockage Azure Machine Learning.
Les tableaux suivants répertorient les étiquettes du service Azure sortant ainsi que les noms de domaine complets (FQDN) avec le paramètre de protection contre l’exfiltration de données :
Étiquette du service sortant | Protocol | Port |
---|---|---|
AzureActiveDirectory |
TCP | 80, 443 |
AzureResourceManager |
TCP | 443 |
AzureMachineLearning |
UDP | 5831 |
BatchNodeManagement |
TCP | 443 |
FQDN sortant | Protocol | Port |
---|---|---|
mcr.microsoft.com |
TCP | 443 |
*.data.mcr.microsoft.com |
TCP | 443 |
ml.azure.com |
TCP | 443 |
automlresources-prod.azureedge.net |
TCP | 443 |
Point de terminaison en ligne managé
La sécurité des communications entrantes et sortantes est configurée séparément pour les points de terminaison en ligne managés.
Communication entrante
Azure Machine Learning utilise un point de terminaison privé pour sécuriser la communication entrante vers un point de terminaison en ligne managé. Définissez l’indicateur public_network_access
du point de terminaison sur disabled
pour empêcher l’accès public à celui-ci. Lorsque cet indicateur est désactivé, votre point de terminaison est accessible uniquement via le point de terminaison privé de votre espace de travail Azure Machine Learning, mais pas à partir de réseaux publics.
Communication sortante
Pour sécuriser la communication sortante d’un déploiement vers des ressources, Azure Machine Learning utilise un réseau virtuel géré par l’espace de travail. Le déploiement doit être créé dans le réseau virtuel managé de l’espace de travail afin qu’il puisse utiliser les points de terminaison privés du VNet managé de l’espace de travail pour la communication sortante.
Le diagramme d’architecture suivant montre le flux des communications des points de terminaison privés vers le point de terminaison en ligne managé. Les requêtes de scoring entrantes provenant du flux de réseau virtuel d’un client transitent par le point de terminaison privé de l’espace de travail vers le point de terminaison en ligne managé. Les communications sortantes des déploiements vers les services sont gérées via des points de terminaison privés du réseau virtuel managé de l’espace de travail vers ces instances de service.
Pour plus d’informations, consultez Isolement réseau avec des points de terminaison en ligne managés.
Pénurie d’adresses IP privées dans votre réseau principal
Azure Machine Learning nécessite des adresses IP privées (une adresse IP par instance de calcul, nœud de cluster de calcul et point de terminaison privé). Vous aurez également besoin de nombreuses adresses IP si vous utilisez AKS. Le réseau hub-spoke connecté à votre réseau local peut manquer d’espace d’adressage IP privé. Dans ce cas, vous pouvez utiliser des réseaux virtuels isolés et sans peering pour vos ressources Azure Machine Learning.
Dans ce schéma, votre réseau virtuel principal a besoin d’adresses IP pour les points de terminaison privés. Vous pouvez disposer de réseaux virtuels hub-spoke pour plusieurs espaces de travail Azure Machine Learning avec de grands espaces d’adressage. Cette architecture présente l’inconvénient de doubler la quantité de points de terminaison privés.
Mise en œuvre de la stratégie réseau
Vous pouvez utiliser des stratégies intégrées si vous souhaitez contrôler les paramètres d’isolement réseau avec un espace de travail en libre-service et des ressources informatiques créées.
Quelques considérations mineures
Paramètre de calcul de génération d’image pour ACR derrière un réseau virtuel
Si vous placez votre registre de conteneurs Azure (ACR) derrière votre point de terminaison privé, l’ACR ne peut pas générer vos images Docker. Vous devez utiliser une instance ou un cluster de calcul pour générer des images. Pour plus d’informations, consultez l’article sur la méthode de définition du calcul de génération d’images.
Activation de l’interface utilisateur de Studio avec un espace de travail de liaison privée
Si vous envisagez d’utiliser Azure Machine Learning studio, vous devez effectuer des étapes de configuration supplémentaires. Ces étapes permettent d’empêcher les cas d’exfiltration de données. Pour en savoir plus, consultez l’article Utiliser Azure Machine Learning studio dans un réseau virtuel Azure.
Étapes suivantes
Pour plus d’informations sur l’utilisation d’un réseau virtuel managé, consultez les articles suivants :
- Isolation de réseau gérée
- Utiliser un point de terminaison privé pour accéder à votre espace de travail
- Utiliser le DNS personnalisé
Pour plus d’informations sur l’utilisation d’un réseau virtuel Azure, consultez les articles suivants :