Sécuriser les ressources d’espace de travail Azure Machine Learning à l’aide de réseaux virtuels

Conseil

Microsoft recommande d'utiliser les réseaux virtuels managés par Azure Machine Learning au lieu de suivre les étapes décrites dans cet article. Avec un réseau virtuel managé, Azure Machine Learning gère le travail d’isolement réseau pour votre espace de travail et vos calculs managés. Vous pouvez également ajouter des points de terminaison privés pour les ressources dont l’espace de travail a besoin, par exemple un compte de stockage Azure. Pour plus d’informations, consultez Isolation de réseau gérée d’espace de travail.

Sécurisez les ressources d’espace de travail Azure Machine Learning et les environnements Compute à l’aide de réseaux virtuels Azure. Cet article utilise un exemple de scénario pour vous montrer comment configurer un réseau virtuel complet.

Cet article fait partie d’une série sur la sécurisation d’un workflow Azure Machine Learning. Consultez les autres articles de cette série :

Cet article fait partie d’une série sur la sécurisation d’un workflow Azure Machine Learning. Consultez les autres articles de cette série :

Pour obtenir un didacticiel sur la création d’un espace de travail sécurisé, consultez Didacticiel : créer un espace de travail sécurisé ou un Didacticiel : créer un espace de travail sécurisé à l’aide d’un modèle.

Prérequis

Cet article part du principe que vous connaissez déjà les articles suivants :

Exemple de scénario

Dans cette section, vous allez découvrir comment on peut configurer un scénario de réseau courant pour sécuriser la communication Azure Machine Learning avec des adresses IP privées.

Le tableau suivant compare l’accès des services aux différentes parties d’un réseau Azure Machine Learning avec et sans VNet :

Scénario Espace de travail Ressources associées Environnement de calcul pour l’entraînement Environnement de calcul pour l’inférence
Aucun réseau virtuel Adresse IP publique Adresse IP publique Adresse IP publique Adresse IP publique
Espace de travail public, toutes les autres ressources d’un réseau virtuel Adresse IP publique Adresse IP publique (point de terminaison de service)
- ou -
Adresse IP privée (point de terminaison privé)
Adresse IP publique IP privée
Protéger les ressources dans un réseau virtuel Adresse IP privée (point de terminaison privé) Adresse IP publique (point de terminaison de service)
- ou -
Adresse IP privée (point de terminaison privé)
IP privée IP privée
  • Espace de travail - Créer un point de terminaison privé pour votre espace de travail. Le point de terminaison privé connecte l’espace de travail au réseau virtuel par le biais de plusieurs adresses IP privées.
    • Accès public : vous pouvez activer l’accès public pour un espace de travail sécurisé (facultatif).
  • Ressource associée - Utilisez des points de terminaison de service ou des points de terminaison privés pour vous connecter aux ressources de l'espace de travail comme Azure storage, Azure Key Vault. Pour Azure Container Services, utilisez un point de terminaison privé.
    • Les points de terminaison de service fournissent l’identité de votre réseau virtuel au service Azure. Une fois que vous avez activé les points de terminaison de service dans votre réseau virtuel, vous pouvez ajouter une règle de réseau virtuel afin de sécuriser les ressources du service Azure pour votre réseau virtuel. Les points de terminaison de service utilisent des adresses IP publiques.
    • Les points de terminaison privés sont des interfaces réseau qui vous connectent de manière sécurisée à un service alimenté par Azure Private Link. Le point de terminaison privé utilise une adresse IP privée de votre réseau virtuel, plaçant de fait le service dans votre réseau virtuel.
  • Accès au calcul d’entraînement : accédez aux cibles de calcul d’entraînement comme l’instance de calcul Azure Machine Learning et les clusters de calcul Azure Machine Learning en toute sécurité avec des adresses IP publiques ou privées.
  • Accès au calcul d’inférence : accédez à des clusters de calcul Azure Kubernetes Services (AKS) avec des adresses IP privées.

Les sections suivantes vous montrent comment sécuriser le scénario de réseau décrit précédemment. Pour sécuriser votre réseau, vous devez :

  1. Sécuriser l’espace de travail et les ressources associées.
  2. Sécuriser l’environnement d’entraînement.
  3. Sécuriser l’environnement d’inférence.
  4. Facultatif : activer la fonctionnalité studio.
  5. Configurer les paramètres de pare-feu.
  6. Configurer la résolution de noms DNS.

Espace de travail public et ressources sécurisées

Important

Même si cette configuration est prise en charge pour Azure Machine Learning, Microsoft ne la recommande pas. Les données du compte de stockage Azure derrière le réseau virtuel peuvent être exposées sur l’espace de travail public. Vous devez vérifier cette configuration avec votre équipe de sécurité avant de l’utiliser en production.

Si vous souhaitez accéder à l’espace de travail via l’Internet public en maintenant toutes les ressources associées sécurisées dans un réseau virtuel, procédez comme suit :

  1. Créez un réseau virtuel Azure. Ce réseau sécurise les ressources utilisées par l’espace de travail.

  2. Utilisez l'une des options suivantes pour créer un espace de travail accessible publiquement :

    OR

  3. Ajoutez les services suivants au réseau virtuel en utilisant un point de terminaison de serviceou un point de terminaison privé. Autorisez également les services Microsoft approuvés à accéder à ces services :

  4. Dans les propriétés du ou des comptes Stockage Azure de votre espace de travail, ajoutez l’adresse IP de votre client à la liste verte des paramètres du pare-feu. Pour plus d’informations, consultez Configurer des pare-feu et réseaux virtuels.

Sécuriser l’espace de travail et les ressources associées

Utilisez la procédure ci-dessous pour sécuriser votre espace de travail et les ressources associées. Ces étapes permettent à vos services de communiquer dans le réseau virtuel.

  1. Créez un réseau virtuel Azure. Ce réseau sécurise l’espace de travail et d’autres ressources. Créez ensuite un espace de travail avec Private Link pour activer la communication entre votre réseau virtuel et votre espace de travail.

  2. Ajoutez les services suivants au réseau virtuel en utilisant un point de terminaison de serviceou un point de terminaison privé. Autorisez également les services Microsoft approuvés à accéder à ces services :

    Service Informations sur le point de terminaison Autoriser les informations approuvées
    Azure Key Vault Point de terminaison de service
    Point de terminaison privé
    Autoriser les services Microsoft approuvés à contourner ce pare-feu
    Compte Stockage Azure Point de terminaison privé et de service
    Point de terminaison privé
    Accorder l’accès à partir d’instances de ressource Azure
    ou
    Accorder l’accès aux services Azure approuvés
    Azure Container Registry Point de terminaison privé Autoriser les services approuvés
  1. Créez un réseau virtuel Azure. Ce réseau virtuel sécurise l’espace de travail et d’autres ressources. Créez ensuite un espace de travail avec Private Link pour activer la communication entre votre réseau virtuel et votre espace de travail.

  2. Ajoutez les services suivants au réseau virtuel en utilisant un point de terminaison de serviceou un point de terminaison privé. Autorisez également les services Microsoft approuvés à accéder à ces services :

    Service Informations sur le point de terminaison Autoriser les informations approuvées
    Azure Key Vault Point de terminaison de service
    Point de terminaison privé
    Autoriser les services Microsoft approuvés à contourner ce pare-feu
    Compte Stockage Azure Point de terminaison privé et de service
    Point de terminaison privé
    Accorder l’accès à partir d’instances de ressource Azure
    ou
    Accorder l’accès aux services Azure approuvés
    Azure Container Registry Point de terminaison privé Autoriser les services approuvés

Diagram showing how the workspace and associated resources communicate inside a VNet.

Retrouvez les instructions détaillées relatives à cette procédure dans l’article Sécuriser un espace de travail Azure Machine Learning.

Retrouvez les instructions détaillées relatives à cette procédure dans l’article Sécuriser un espace de travail Azure Machine Learning.

Limites

La sécurisation de votre espace de travail et des ressources associées dans un réseau virtuel présente les limitations suivantes :

  • L’espace de travail et le compte de stockage par défaut doivent se trouver dans le même réseau virtuel. Toutefois, des sous-réseaux peuvent être utilisés au sein d’un même réseau virtuel. Par exemple, l’espace de travail dans un sous-réseau et un stockage dans un autre.

    Nous vous recommandons d’utiliser Azure Key Vault et Azure Container Registry pour l’espace de travail dans le même réseau virtuel. Toutefois, ces deux ressources peuvent également se trouver dans un réseau virtuel appairé .

Sécuriser l’environnement d’entraînement

Dans cette section, vous allez voir comment sécuriser l’environnement d’entraînement dans Azure Machine Learning. Vous découvrirez également comment Azure Machine Learning effectue un travail d’entraînement pour comprendre le fonctionnement des configurations réseau.

Pour sécuriser l’environnement d’entraînement, procédez comme suit :

  1. Créez une instance de calcul et un cluster de calcul Azure Machine Learning dans le réseau virtuel pour exécuter le travail d’entraînement.

  2. Si votre cluster de calcul ou votre instance de calcul utilise une adresse IP publique, vous devez Autoriser les communications entrantes afin que les services de gestion puissent envoyer des travaux à vos ressources de calcul.

    Conseil

    Le cluster de calcul et l’instance de calcul peuvent être créés avec ou sans adresse IP publique. S’ils sont créés avec une adresse IP publique, vous obtenez un équilibreur de charge avec une adresse IP publique pour accepter l’accès entrant à partir du service Azure Batch et du service Azure Machine Learning. Vous devez configurer le routage défini par l’utilisateur (UDR) si vous utilisez un pare-feu. S’ils sont créés sans adresse IP publique, vous obtenez un service de liaison privée pour accepter l’accès entrant à partir du service Azure Batch et du service Azure Machine Learning sans adresse IP publique.

  1. Créez une instance de calcul et un cluster de calcul Azure Machine Learning dans le réseau virtuel pour exécuter le travail d’entraînement.

  2. Si votre cluster de calcul ou votre instance de calcul utilise une adresse IP publique, vous devez Autoriser les communications entrantes afin que les services de gestion puissent envoyer des travaux à vos ressources de calcul.

    Conseil

    Le cluster de calcul et l’instance de calcul peuvent être créés avec ou sans adresse IP publique. S’ils sont créés avec une adresse IP publique, vous obtenez un équilibreur de charge avec une adresse IP publique pour accepter l’accès entrant à partir du service Azure Batch et du service Azure Machine Learning. Vous devez configurer le routage défini par l’utilisateur (UDR) si vous utilisez un pare-feu. S’ils sont créés sans adresse IP publique, vous obtenez un service de liaison privée pour accepter l’accès entrant à partir du service Azure Batch et du service Azure Machine Learning sans adresse IP publique.

Diagram showing how to secure managed compute clusters and instances.

Retrouvez les instructions détaillées relatives à cette procédure dans l’article Sécuriser un environnement d’entraînement.

Retrouvez les instructions détaillées relatives à cette procédure dans l’article Sécuriser un environnement d’entraînement.

Envoi d’un exemple de travail d’entraînement

Dans cette section, vous allez voir comment Azure Machine Learning communique de manière sécurisée entre les services pour soumettre un travail d’entraînement. Cet exemple vous montre comment toutes vos configurations s’associent pour sécuriser la communication.

  1. Le client charge des scripts et des données d’entraînement vers des comptes de stockage sécurisés au moyen d’un point de terminaison de service ou privé.

  2. Le client envoie un travail d’entraînement à l’espace de travail Azure Machine Learning via le point de terminaison privé.

  3. Le service Azure Batch reçoit la tâche depuis l’espace de travail. Il soumet ensuite la tâche de formation à l’environnement de calcul via l’équilibreur de charge public pour la ressource de calcul.

  4. La ressource de calcul reçoit le travail et commence l’apprentissage. La ressource de calcul utilise les informations stockées dans le coffre de clés pour accéder aux comptes de stockage afin de télécharger les fichiers d’entraînement et charger la sortie.

Diagram showing the secure training job submission workflow.

Limites

  • L’instance et les clusters Azure Compute doivent se trouver dans le même réseau virtuel, la même région et le même abonnement que l’espace de travail et les ressources associées.

Sécuriser l’environnement d’inférence

Vous pouvez activer l’isolement réseau pour les points de terminaison en ligne managés afin de sécuriser le trafic réseau suivant :

  • Demandes de scoring entrantes.
  • Communication sortante avec l’espace de travail, Azure Container Registry et Stockage Blob Azure.

Pour plus d’informations, consultez Activer l’isolement réseau pour les points de terminaison en ligne managés.

Dans cette section, vous allez découvrir les options disponibles pour sécuriser un environnement d’inférence lors de l’utilisation de l’extension Azure CLI pour ML v1 ou du kit de développement logiciel (SDK) Python Azure Machine Learning v1. Lors de l’exécution d’un déploiement v1, nous vous recommandons d’utiliser des clusters Azure Kubernetes Services (AKS) pour les déploiements de production à grande échelle.

Deux options sont disponibles pour les clusters AKS dans un réseau virtuel :

  • Déployer ou attacher un cluster AKS par défaut dans votre réseau virtuel.
  • Attacher un cluster AKS privé à votre réseau virtuel.

Les clusters AKS par défaut ont un plan de contrôle avec des adresses IP publiques. Vous pouvez ajouter un cluster AKS par défaut à votre réseau virtuel pendant le déploiement ou attacher un cluster une fois celui-ci créé.

Les clusters AKS privés ont un plan de contrôle qui n’est accessible que par adresse IP privée. Les clusters AKS privés doivent être attachés une fois le cluster créé.

Retrouvez les instructions détaillées concernant l’ajout de clusters par défaut et privés dans l’article Sécuriser un environnement d’inférence.

Quel que soit le cluster AKS par défaut ou le cluster AKS privé utilisé, si votre cluster AKS se trouve derrière le réseau virtuel, votre espace de travail et ses ressources associées (stockage, coffre de clés et ACR) doivent avoir des points de terminaison privés ou des points de terminaison de service dans le même réseau virtuel que le cluster AKS.

Le diagramme de réseau suivant représente un espace de travail Azure Machine Learning sécurisé avec un cluster AKS privé attaché au réseau virtuel.

Diagram showing an attached private AKS cluster.

Facultatif : Activer l’accès public

Vous pouvez sécuriser l’espace de travail derrière un réseau virtuel en utilisant un point de terminaison privé tout en autorisant l’accès via l’internet public. La configuration initiale est la même que pour la sécurisation de l’espace de travail et des ressources associées.

Après avoir sécurisé l’espace de travail avec un point de terminaison privé, procédez comme suit pour permettre aux clients de se développer à distance à l’aide du kit de développement logiciel (SDK) ou d’Azure Machine Learning studio :

  1. Activez l’accès public à l’espace de travail.
  2. Configurez le pare-feu stockage Azure pour autoriser la communication avec l’adresse IP des clients qui se connectent via l’internet public.
  1. Activez l’accès public à l’espace de travail.
  2. Configurez le pare-feu stockage Azure pour autoriser la communication avec l’adresse IP des clients qui se connectent via l’internet public.

Facultatif : activer la fonctionnalité studio

Si votre stockage se trouve dans un réseau virtuel, vous devez suivre des étapes de configuration supplémentaires pour activer toutes les fonctionnalités dans Studio. Par défaut, les fonctionnalités suivantes sont désactivées :

  • Aperçu des données dans Studio
  • Visualisation des données dans le concepteur
  • Déploiement d’un modèle dans le concepteur
  • Envoi d’une expérience AutoML
  • Démarrage d’un projet d’étiquetage

Pour activer toutes les fonctionnalités Studio, consultez Utiliser le studio Azure Machine Learning dans un réseau virtuel.

Limites

L’étiquetage des données assisté par ML ne prend pas en charge les comptes de stockage par défaut derrière un réseau virtuel. À la place, utilisez un compte de stockage différent de celui par défaut pour l’étiquetage des données assisté par ML.

Conseil

Tant qu’il ne s’agit pas du compte de stockage par défaut, le compte utilisé par l’étiquetage des données peut être sécurisé derrière le réseau virtuel.

Configurer les paramètres de pare-feu

Configurez votre pare-feu pour contrôler le trafic entre les ressources de votre espace de travail Azure Machine Learning et l’Internet public. Nous recommandons d’utiliser le pare-feu Azure, mais vous pouvez utiliser d’autres produits de pare-feu.

Pour plus d’informations sur les paramètres de pare-feu, consultez Utiliser un espace de travail derrière un pare-feu.

Système DNS personnalisé

Si vous devez utiliser une solution DNS personnalisée pour votre réseau virtuel, vous devez ajouter des enregistrements d’hôte pour votre espace de travail.

Pour plus d’informations sur les noms de domaine et les adresses IP requis, consultez Comment utiliser un espace de travail avec un serveur DNS personnalisé.

Microsoft Sentinel

Microsoft Sentinel est une solution de sécurité qui peut s’intégrer à Azure Machine Learning. Par exemple, en utilisant les notebooks Jupyter fournis via Azure Machine Learning. Pour plus d’informations, consultez Utiliser des notebooks Jupyter pour faire la chasse aux menaces de sécurité.

Accès public

Microsoft Sentinel peut créer un espace de travail automatiquement si l’utilisation d’un point de terminaison public vous convient. Dans cette configuration, les analystes du centre des opérations de sécurité (SOC) et les administrateurs système se connectent aux notebooks dans votre espace de travail via Sentinel.

Pour plus d’informations sur ce processus, consultez Créer un espace de travail Azure Machine Learning à partir de Microsoft Sentinel

Diagram showing Microsoft Sentinel public connection.

Point de terminaison privé

Si vous souhaitez sécuriser votre espace de travail et les ressources associées dans un réseau virtuel, vous devez d’abord créer l’espace de travail Azure Machine Learning. Vous devez également créer un serveur de rebond (machine virtuelle) dans le même réseau virtuel que votre espace de travail et activer la connectivité Azure Bastion à celui-ci. Comme dans la configuration publique, les analystes et administrateurs du SOC peuvent se connecter à l’aide de Microsoft Sentinel, mais certaines opérations doivent être effectuées à l’aide d’Azure Bastion pour établir une connexion à la machine virtuelle.

Pour plus d’informations sur cette configuration, consultez Créer un espace de travail Azure Machine Learning à partir de Microsoft Sentinel

Daigram showing Microsoft Sentinel connection through a VNet.

Étapes suivantes

Cet article fait partie d’une série sur la sécurisation d’un workflow Azure Machine Learning. Consultez les autres articles de cette série :