Prévention de l’exfiltration de données Azure Machine Learning

Azure Machine Learning possède plusieurs dépendances entrantes et sortantes. Certaines de ces dépendances peuvent représenter un risque d’exfiltration de données par des agents malveillants au sein de votre organisation. Ce document explique comment réduire le risque d’exfiltration de données en limitant les exigences de trafic entrant et sortant.

  • Trafic entrant : si votre instance de calcul ou votre cluster utilise une adresse IP publique, vous avez une trafic entrant sur l’étiquette de service azuremachinelearning (port 44224). Vous pouvez contrôler ce trafic entrant à l’aide d’un groupe de sécurité réseau et d’étiquettes de service. Il est difficile de déguiser des adresses IP de service Azure. Le risque d’exfiltration de données est donc faible. Vous pouvez aussi configurer le calcul pour qu’il n’utilise pas d’adresse IP publique, ce qui supprime les exigences de trafic entrant.

  • Trafic sortant : Si des agents malintentionnés n’ont pas accès en écriture aux ressources de destination sortantes, ils ne peuvent pas utiliser ce trafic sortant à des fins d’exfiltration de données. Microsoft Entra ID, Azure Resource Manager, Azure Machine Learning et Microsoft Container Registry appartiennent à cette catégorie. En revanche, Stockage et AzureFrontDoor.frontend peuvent être utilisés à des fins d’exfiltration de données.

    • Stockage sortant : Cette exigence vient de l’instance de calcul et du cluster de calcul. Un agent malintentionné peut utiliser cette règle de trafic sortant pour exfiltrer des données en provisionnant et en enregistrant des données dans son propre compte de stockage. Vous pouvez supprimer ce risque d’exfiltration de données avec une stratégie de point de terminaison de service Azure et l’architecture de communication des nœuds simplifiée d’Azure Batch.

    • Trafic sortant AzureFrontDoor.frontend : Azure Front Door est utilisé par l’IU Azure Machine Learning studio et AutoML. Au lieu d’autoriser le trafic sortant vers l’étiquette de service (AzureFrontDoor.frontend), basculez vers les noms de domaine complets suivants. Cela permet de supprimer le trafic sortant inutile inclus dans l’étiquette de service et d’autoriser uniquement le strict nécessaire pour l’IU Azure Machine Learning studio et AutoML.

      • ml.azure.com
      • automlresources-prod.azureedge.net

Conseil

Les informations contenues dans cet article concernent principalement l’utilisation d’un réseau virtuel Azure. Azure Machine Learning peut également utiliser des réseaux virtuels managés. 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.

Les réseaux virtuels managés vous aident à résoudre les problèmes d’exfiltration de données en vous permettant de limiter la sortie au trafic sortant approuvé. Pour plus d’informations, consultez Isolement réseau managé d’espace de travail.

Prérequis

  • Un abonnement Azure
  • Un réseau virtuel Azure (VNet)
  • Un espace de travail Azure Machine Learning avec un point de terminaison privé qui se connecte au VNet.
    • Le compte de stockage utilisé par l’espace de travail doit également se connecter au VNet à l’aide d’un point de terminaison privé.
  • Vous devez recréer une instance de calcul ou réduire le cluster de calcul à zéro nœud.
    • Non obligatoire si vous avez rejoint la préversion.
    • Non obligatoire si vous avez une nouvelle instance de calcul et un cluster de calcul créés après décembre 2022.

Pourquoi dois-je utiliser la stratégie de point de terminaison de service

Les stratégies de points de terminaison permettent de filtrer le trafic de réseau virtuel sortant vers les comptes de stockage Azure sur le point de terminaison de service et d’exfiltrer des données vers des comptes de stockage Azure spécifiques uniquement. L’instance de calcul et le cluster de calcul Azure Machine Learning nécessitent un accès aux comptes de stockage gérés par Microsoft pour son approvisionnement. L’alias Azure Machine Learning dans les stratégies de point de terminaison de service inclut des comptes de stockage gérés Microsoft. Nous utilisons des stratégies de point de terminaison de service avec l’alias Azure Machine Learning pour empêcher l’exfiltration des données ou contrôler les comptes de stockage de destination. Pour plus d’informations, consultez la documentation sur la stratégie de point de terminaison de service.

1. Créer la stratégie de point de terminaison de service

  1. À partir du portail Azure, ajoutez une nouvelle stratégie de point de terminaison de service. Sous l’onglet Informations de base, indiquez les informations nécessaires, puis sélectionnez Suivant.

  2. Sous l’onglet Définitions de stratégie, effectuez les actions suivantes :

    1. Sélectionnez + Ajouter une ressource, puis fournissez les informations suivantes :

      • Service : Microsoft.Storage
      • Étendue: sélectionnez l’étendue en tant que compte unique pour limiter le trafic réseau à un compte de stockage.
      • Abonnement : Abonnement Azure qui contient le compte de stockage.
      • Groupe de ressources : Groupe de ressources qui contient le compte de stockage.
      • Ressource: compte de stockage par défaut de votre espace de travail.

      Sélectionnez Ajouter pour ajouter les informations de la ressource.

      A screenshot showing how to create a service endpoint policy.

    2. Sélectionnez + Ajouter un alias, puis /services/Azure/MachineLearning comme valeur Alias de serveur. Sélectionnez Ajouter pour ajouter l’alias.

      Notes

      Azure CLI et Azure PowerShell ne prennent pas en charge l’ajout d’un alias à la stratégie.

  3. Sélectionnez Vérifier + créer, puis Créer.

Important

Si votre instance de calcul et votre cluster de calcul ont besoin d’accéder à des comptes de stockage supplémentaires, votre stratégie de point de terminaison de service doit inclure les comptes de stockage supplémentaires dans la section ressources. Notez qu’il n’est pas obligatoire si vous utilisez des points de terminaison privés de stockage. La stratégie de point de terminaison de service et le point de terminaison privé sont indépendants.

2. Autoriser le trafic réseau entrant et sortant

Trafic entrant

Important

Les informations suivantes modifient les conseils fournis dans l’article Comment sécuriser l’environnement d’entraînement.

Important

Les informations suivantes modifient les conseils fournis dans l’article Comment sécuriser l’environnement d’entraînement.

Lorsque vous utilisez une instance de calcul Azure Machine Learningavec une adresse IP publique, autorisez le trafic entrant à partir de la gestion Azure Batch (étiquette de service BatchNodeManagement.<region>). Une instance de calcul sans adresse IP publiquene nécessite pas cette communication entrante.

Règle de trafic sortant

Important

Les informations suivantes s’ajoutent aux instructions fournies dans les articles Sécuriser l’environnement d’entraînement avec des réseaux virtuels et Configurer le trafic réseau entrant et sortant.

Important

Les informations suivantes s’ajoutent aux instructions fournies dans les articles Sécuriser l’environnement d’entraînement avec des réseaux virtuels et Configurer le trafic réseau entrant et sortant.

Sélectionnez la configuration que vous utilisez :

Autorisez le trafic sortant vers les étiquettes de service suivantes. Remplacez <region> par la région Azure qui contient votre cluster ou instance de calcul :

Balise du service Protocol Port
BatchNodeManagement.<region> ANY 443
AzureMachineLearning TCP 443
Storage.<region> TCP 443

Notes

Pour le stockage sortant, une stratégie de point de terminaison de service sera appliquée dans une étape ultérieure pour limiter le trafic sortant.

3. Activer le point de terminaison de stockage pour le sous-réseau

Procédez comme suit pour activer un point de terminaison de stockage pour le sous-réseau qui contient vos clusters et instances de calcul Azure Machine Learning :

  1. Dans le portail Azure, sélectionnez le réseau virtuel Azure à utiliser pour votre espace de travail Azure Machine Learning.
  2. À gauche de la page, sélectionnez Sous-réseaux, puis sélectionnez le sous-réseau qui contient votre cluster et instance de calcul.
  3. Dans le formulaire qui s’affiche, développez la liste déroulante Services, puis activez Microsoft.Storage. Sélectionnez Enregistrer pour enregistrer ces modifications.
  4. Appliquez la stratégie de point de terminaison de service à votre sous-réseau d’espace de travail.

A screenshot of the Azure portal showing how to enable storage endpoint for the subnet.

4. Environnements organisés

Quand vous utilisez des environnements organisés Azure Machine Learning, veillez à utiliser leur dernière version. Le registre de conteneurs de l’environnement doit également être mcr.microsoft.com. Pour vérifier le registre de conteneurs, utilisez les étapes suivantes :

  1. Dans Azure Machine Learning studio, sélectionnez votre espace de travail, puis Environnements.

  2. Vérifiez que le registre de conteneurs Azure commence par la valeur mcr.microsoft.com.

    Important

    Si le registre de conteneurs est viennaglobal.azurecr.io, vous ne pouvez pas utiliser l’environnement organisé avec l’exfiltration de données. Essayez de mettre à niveau l’environnement organisé vers sa version la plus récente.

  3. Quand vous utilisez mcr.microsoft.com, vous devez également autoriser la configuration de trafic sortant vers les ressources suivantes. Sélectionnez l’option de configuration que vous utilisez :

    Autorisez le trafic sortant sur le port TCP 443 vers les balises de service suivantes. Remplacez <region> par la région Azure qui contient votre cluster ou instance de calcul.

    • MicrosoftContainerRegistry.<region>
    • AzureFrontDoor.FirstParty

Étapes suivantes

Pour plus d’informations, consultez les articles suivants :