Partager via


Isolation de réseau virtuel managé par un espace de travail

APPLIES TO :Extension Azure ML CLI v2 (actuelle)Kit de développement logiciel (SDK) Python azure-ai-ml v2 (préversion)

Azure Machine Learning prend en charge l’isolation du réseau virtuel managé (réseau virtuel managé). L’isolation de réseau virtuel managé simplifie et automatise votre configuration d’isolation réseau avec un réseau virtuel managé Azure Machine Learning intégré au niveau de l’espace de travail. Le réseau virtuel managé sécurise vos ressources Azure Machine Learning gérées, telles que les instances de calcul, les clusters de calcul, le calcul serverless et les points de terminaison en ligne managés.

La sécurisation de votre espace de travail avec un réseau managé fournit une isolation réseau pour l’accès sortant à partir de l’espace de travail et des calculs managés. Un réseau virtuel Azure que vous créez et gérez est utilisé pour fournir un accès entrant avec isolation réseau à l’espace de travail. Par exemple, un point de terminaison privé pour l’espace de travail est créé dans votre réseau virtuel Azure. Tous les clients qui se connectent au réseau virtuel peuvent accéder à l’espace de travail via le point de terminaison privé. Lors de l’exécution de travaux sur des calculs managés, le réseau managé limite ce à quoi le calcul peut accéder.

Architecture des réseaux virtuels managés

Lorsque vous activez l’isolation du réseau virtuel managé, un réseau virtuel managé est créé pour l’espace de travail. Les ressources de calcul managées que vous créez pour l’espace de travail utilisent automatiquement ce réseau virtuel managé. Le réseau virtuel managé peut utiliser des points de terminaison privés pour les ressources Azure utilisées par votre espace de travail, telles que stockage Azure, Azure Key Vault et Azure Container Registry.

Il existe deux modes de configuration différents pour le trafic sortant provenant du réseau virtuel managé :

Conseil

Quel que soit le mode sortant que vous utilisez, le trafic vers les ressources Azure peut être configuré pour utiliser un point de terminaison privé. Par exemple, vous pouvez autoriser tout le trafic sortant vers Internet, mais restreindre la communication avec les ressources Azure en ajoutant des règles de trafic sortant pour les ressources.

Mode de trafic sortant Descriptif Scénarios
Autoriser le trafic sortant Internet Autoriser tout le trafic sortant Internet provenant du réseau virtuel managé. Vous souhaitez un accès illimité aux ressources Machine Learning sur Internet, telles que les packages Python ou les modèles préentraînés.1
Autoriser seulement le trafic sortant approuvé Le trafic sortant est autorisé en spécifiant des étiquettes de service. * Vous souhaitez réduire le risque d’exfiltration des données, mais vous devez préparer tous les artefacts Machine Learning requis dans votre environnement privé.
* Vous souhaitez configurer l’accès sortant à une liste approuvée de services, de balises de service ou de noms de domaine complets.
Désactivé Le trafic entrant et sortant n’est pas restreint ou vous utilisez votre propre réseau virtuel Azure pour protéger les ressources. Vous souhaitez un trafic entrant et sortant public à partir de l’espace de travail, ou vous gérez l’isolation réseau avec votre propre réseau virtuel Azure.
  1. Vous pouvez utiliser des règles de communication sortante avec le mode n’autoriser que les communications sortantes approuvées pour obtenir le même résultat que l’utilisation de l’option autoriser le trafic sortant vers Internet. Les différences sont les suivantes :
  • Vous devez ajouter des règles pour chaque connexion sortante que vous devez autoriser.
  • L’ajout de règles de trafic sortant FQDN augmente vos coûts, car ce type de règle utilise le Pare-feu Azure. Pour plus d’informations, consultez Tarification
  • Les règles par défaut pour autorisent uniquement les sortantes approuvées sont conçues pour réduire le risque d’exfiltration des données. Les règles de trafic sortant que vous ajoutez peuvent accroître votre risque.

Le réseau virtuel managé est préconfiguré avec les règles par défaut requises. Il est également configuré pour les connexions de point de terminaison privé à votre espace de travail, le stockage par défaut, le registre de conteneurs et le coffre de clés s’ils sont configurés en tant que privés ou le mode d’isolation de l’espace de travail est défini pour autoriser uniquement les sortantes approuvées. Après avoir choisi le mode d’isolement, vous avez seulement besoin de réfléchir aux autres exigences de trafic sortant que vous devrez éventuellement ajouter.

Le diagramme suivant montre un réseau virtuel managé configuré pour autoriser le trafic sortant d’Internet :

Diagramme d’un isolement de réseau virtuel managé configuré pour le trafic sortant Internet.

Le diagramme suivant montre un réseau virtuel managé configuré pour autoriser uniquement le trafic sortant approuvé :

Remarque

Dans cette configuration, le stockage, le coffre de clés et le registre de conteneurs utilisés par l’espace de travail sont marqués comme privés. Étant donné qu’ils sont marqués comme privés, un point de terminaison privé est utilisé pour communiquer avec eux.

Diagramme d’un isolement de réseau virtuel managé configuré pour autoriser uniquement le trafic sortant approuvé.

Remarque

Une fois qu’un espace de travail de réseau virtuel managé est configuré pour autoriser le trafic sortant Internet, l’espace de travail ne peut pas être reconfiguré pour être désactivé. De même, une fois qu’un espace de travail de réseau virtuel managé est configuré pour autoriser uniquement le trafic sortant approuvé, l’espace de travail ne peut pas être reconfiguré pour autoriser le trafic sortant Internet.

Azure Machine Learning Studio

Si vous souhaitez utiliser le notebook intégré ou créer des jeux de données dans le compte de stockage par défaut à partir de Studio, votre client doit accéder au compte de stockage par défaut. Créez un point de terminaison privé ou un point de terminaison de service pour le compte de stockage par défaut dans le réseau virtuel Azure utilisé par les clients.

Une partie d’Azure Machine Learning studio s’exécute localement dans le navigateur web du client et communique directement avec le stockage par défaut de l’espace de travail. La création d’un point de terminaison privé ou d’un point de terminaison de service (pour le compte de stockage par défaut) dans le réseau virtuel du client garantit que le client peut communiquer avec le compte de stockage.

Si l’accès au réseau public est désactivé sur le compte de stockage Azure associé à l’espace de travail, vérifiez que le point de terminaison privé créé dans le réseau virtuel client dispose du rôle Lecteur pour l’identité managée de votre espace de travail. Ceci s’applique aux points de terminaison privés de blog et de stockage de fichiers. Le rôle n’est pas requis pour le point de terminaison privé créé par le réseau virtuel managé.

Pour plus d'informations sur la création d'un point de terminaison privé ou d'un point de terminaison de service, consultez les articles Se connecter en privé à un compte de stockage et Points de terminaison de service.

Ressources associées sécurisées

Si vous ajoutez les services suivants au réseau virtuel en utilisant un point de terminaison de service ou un point de terminaison privé (en désactivant l’accès public), autorisez 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 depuis des 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

Prérequis

Avant de suivre les étapes décrites dans cet article, vérifiez que vous disposez des composants requis suivants :

  • Un abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer. Essayez la version gratuite ou payante d’Azure Machine Learning.

  • Le fournisseur de ressources Microsoft.Network doit être inscrit pour votre abonnement Azure. Ce fournisseur de ressources est utilisé par l’espace de travail lors de la création de points de terminaison privés pour le réseau virtuel managé.

    Pour plus d’informations sur l’inscription d’un fournisseur de ressources, consultez Résoudre les erreurs d’inscription de fournisseurs de ressources.

  • L’identité Azure que vous utilisez lors du déploiement d’un réseau managé nécessite les actions suivantes de contrôle d’accès en fonction du rôle Azure (Azure RBAC) pour créer des points de terminaison privés :

    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/read
    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write
  • L’interface CLI Azure et l’extension ml pour l’interface CLI Azure. Pour plus d’informations, consultez Installer, configurer et utiliser l’interface CLI (v2).

    Conseil

    Le réseau virtuel managé Azure Machine Learning a été introduit le 23 mai 2023. Si vous avez une version antérieure de l’extension ml, il peut être nécessaire de la mettre à jour pour que les exemples de cet article fonctionnent. Pour mettre à jour l’extension, utilisez la commande Azure CLI suivante :

    az extension update -n ml
    
  • Les exemples CLI de cet article supposent que vous utilisez le shell Bash (ou un shell compatible). Par exemple, à partir d’un système Linux ou d’un sous-système Windows pour Linux.

  • Les exemples Azure CLI de cet article utilisent ws pour représenter le nom de l’espace de travail et rg pour représenter le nom du groupe de ressources. Changez ces valeurs selon ce qui est nécessaire lors de l’utilisation des commandes avec votre abonnement Azure.

  • Un abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer. Essayez la version gratuite ou payante d’Azure Machine Learning.

  • Le fournisseur de ressources Microsoft.Network doit être inscrit pour votre abonnement Azure. Ce fournisseur de ressources est utilisé par l’espace de travail lors de la création de points de terminaison privés pour le réseau virtuel managé.

    Pour plus d’informations sur l’inscription d’un fournisseur de ressources, consultez Résoudre les erreurs d’inscription de fournisseurs de ressources.

  • L’identité Azure que vous utilisez lors du déploiement d’un réseau managé nécessite les actions suivantes de contrôle d’accès en fonction du rôle Azure (Azure RBAC) pour créer des points de terminaison privés :

    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/read
    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write
  • Le SDK Python v2 pour Azure Machine Learning. Pour plus d’informations sur le SDK, consultez Installer le SDK Python v2 pour Azure Machine Learning.

    Conseil

    Le réseau virtuel managé Azure Machine Learning a été introduit le 23 mai 2023. Si une version antérieure du Kit de développement logiciel (SDK) est installée, il peut être nécessaire de la mettre à jour pour que les exemples de cet article fonctionnent. Pour mettre à jour le SDK, utilisez la commande suivante :

    pip install --upgrade azure-ai-ml azure-identity
    
  • Les exemples de cet article supposent que votre code commence par le Python suivant. Ce code importe les classes nécessaires lors de la création d’un espace de travail avec un réseau virtuel managé, définit des variables pour votre abonnement Azure et votre groupe de ressources, et crée le paramètre ml_client :

    from azure.ai.ml import MLClient
    from azure.ai.ml.entities import (
        Workspace,
        ManagedNetwork,
        IsolationMode,
        ServiceTagDestination,
        PrivateEndpointDestination,
        FqdnDestination
    )
    from azure.identity import DefaultAzureCredential
    
    # Replace with the values for your Azure subscription and resource group.
    subscription_id = "<SUBSCRIPTION_ID>"
    resource_group = "<RESOURCE_GROUP>"
    
    # get a handle to the subscription
    ml_client = MLClient(DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group)
    
  • Un abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer. Essayez la version gratuite ou payante d’Azure Machine Learning.

  • Le fournisseur de ressources Microsoft.Network doit être inscrit pour votre abonnement Azure. Ce fournisseur de ressources est utilisé par l’espace de travail lors de la création de points de terminaison privés pour le réseau virtuel managé.

    Pour plus d’informations sur l’inscription d’un fournisseur de ressources, consultez Résoudre les erreurs d’inscription de fournisseurs de ressources.

  • L’identité Azure que vous utilisez lors du déploiement d’un réseau managé nécessite les actions suivantes de contrôle d’accès en fonction du rôle Azure (Azure RBAC) pour créer des points de terminaison privés :

    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/read
    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write

Pour établir des connexions de point de terminaison privé dans des réseaux virtuels managés à l’aide d’Azure Machine Learning, l’identité managée de l’espace de travail, qu’elle soit affectée par le système ou affectée par l’utilisateur et l’identité utilisateur qui lance la création du point de terminaison privé, doit disposer des autorisations nécessaires pour approuver les connexions de point de terminaison privé sur les ressources cibles. Après le 30 avril 2025, les autorisations ne sont pas automatiquement accordées à l’identité managée et doivent être affectées manuellement.

Microsoft recommande d’attribuer le rôle Approbateur de connexion réseau Azure AI Enterprise à l’identité managée. La liste suivante contient les types de ressources cibles de point de terminaison privé couverts par le rôle Approbateur de connexion réseau Azure AI Enterprise :

  • Azure Application Gateway
  • Azure Monitor
  • Recherche d’IA Azure
  • Event Hubs
  • Azure SQL Database
  • Stockage Azure
  • Espace de travail Azure Machine Learning
  • Registre Azure Machine Learning
  • Azure AI Foundry
  • Azure Key Vault
  • Base de données Azure Cosmos DB
  • Azure Database pour MySQL
  • Base de données Azure pour PostgreSQL
  • Azure AI Services
  • Cache Azure pour Redis
  • Registre de conteneurs
  • Gestion des API

Si vous souhaitez créer un rôle personnalisé à la place, consultez le rôle Approbateur de connexion réseau Azure AI Enterprise pour ajouter les actions spécifiques pour chaque type de ressource.

Pour créer des règles de trafic sortant de point de terminaison privé pour cibler les types de ressources non couverts par le rôle Approbateur de connexion réseau Azure AI Enterprise , un rôle personnalisé limité à l’étendue est recommandé. Le rôle doit être défini avec les actions nécessaires pour approuver les connexions de point de terminaison privé sur les types de ressources cibles. Les exemples de ces types de ressources sont Azure Data Factory, Azure Databricks et Azure Function Apps.

Pour créer des règles de trafic sortant de point de terminaison privé vers des ressources d’espace de travail par défaut, les autorisations requises sont automatiquement couvertes par les attributions de rôle accordées lors de la création de l’espace de travail. Aucune autre action n’est donc nécessaire.

Configurer un réseau virtuel managé pour autoriser le trafic sortant Internet

Conseil

La création du réseau virtuel managé est différée jusqu’à ce qu’une ressource de calcul soit créée ou que le provisionnement soit démarré manuellement. Lorsque vous autorisez la création automatique, la création automatique peut prendre environ 30 minutes pour créer la première ressource de calcul, car elle provisionne également le réseau. Pour plus d’informations, consultez provisionner manuellement le réseau.

Important

Si vous envisagez d’envoyer des travaux Spark serverless, vous devez démarrer manuellement l’approvisionnement. Pour plus d’informations, consultez la section Configurer pour des travaux Spark serverless.

Pour configurer un réseau virtuel managé qui autorise les communications sortantes Internet, vous pouvez utiliser le paramètre --managed-network allow_internet_outbound ou un fichier de configuration YAML qui contient les entrées suivantes :

managed_network:
  isolation_mode: allow_internet_outbound

Vous pouvez aussi définir des règles de trafic sortant vers d’autres services Azure sur lesquels l’espace de travail s’appuie. Ces règles définissent les points de terminaison privés qui permettent à une ressource Azure de communiquer de façon sécurisée avec le réseau virtuel managé. La règle suivante illustre l’ajout d’un point de terminaison privé à une ressource d’objets blob Azure.

managed_network:
  isolation_mode: allow_internet_outbound
  outbound_rules:
  - name: added-perule
    destination:
      service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>
      spark_enabled: true
      subresource_target: blob
    type: private_endpoint

Vous pouvez configurer un réseau virtuel managé en utilisant la commande az ml workspace create ou az ml workspace update :

L’exemple suivant crée un espace de travail. Le paramètre --managed-network allow_internet_outbound configure un réseau virtuel managé pour l’espace de travail :

az ml workspace create --name ws --resource-group rg --managed-network allow_internet_outbound

Pour créer un espace de travail en utilisant à la place un fichier YAML, utilisez le paramètre --file et spécifiez le fichier YAML qui contient les paramètres de configuration :

az ml workspace create --file workspace.yaml --resource-group rg --name ws

L’exemple YAML suivant définit un espace de travail avec un réseau virtuel managé :

name: myworkspace
location: EastUS
managed_network:
    isolation_mode: allow_internet_outbound

Pour configurer un réseau virtuel managé qui autorise les communications sortantes Internet, utilisez la classe ManagedNetwork pour définir un réseau avec IsolationMode.ALLOW_INTERNET_OUTBOUND. Vous pouvez ensuite utiliser l’objet ManagedNetwork pour créer un espace de travail ou mettre à jour un espace de travail existant. Pour définir des règles de trafic sortant vers les services Azure sur lesquels l’espace de travail s’appuie, utilisez la classe PrivateEndpointDestination pour définir un nouveau point de terminaison privé pour le service.

L’exemple suivant crée un espace de travail nommé myworkspace, avec une règle de trafic sortant nommée myrule qui ajoute un point de terminaison privé pour un magasin d’objets blob Azure :

# Basic managed VNet configuration
network = ManagedNetwork(IsolationMode.ALLOW_INTERNET_OUTBOUND)

# Workspace configuration
ws = Workspace(
    name="myworkspace",
    location="eastus",
    managed_network=network
)

# Example private endpoint outbound to a blob
rule_name = "myrule"
service_resource_id = "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>"
subresource_target = "blob"
spark_enabled = True

# Add the outbound 
ws.managed_network.outbound_rules = [PrivateEndpointDestination(
    name=rule_name, 
    service_resource_id=service_resource_id, 
    subresource_target=subresource_target, 
    spark_enabled=spark_enabled)]

# Create the workspace
ws = ml_client.workspaces.begin_create(ws).result()
  1. Connectez-vous au Portail Azure, puis choisissez Azure Machine Learning dans le menu Créer une ressource.

  2. Fournissez les informations nécessaires sous l’onglet Informations de base.

  3. Sous l’onglet Mise en réseau, sélectionnez Privé avec Internet Sortant.

    Capture d’écran de la création d’un espace de travail avec un réseau virtuel managé sortant Internet.

  4. Pour ajouter une règle sortante, sélectionnez Ajouter des règles sortantes personnalisées dans l'onglet Réseau. Dans la barre latérale Règles sortantes de l'espace de travail, renseignez les informations suivantes :

    • Nom de la règle : Un nom pour la règle. Le nom doit être unique pour cet espace de travail.
    • Type de destination : le point de terminaison privé est la seule option lorsque l’isolement réseau est privé avec le trafic sortant d’Internet. Le réseau virtuel géré par Azure Machine Learning ne prend pas en charge la création d’un point de terminaison privé pour tous les types de ressources Azure. Pour obtenir une liste des ressources prises en charge, consultez la section Points de terminaison privés.
    • Abonnement : l’abonnement qui contient la ressource Azure pour laquelle vous souhaitez ajouter un point de terminaison privé.
    • Groupe de ressources : le groupe de ressources qui contient la ressource Azure pour laquelle vous souhaitez ajouter un point de terminaison privé.
    • Type de ressource : le type de la ressource Azure.
    • Nom de la ressource : le nom de la ressource Azure.
    • Sous-ressource : la sous-ressource du type de ressource Azure.
    • Spark activé : sélectionnez cette option si vous souhaitez activer les travaux Spark serverless pour l’espace de travail. Cette option est disponible uniquement si le type de ressource est Stockage Azure.

    Capture d’écran montrant l’ajout d’une règle de trafic sortant pour un point de terminaison privé.

    Sélectionnez Enregistrer pour enregistrer la règle. Vous pouvez continuer à utiliser Ajouter des règles de trafic sortant définies par l’utilisateur pour ajouter des règles.

  5. Continuez à créer l’espace de travail comme d’habitude.

Configurer un réseau virtuel managé pour autoriser seulement le trafic sortant approuvé

Conseil

Le réseau virtuel managé est automatiquement approvisionné lorsque vous créez une ressource de calcul. Lorsque vous autorisez la création automatique, la création automatique peut prendre environ 30 minutes pour créer la première ressource de calcul, car elle provisionne également le réseau. Si vous avez configuré des règles de trafic sortant de nom de domaine complet, la première règle de nom de domaine complet ajoute environ 10 minutes au temps d’approvisionnement. Pour plus d’informations, consultez provisionner manuellement le réseau.

Important

Si vous envisagez d’envoyer des travaux Spark serverless, vous devez démarrer manuellement l’approvisionnement. Pour plus d’informations, consultez la section Configurer pour des travaux Spark serverless.

Pour configurer un réseau virtuel managé qui autorise seulement les communications sortantes approuvées, vous pouvez utiliser le paramètre --managed-network allow_only_approved_outbound ou un fichier de configuration YAML qui contient les entrées suivantes :

managed_network:
  isolation_mode: allow_only_approved_outbound

Vous pouvez aussi définir des règles de trafic sortant pour définir les communications sortantes approuvées. Une règle de trafic sortant peut être créée pour un type de service_tag, fqdnet private_endpoint. La règle suivante illustre l’ajout d’un point de terminaison privé à une ressource Azure Blob, d’une étiquette de service à Azure Data Factory et d’un nom de domaine complet à pypi.org :

Important

  • L’ajout d’un trafic sortant pour une étiquette de service ou un nom de domaine complet est valide seulement quand le réseau virtuel managé est configuré sur allow_only_approved_outbound.
  • Si vous ajoutez des règles de trafic sortant, Microsoft ne peut pas garantir l’exfiltration des données.

Avertissement

Les règles de trafic sortant FQDN sont implémentées à l’aide du Pare-feu Azure. Si vous utilisez des règles FQDN sortantes, les frais du Pare-feu Azure sont ajoutés à votre facturation. Pour plus d’informations, voir la tarification.

managed_network:
  isolation_mode: allow_only_approved_outbound
  outbound_rules:
  - name: added-servicetagrule
    destination:
      port_ranges: 80, 8080
      protocol: TCP
      service_tag: DataFactory
    type: service_tag
  - name: add-fqdnrule
    destination: 'pypi.org'
    type: fqdn
  - name: added-perule
    destination:
      service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>
      spark_enabled: true
      subresource_target: blob
    type: private_endpoint

Vous pouvez configurer un réseau virtuel managé en utilisant la commande az ml workspace create ou az ml workspace update :

L’exemple suivant utilise le paramètre --managed-network allow_only_approved_outbound pour configurer le réseau virtuel managé :

az ml workspace create --name ws --resource-group rg --managed-network allow_only_approved_outbound

Le fichier YAML suivant définit un espace de travail avec un réseau virtuel managé :

name: myworkspace
location: EastUS
managed_network:
    isolation_mode: allow_only_approved_outbound

Pour créer un espace de travail en utilisant le fichier YAML, utilisez le paramètre --file :

az ml workspace create --file workspace.yaml --resource-group rg --name ws

Pour configurer un réseau virtuel managé qui autorise seulement les communications sortantes approuvées, utilisez la classe ManagedNetwork pour définir un réseau avec IsolationMode.ALLOw_ONLY_APPROVED_OUTBOUND. Vous pouvez ensuite utiliser l’objet ManagedNetwork pour créer un espace de travail ou mettre à jour un espace de travail existant. Pour définir des règles de trafic sortant, utilisez les classes suivantes :

Destination Classe
Service Azure sur lequel s'appuie l'espace de travail PrivateEndpointDestination
Étiquette de service Azure ServiceTagDestination
nom de domaine complet (FQDN) FqdnDestination

L’exemple suivant crée un espace de travail nommé myworkspace, avec plusieurs règles de trafic sortant :

  • myrule – Ajoute un point de terminaison privé pour un magasin d’objets blob Azure.
  • datafactory- Ajoute une règle d’étiquette de service pour communiquer avec Azure Data Factory.

Important

  • L’ajout d’un trafic sortant pour une étiquette de service ou un nom de domaine complet est valide seulement quand le réseau virtuel managé est configuré sur IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND.
  • Si vous ajoutez des règles de trafic sortant, Microsoft ne peut pas garantir l’exfiltration des données.

Avertissement

Les règles de trafic sortant FQDN sont implémentées à l’aide du Pare-feu Azure. Si vous utilisez des règles FQDN sortantes, les frais du Pare-feu Azure sont ajoutés à votre facturation. Pour plus d’informations, voir la tarification.

# Basic managed VNet configuration
network = ManagedNetwork(IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND)

# Workspace configuration
ws = Workspace(
    name="myworkspace",
    location="eastus",
    managed_network=network
)

# Append some rules
ws.managed_network.outbound_rules = []
# Example private endpoint outbound to a blob
rule_name = "myrule"
service_resource_id = "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>"
subresource_target = "blob"
spark_enabled = True
ws.managed_network.outbound_rules.append(
    PrivateEndpointDestination(
        name=rule_name, 
        service_resource_id=service_resource_id, 
        subresource_target=subresource_target, 
        spark_enabled=spark_enabled
    )
)

# Example service tag rule
rule_name = "datafactory"
service_tag = "DataFactory"
protocol = "TCP"
port_ranges = "80, 8080-8089"
ws.managed_network.outbound_rules.append(
    ServiceTagDestination(
        name=rule_name, 
        service_tag=service_tag, 
        protocol=protocol, 
        port_ranges=port_ranges
    )
)

# Example FQDN rule
ws.managed_network.outbound_rules.append(
    FqdnDestination(
        name="fqdnrule", 
        destination="pypi.org"
    )
)

# Create the workspace
ws = ml_client.workspaces.begin_create(ws).result()
  1. Connectez-vous au Portail Azure, puis choisissez Azure Machine Learning dans le menu Créer une ressource.

  2. Fournissez les informations nécessaires sous l’onglet Informations de base.

  3. Sous l’onglet Mise en réseau, sélectionnez Privé avec trafic sortant approuvé.

    Capture d’écran de la création d’un espace de travail avec un réseau virtuel managé sortant approuvé.

  4. Pour ajouter une règle sortante, sélectionnez Ajouter des règles sortantes personnalisées dans l'onglet Réseau. Dans la barre latérale Règles sortantes de l'espace de travail, renseignez les informations suivantes :

    • Nom de la règle : Un nom pour la règle. Le nom doit être unique pour cet espace de travail.
    • Type de destination : point de terminaison privé, étiquette de service ou nom de domaine complet. L’étiquette de service et le nom de domaine complet sont disponibles uniquement lorsque l’isolement réseau est privé avec un trafic sortant approuvé.

    Si le type de destination est Point de terminaison privé, fournissez les informations suivantes :

    • Abonnement : l’abonnement qui contient la ressource Azure pour laquelle vous souhaitez ajouter un point de terminaison privé.
    • Groupe de ressources : le groupe de ressources qui contient la ressource Azure pour laquelle vous souhaitez ajouter un point de terminaison privé.
    • Type de ressource : le type de la ressource Azure.
    • Nom de la ressource : le nom de la ressource Azure.
    • Sous-ressource : la sous-ressource du type de ressource Azure.
    • Spark activé : sélectionnez cette option si vous souhaitez activer les travaux Spark serverless pour l’espace de travail. Cette option est disponible uniquement si le type de ressource est Stockage Azure.

    Conseil

    Le réseau virtuel managé Azure Machine Learning ne prend pas en charge la création d’un point de terminaison privé pour tous les types de ressources Azure. Pour obtenir une liste des ressources prises en charge, consultez la section Points de terminaison privés.

    Capture d’écran montrant la mise à jour d’un réseau de trafic sortant approuvé par l’ajout d’un point de terminaison privé.

    Si le type de destination est Étiquette de service, fournissez les informations suivantes :

    • Étiquette de service : l’étiquette de service à ajouter aux règles de trafic sortant approuvées.
    • Protocole : le protocole à autoriser pour l’étiquette de service.
    • Plages de ports : les plages de ports à autoriser pour l’étiquette de service.

    Capture d’écran montrant la mise à jour d’un réseau de trafic sortant approuvé par l’ajout d’une étiquette de service.

    Si le type de destination est Nom de domaine complet, fournissez les informations suivantes :

    Avertissement

    Les règles de trafic sortant FQDN sont implémentées à l’aide du Pare-feu Azure. Si vous utilisez des règles FQDN sortantes, les frais du Pare-feu Azure sont ajoutés à votre facturation. Pour plus d’informations, voir la tarification.

    • Destination du nom de domaine complet : le nom de domaine complet à ajouter aux règles de trafic sortant approuvées.

    Capture d’écran de la mise à jour d’un réseau sortant approuvé en ajoutant une règle de nom de domaine complet pour un réseau virtuel managé sortant approuvé.

    Sélectionnez Enregistrer pour enregistrer la règle. Vous pouvez continuer à utiliser Ajouter des règles de trafic sortant définies par l’utilisateur pour ajouter des règles.

  5. Continuez à créer l’espace de travail comme d’habitude.

Configurer pour des travaux Spark serverless

Conseil

Les étapes décrites dans cette section ne sont nécessaires que si vous envisagez d’envoyer des travaux Spark serverless. Si vous ne souhaitez pas envoyer de travaux Spark serverless, vous pouvez ignorer cette section.

Pour activer les travaux Spark serverless pour le réseau virtuel managé, vous devez effectuer les actions suivantes :

  • Configurez un réseau virtuel managé pour l’espace de travail et ajoutez un point de terminaison privé sortant pour le compte de stockage Azure.
  • Après avoir configuré le réseau virtuel managé, provisionnez-le et marquez-le pour autoriser les travaux Spark.
  1. Configurez un point de terminaison privé sortant.

    Utilisez un fichier YAML pour définir la configuration du réseau virtuel managé et ajouter un point de terminaison privé pour le compte de stockage Azure. Définissez aussi spark_enabled: true :

    Conseil

    Cet exemple concerne un réseau virtuel managé configuré isolation_mode: allow_internet_outbound pour autoriser le trafic Internet. Si vous voulez autoriser seulement le trafic sortant approuvé, utilisez isolation_mode: allow_only_approved_outbound.

    name: myworkspace
    managed_network:
      isolation_mode: allow_internet_outbound
      outbound_rules:
      - name: added-perule
        destination:
          service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>
          spark_enabled: true
          subresource_target: blob
        type: private_endpoint
    

    Vous pouvez utiliser un fichier de configuration YAML avec la commande az ml workspace update en spécifiant le paramètre --file et le nom du fichier YAML. Par exemple, la commande suivante met à jour un espace de travail existant en utilisant un fichier YAML nommé workspace_pe.yml :

    az ml workspace update --file workspace_pe.yml --resource_group rg --name ws
    

    Remarque

    Lorsque l’option Autoriser uniquement le trafic sortant approuvé est activée (isolation_mode: allow_only_approved_outbound), les dépendances de package conda définies dans la configuration de session Spark ne parvient pas à être installées. Pour résoudre ce problème, chargez une roue de package Python autonome sans dépendances externes vers un compte de stockage Azure et créez un point de terminaison privé sur ce compte de stockage. Utilisez le chemin d’accès au wheel de package Python en tant que paramètre py_files dans votre travail Spark. La définition d’une règle sortante FQDN ne contournera pas ce problème, car la propagation des règles FQDN n’est pas prise en charge par Spark.

    L’exemple suivant montre comment créer un réseau virtuel managé pour un espace de travail Azure Machine Learning existant nommé myworkspace. Il ajoute également un point de terminaison privé pour le compte de stockage Azure et définit spark_enabled=true :

    Conseil

    L’exemple suivant concerne un réseau virtuel managé configuré à l’aide de IsolationMode.ALLOW_INTERNET_OUTBOUND pour autoriser le trafic Internet. Si vous voulez autoriser seulement le trafic sortant approuvé, utilisez IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND.

    # Get the existing workspace
    ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group, "myworkspace")
    ws = ml_client.workspaces.get()
    
    # Basic managed VNet configuration
    ws.managed_network = ManagedNetwork(IsolationMode.ALLOW_INTERNET_OUTBOUND)
    
    # Example private endpoint outbound to a blob
    rule_name = "myrule"
    service_resource_id = "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>"
    subresource_target = "blob"
    spark_enabled = True
    
    # Add the outbound 
    ws.managed_network.outbound_rules = [PrivateEndpointDestination(
        name=rule_name, 
        service_resource_id=service_resource_id, 
        subresource_target=subresource_target, 
        spark_enabled=spark_enabled)]
    
    # Create the workspace
    ml_client.workspaces.begin_update(ws)
    

    Remarque

    • Lorsque l’option Autoriser uniquement le trafic sortant approuvé est activée (isolation_mode: allow_only_approved_outbound), les dépendances de package conda définies dans la configuration de session Spark ne parvient pas à être installées. Pour résoudre ce problème, chargez une roue de package Python autonome sans dépendances externes vers un compte de stockage Azure et créez un point de terminaison privé sur ce compte de stockage. Utilisez le chemin d’accès au wheel de package Python comme paramètre py_files dans le travail Spark.
    • Si l’espace de travail a été créé avec IsolationMode.ALLOW_INTERNET_OUTBOUND, il ne peut pas être mis à jour ultérieurement pour utiliser IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND.
    1. Connectez-vous au Portail Azure, puis sélectionnez l’espace de travail Azure Machine Learning.

    2. Sélectionnez Mise en réseau, puis Ajouter des règles de trafic sortant définies par l’utilisateur. Ajoutez une règle pour le compte Stockage Azure, puis vérifiez que Spark activé est sélectionné.

      Capture d’écran d’une règle de point de terminaison avec Spark activé sélectionné.

    3. Sélectionnez Enregistrer pour enregistrer la règle, puis sélectionnez Enregistrer en haut de La mise en réseau pour enregistrer les modifications apportées au réseau virtuel géré.

  2. Approvisionnez le réseau virtuel managé.

    Remarque

    Si l’accès au réseau public est activé sur votre espace de travail, vous devez le désactiver avant d’approvisionner le VNET managé. Si vous ne désactivez pas l’accès au réseau public lors de l’approvisionnement du réseau virtuel managé, les points de terminaison privés de l’espace de travail peuvent ne pas être créés automatiquement dans le réseau virtuel managé. Sinon, vous devez configurer manuellement la règle de trafic sortant du point de terminaison privé pour l’espace de travail après l’approvisionnement.

    L’exemple suivant montre comment approvisionner un réseau virtuel managé pour les travaux Spark serverless à l’aide du paramètre --include-spark.

    az ml workspace provision-network -g my_resource_group -n my_workspace_name --include-spark
    

    L’exemple suivant montre comment provisionner un réseau virtuel managé pour les travaux Spark serverless :

    # Connect to a workspace named "myworkspace"
    ml_client = MLClient(DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name="myworkspace")
    
    # whether to provision Spark vnet as well
    include_spark = True
    
    provision_network_result = ml_client.workspaces.begin_provision_network(workspace_name=ws_name, include_spark=include_spark).result()
    

    Dans le portail Azure, vous ne pouvez sélectionner que pour approvisionner le réseau managé lors de la création de l’espace de travail. Pour ce faire, sélectionnez Provisionner un réseau virtuel managé à partir de l’onglet Accès sortant . Pour approvisionner le réseau managé pour les travaux Spark serverless pour un espace de travail existant, vous devez utiliser azure CLI ou le Kit de développement logiciel (SDK) Python.

Provisionner manuellement un réseau virtuel managé

Le réseau virtuel managé est automatiquement approvisionné lorsque vous créez une instance de calcul. Lorsque vous vous appuyez sur l’approvisionnement automatique, l’approvisionnement automatique peut prendre environ 30 minutes pour créer la première instance de calcul, car elle approvisionne également le réseau. Si vous avez configuré des règles de trafic sortant FQDN (disponibles seulement avec le mode approuvé), la première règle FQDN ajoute environ 10 minutes au temps nécessaire à l’approvisionnement. Si vous avez un grand ensemble de règles de trafic sortant à approvisionner dans le réseau managé, l’approvisionnement peut prendre plus de temps. Le temps d’approvisionnement accru peut entraîner le dépassement du délai d’expiration lors de la création de votre première instance de calcul.

Pour réduire le temps d’attente et éviter les erreurs d’expiration de délai d’attente potentielles, nous vous recommandons d’approvisionner manuellement le réseau managé. Attendez ensuite que l’approvisionnement se termine avant de créer une instance de calcul.

Vous pouvez également utiliser l’indicateur provision_network_now pour approvisionner le réseau managé dans le cadre de la création de l’espace de travail.

Remarque

Pour créer un déploiement en ligne, vous devez provisionner manuellement le réseau managé ou créer d’abord une instance de calcul qui l’approvisionnera automatiquement.

L’exemple suivant montre comment provisionner un réseau virtuel managé lors de la création de l’espace de travail.

az ml workspace create -n myworkspace -g my_resource_group --managed-network AllowInternetOutbound --provision-network-now

L’exemple suivant montre comment provisionner manuellement un réseau virtuel managé.

Conseil

Si vous envisagez d’envoyer des travaux Spark serverless, ajoutez le paramètre --include-spark .

az ml workspace provision-network -g my_resource_group -n my_workspace_name

Pour vérifier que l'approvisionnement s'est bien déroulé, utilisez la commande suivante :

az ml workspace show -n my_workspace_name -g my_resource_group --query managed_network

Pour approvisionner le réseau managé lors de la création de l’espace de travail, définissez l’indicateur provision_network_now sur True.

provision_network_now: True

L’exemple suivant montre comment approvisionner un réseau virtuel managé :

# Connect to a workspace named "myworkspace"
ml_client = MLClient(DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name="myworkspace")

# whether to provision Spark vnet as well
include_spark = True

provision_network_result = ml_client.workspaces.begin_provision_network(workspace_name=ws_name, include_spark=include_spark).result()

Pour vérifier que l’espace de travail a été approvisionné, utilisez ml_client.workspaces.get() pour obtenir les informations relatives à l’espace de travail. La propriété managed_network contient l’état du réseau managé.

ws = ml_client.workspaces.get()
print(ws.managed_network.status)

Lors de la création de l’espace de travail, sélectionnez Provisionner de manière proactive le réseau managé lors de la création pour approvisionner le réseau managé. Les frais sont facturés à partir de ressources réseau, telles que des points de terminaison privés, une fois le réseau virtuel approvisionné. Cette option de configuration est disponible uniquement lors de la création de l’espace de travail.

Configurer des builds d’image

Quand Azure Container Registry pour votre espace de travail se trouve derrière un réseau virtuel, il ne peut pas être utilisé pour générer directement des images Docker. Au lieu de cela, configurez votre espace de travail pour utiliser un cluster de calcul ou une instance de calcul pour générer des images.

Important

La ressource de calcul utilisée pour générer des images Docker doit être en mesure d’accéder aux référentiels de package utilisés pour entraîner et déployer vos modèles. Si vous utilisez un réseau configuré pour autoriser uniquement le trafic sortant approuvé, vous devrez peut-être ajouter des règles qui autorisent l’accès aux dépôts publics ou utiliser des packages Python privés.

Pour mettre à jour un espace de travail pour utiliser un cluster de calcul ou une instance de calcul pour générer des images Docker, utilisez la commande az ml workspace update avec le paramètre --image-build-compute :

az ml workspace update --name ws --resource-group rg --image-build-compute mycompute

L’exemple suivant montre comment mettre à jour un espace de travail pour utiliser un cluster de calcul pour générer des images :

# import required libraries
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential

subscription_id = "<your subscription ID>"
resource_group = "<your resource group name>"
workspace = "<your workspace name>"

ml_client = MLClient(
    DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name=workspace
)

# Get workspace info
ws=ml_client.workspaces.get(name=workspace)
# Update to use cpu-cluster for image builds
ws.image_build_compute="mycompute"
ml_client.workspaces.begin_update(ws)
# To switch back to using ACR to build (if ACR is not in the virtual network):
# ws.image_build_compute = ''
# ml_client.workspaces.begin_update(ws)

Il n’existe aucun moyen de définir le calcul de génération d’image à partir du portail Azure. Utilisez plutôt l’interface de ligne de commande Azure ou le Kit de développement logiciel (SDK) Python.

Gérer les règles de trafic sortant

Pour répertorier les règles de trafic sortant du réseau virtuel managé pour un espace de travail, utilisez la commande suivante :

az ml workspace outbound-rule list --workspace-name ws --resource-group rg

Pour afficher les détails d’une règle de trafic sortant de réseau virtuel managé, utilisez la commande suivante :

az ml workspace outbound-rule show --rule rule-name --workspace-name ws --resource-group rg

Pour supprimer une règle de trafic sortant du réseau virtuel managé, utilisez la commande suivante :

az ml workspace outbound-rule remove --rule rule-name --workspace-name ws --resource-group rg

L’exemple suivant montre comment gérer les règles de trafic sortant pour un espace de travail nommé myworkspace :

# Connect to the workspace
ml_client = MLClient(DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name="myworkspace")

# Specify the rule name
rule_name = "<some-rule-name>"

# Get a rule by name
rule = ml_client._workspace_outbound_rules.get(resource_group, ws_name, rule_name)

# List rules for a workspace
rule_list = ml_client._workspace_outbound_rules.list(resource_group, ws_name)

# Delete a rule from a workspace
ml_client._workspace_outbound_rules.begin_remove(resource_group, ws_name, rule_name).result()
  1. Connectez-vous au Portail Azure, puis sélectionnez l’espace de travail Azure Machine Learning pour lequel vous souhaitez activer l’isolement réseau virtuel managé.

  2. Sélectionnez Mise en réseau. La section Accès sortant à l’espace de travail vous permet de gérer les règles de trafic sortant.

    Capture d’écran de la section des règles de trafic sortant.

  • Pour ajouter une règle sortante, sélectionnez Ajouter des règles sortantes personnalisées dans l'onglet Réseau. Dans la barre latérale Règles sortantes de l'espace de travail, renseignez les informations suivantes :

  • Pour activer ou désactiver une règle, utilisez le bouton bascule dans la colonne Activé.

  • Pour supprimer une règle de trafic sortant, sélectionnez supprimer pour la règle.

Liste des règles requises

Points de terminaison privés.

  • Lorsque le mode d’isolation du réseau virtuel managé est Allow internet outbound, les règles de trafic sortant de point de terminaison privé sont automatiquement créées en tant que règles requises à partir du réseau virtuel managé pour l’espace de travail et les ressources associées avec accès au réseau public désactivé (Coffre de clés, Compte de stockage, Container Registry, espace de travail Azure Machine Learning).
  • Lorsque le mode d’isolation du réseau virtuel managé est Allow only approved outbound, les règles de trafic sortant de point de terminaison privé sont automatiquement créées en tant que règles requises à partir du réseau virtuel managé pour l’espace de travail et les ressources associées quel que soit le mode d’accès réseau public pour ces ressources (Coffre de clés, compte de stockage, Container Registry, espace de travail Azure Machine Learning).
  • Ces règles sont ajoutées automatiquement au réseau virtuel managé.

Pour qu’Azure Machine Learning s’exécute normalement, un ensemble d’étiquettes est requis dans une configuration de réseau virtuel managé ou personnalisé. Il n’y a pas alternative au remplacement de certaines étiquettes de service requises. Le tableau suivant décrit chaque étiquette de service requise et son objectif dans Azure Machine Learning.

Règle d’étiquette de service Entrant ou Sortant Objectif
AzureMachineLearning Trafic entrant Créez, mettez à jour et supprimez un cluster/une instance de calcul Azure Machine Learning.
AzureMachineLearning Règle de trafic sortant Utilisation d’Azure Machine Learning Services. IntelliSense Python dans les notebooks utilise le port 18881. La création, la mise à jour et la suppression d’une instance de calcul Azure Machine Learning utilisent le port 5831.
AzureActiveDirectory Règle de trafic sortant Authentification en utilisant Microsoft Entra ID.
BatchNodeManagement.region Règle de trafic sortant Communication avec le back-end Azure Batch pour les clusters/instances de calcul Azure Machine Learning.
AzureResourceManager Règle de trafic sortant Création de ressources Azure avec Azure Machine Learning, Azure CLI et le Kit de développement logiciel (SDK) Azure Machine Learning.
AzureFrontDoor.FirstParty Règle de trafic sortant Accès aux images Docker fournies par Microsoft.
MicrosoftContainerRegistry Règle de trafic sortant Accès aux images Docker fournies par Microsoft. Configuration du routeur Azure Machine Learning pour Azure Kubernetes Service.
AzureMonitor Règle de trafic sortant Utilisé pour journaliser la surveillance et les métriques dans Azure Monitor. Nécessaire uniquement si Azure Monitor pour l’espace de travail n’est pas sécurisé. Ce trafic sortant est également utilisé pour journaliser les informations relatives aux incidents de support.
VirtualNetwork Règle de trafic sortant Obligatoire quand des points de terminaison privés sont présents dans le réseau virtuel ou les réseaux virtuels appairés.

Remarque

Les balises de service en tant que seule limite de sécurité ne sont pas suffisantes. Pour l’isolation au niveau du locataire, utilisez des points de terminaison privés quand c’est possible.

Liste des règles de trafic sortant spécifiques au scénario

Scénario : accéder aux packages de Machine Learning publics

Pour autoriser l’installation des packages Python pour l’entraînement et le déploiement, ajoutez des règles de nom de domaine complet sortant pour autoriser le trafic vers les noms d’hôte suivants :

Avertissement

Les règles de trafic sortant FQDN sont implémentées à l’aide du Pare-feu Azure. Si vous utilisez des règles FQDN sortantes, les frais du Pare-feu Azure sont ajoutés à votre facturation. Pour plus d’informations, voir la tarification.

Remarque

La liste suivante ne dispose pas de tous les hôtes requis pour toutes les ressources Python sur Internet, uniquement pour celles les plus couramment utilisées. Par exemple, si vous avez besoin d’accéder à un référentiel GitHub ou à un autre hôte, vous devez identifier et ajouter les ordinateurs hôtes requis pour ce scénario.

Nom d’hôte Objectif
anaconda.com
*.anaconda.com
Utilisé pour installer les packages par défaut.
*.anaconda.org Utilisé pour obtenir les données des référentiels.
pypi.org Utilisé pour répertorier les dépendances de l’index par défaut, le cas échéant, et si l’index n’est pas remplacé par des paramètres utilisateur. Si l’index a été remplacé, vous devez également autoriser *.pythonhosted.org.
pytorch.org
*.pytorch.org
Utilisé par certains exemples basés sur PyTorch.
*.tensorflow.org Utilisé par certains exemples basés sur TensorFlow.

Scénario : utiliser Visual Studio Code desktop ou web avec une instance de calcul

Si vous prévoyez d’utiliser Visual Studio Code avec Azure Machine Learning, ajoutez des règles de nom de domaine complet (FQDN) sortant pour autoriser le trafic vers les hôtes suivants :

Remarque

La liste suivante n’est pas une liste complète des hôtes requis pour toutes les ressources Visual Studio Code sur Internet, uniquement les plus couramment utilisées. Par exemple, si vous avez besoin d’accéder à un référentiel GitHub ou à un autre hôte, vous devez identifier et ajouter les ordinateurs hôtes requis pour ce scénario. Pour obtenir la liste complète des noms d’hôtes, consultez Connexions réseau dans Visual Studio Code.

Nom d’hôte Objectif
*.vscode.dev
*.vscode-unpkg.net
*.vscode-cdn.net
*.vscodeexperiments.azureedge.net
default.exp-tas.com
Requis pour accéder à vscode.dev (Visual Studio Code pour le web)
code.visualstudio.com Requis pour télécharger et installer VS Code Desktop. Cet hôte n’est pas requis pour VS Code Web.
update.code.visualstudio.com
*.vo.msecnd.net
Utilisé pour récupérer les bits du serveur VS Code qui sont installés sur l’instance de calcul par le biais d’un script d’installation.
marketplace.visualstudio.com
vscode.blob.core.windows.net
*.gallerycdn.vsassets.io
Requis pour télécharger et installer des extensions VS Code. Ces hôtes activent la connexion à distance aux instances de calcul. Pour plus d’informations, consultez Gérer les ressources Azure Machine Learning dans VS Code.
vscode.download.prss.microsoft.com Utilisé pour CDN de téléchargement de Visual Studio Code

Scénario : Utiliser des points de terminaison de lot ou ParallelRunStep

Si vous envisagez d’utiliser des points de terminaison par lots Azure Machine Learning pour le déploiement ou ParallelRunStep, ajoutez des règles de point de terminaison privé sortant pour autoriser le trafic vers les sous-ressources suivantes pour le compte de stockage par défaut :

  • queue
  • table
  • Point de terminaison privé vers Azure AI Services
  • Point de terminaison privé vers Recherche Azure AI

Scénario : Utiliser des modèles HuggingFace

Si vous envisagez d’utiliser des modèles HuggingFace avec Azure Machine Learning, ajoutez des règles de nom de domaine complet pour autoriser le trafic sortant vers les hôtes suivants :

Avertissement

Les règles de trafic sortant FQDN sont implémentées à l’aide du Pare-feu Azure. Si vous utilisez des règles FQDN sortantes, les frais du Pare-feu Azure sont ajoutés à votre facturation. Pour plus d’informations, voir la tarification.

  • docker.io
  • *.docker.io
  • *.docker.com
  • production.cloudflare.docker.com
  • cdn.auth0.com
  • cdn-lfs.huggingface.co

Scénario : Autorisez l’accès à partir d’adresses IP sélectionnées

Si vous souhaitez autoriser l’accès à partir d’adresses IP spécifiques, procédez de la manière suivante :

  1. Ajoutez une règle de point de terminaison privé sortant pour autoriser le trafic vers l’espace de travail Azure Machine Learning. Cette règle permet aux instances de calcul créées dans le réseau virtuel managé d’accéder à l’espace de travail.

    Conseil

    Vous ne pouvez pas ajouter cette règle lors de la création de l’espace de travail, car celui-ci n’existe pas encore.

  2. Autoriser l’accès du réseau public à l’espace de travail. Pour plus d’informations, consultez Accès au réseau public.

  3. Ajoutez vos adresses IP au pare-feu pour Azure Machine Learning. Pour plus d’informations, consultez Activer l’accès uniquement à partir de plages IP.

    Remarque

    Seules les adresses IPv4 sont prises en charge.

Pour plus d'informations, voir Configurer un lien privé.

Instances Private Endpoint

Les points de terminaison privés sont actuellement pris en charge pour les services Azure suivants :

  • Azure Machine Learning
  • Registres Azure Machine Learning
  • Stockage Azure (tous les types de sous-ressources)
  • Azure Container Registry (Service d'enregistrement de conteneurs Azure)
  • Azure Key Vault
  • Services d'IA Azure
  • Recherche Azure AI (auparavant appelée Recherche cognitive)
  • Azure SQL Server
  • Azure Data Factory.
  • Azure Cosmos DB (tous les types de sous-ressources)
  • Hubs d'événements Azure
  • Cache Redis Azure
  • Azure Databricks
  • Base de données Azure pour MariaDB
  • Azure Database pour PostgreSQL - Serveur unique
  • Serveur flexible Azure Database pour PostgreSQL
  • Azure Database pour MySQL
  • Gestion des API Azure
    • Prise en charge uniquement du niveau Classique sans injection de réseau virtuel et du niveau V2 Standard avec injection de réseau virtuel. Pour plus d’informations sur les réseaux virtuels gestion des API, consultez Concepts de réseau virtuel
  • Application Insights (via PrivateLinkScopes)

Lorsque vous créez un point de terminaison privé, vous fournissez le type de ressource et la sous-ressource auxquels le point de terminaison se connecte. Certaines ressources ont plusieurs types et sous-ressources. Pour plus d’informations, consultez Qu’est-ce qu’un point de terminaison privé ?.

Lorsque vous créez un point de terminaison privé pour des ressources de dépendance Azure Machine Learning, telles que Stockage Azure, Azure Container Registry et Azure Key Vault, la ressource peut se trouver dans un autre abonnement Azure. Toutefois, la ressource doit se trouver dans le même locataire que l’espace de travail Azure Machine Learning.

Les points de terminaison privés de l’espace de travail ne sont pas créés automatiquement. Elles sont créées uniquement lorsque le premier calcul est créé ou lorsque l’approvisionnement de réseau virtuel managé est forcé. Pour plus d’informations sur le forçage de l’approvisionnement de réseau virtuel managé, consultez Provisionner manuellement le réseau.

Approbation des points de terminaison privés

Pour établir des connexions de point de terminaison privé dans des réseaux virtuels managés à l’aide d’Azure Machine Learning, l’identité managée de l’espace de travail, que ce soit affectée par le système ou affectée par l’utilisateur, doit disposer des autorisations nécessaires pour approuver les connexions de point de terminaison privé sur les ressources cibles. Auparavant, cette attribution a été effectuée par le biais d’attributions de rôles automatiques par le service Azure Machine Learning. Toutefois, il existe des problèmes de sécurité concernant l’attribution de rôle automatique. Pour améliorer la sécurité, à compter du 30 avril 2025, cette attribution de rôle n’est pas automatique.

Nous vous recommandons d’attribuer le rôle Approbateur de connexion réseau Azure AI Enterprise ou un rôle personnalisé avec les autorisations de connexion de point de terminaison privé nécessaires, sur les types de ressources cibles. Pour autoriser les services Azure Machine Learning à approuver les connexions de point de terminaison privé aux ressources Azure cibles, accordez ce rôle à l’identité managée de l’espace de travail Azure Machine Learning.

Voici la liste des types de ressources cibles de point de terminaison privé couverts par le rôle Approbateur de connexion réseau Azure AI Enterprise :

  • Azure Application Gateway
  • Azure Monitor
  • Recherche d’IA Azure
  • Event Hubs
  • Azure SQL Database
  • Stockage Azure
  • Espace de travail Azure Machine Learning
  • Registre Azure Machine Learning
  • Azure AI Foundry
  • Azure Key Vault
  • Base de données Azure Cosmos DB
  • Azure Database pour MySQL
  • Base de données Azure pour PostgreSQL
  • Azure AI Services
  • Cache Azure pour Redis
  • Registre de conteneurs
  • Gestion des API

Pour créer des règles de trafic sortant de point de terminaison privé pour cibler les types de ressources non couverts par le rôle Approbateur de connexion réseau Azure AI Enterprise, un rôle personnalisé limité à l’étendue est recommandé. La règle doit définir les actions nécessaires pour approuver les connexions de point de terminaison privé sur les types de ressources cibles. Les exemples de ces types de ressources sont Azure Data Factory, Azure Databricks et Azure Function Apps.

Pour créer des règles de trafic sortant de point de terminaison privé vers des ressources d’espace de travail par défaut, les autorisations requises sont automatiquement couvertes par les attributions de rôle accordées lors de la création de l’espace de travail. Aucune autre action n’est donc nécessaire.

Sélectionnez une version du Pare-feu Azure pour le trafic sortant autorisé et approuvé uniquement.

Un Pare-feu Azure est déployé si une règle de trafic sortant FQDN est créée en mode autoriser seulement le trafic sortant approuvé. Les frais liés au Pare-feu Azure sont inclus dans votre facturation. Par défaut, une version Standard du Pare-feu Azure est créée. Si vous le souhaitez, vous pouvez choisir d’utiliser une version De base. Vous pouvez modifier la version du pare-feu utilisée si nécessaire. Pour déterminer quelle version est la meilleure pour vous, consultez Choisir la version de Pare-feu Azure appropriée.

Important

Le pare-feu n’est pas créé tant que vous n’avez pas ajouté une règle FQDN de trafic sortant. Pour plus d’informations sur la tarification, consultez Tarification du Pare-feu Azure et affichez les prix pour la version standard. Le filtrage basé sur l’URL n’est pris en charge que par le SKU Premium du pare-feu Azure, et non par le SKU de base ou standard du pare-feu Azure. Le réseau virtuel managé ne supporte pas le pare-feu Azure SKU Premium.

Après avoir sélectionné le mode Autoriser seulement le trafic sortant approuvé, une option permettant de sélectionner la version du Pare-feu Azure (SKU) s’affiche. Sélectionnez Standard pour utiliser la version standard ou De base pour utiliser la version de base. Sélectionnez Enregistrer pour enregistrer votre configuration.

Pour configurer la version du pare-feu à partir de l’interface de ligne de commande, utilisez un fichier YAML et spécifiez le firewall_sku. L’exemple suivant illustre un fichier YAML qui définit la référence SKU du pare-feu sur basic :

name: test-ws
resource_group: test-rg
location: eastus2 
managed_network:
  isolation_mode: allow_only_approved_outbound
  outbound_rules:
  - category: required
    destination: 'contoso.com'
    name: contosofqdn
    type: fqdn
  firewall_sku: basic
tags: {}

Pour configurer la version du pare-feu à partir du Kit de développement logiciel (SDK) Python, définissez la propriété firewall_sku de l’objet ManagedNetwork. L’exemple suivant montre comment définir la référence SKU du pare-feu sur basic :

network = ManagedNetwork(isolation_mode=IsolationMode.ALLOW_INTERNET_OUTBOUND,
                         firewall_sku='basic')

Tarifs

La fonctionnalité de réseau virtuel géré Azure Machine Learning est gratuite. Toutefois, les ressources suivantes utilisées par le réseau virtuel managé vous sont facturées :

  • Azure Private Link : les points de terminaison privés utilisés pour sécuriser les communications entre le réseau virtuel managé et les ressources Azure s’appuient sur Azure Private Link. Pour découvrir plus d’informations sur la tarification, consultez Tarification Azure Private Link.

  • Règles de trafic sortant FQDN : les règles de trafic sortant FQDN sont implémentées en utilisant le Pare-feu Azure. Si vous utilisez des règles FQDN sortantes, les frais du Pare-feu Azure sont ajoutés à votre facturation. Une version standard du Pare-feu Azure est utilisée par défaut. Pour plus d’informations sur la sélection de la version de base, consultez Sélectionner une version du Pare-feu Azure.

    Important

    Le pare-feu n’est pas créé tant que vous n’avez pas ajouté une règle FQDN de trafic sortant. Pour plus d’informations sur la tarification, consultez Tarification du Pare-feu Azure et affichez les prix pour la version standard.

Limites

  • Une fois que vous avez activé l’isolation du réseau virtuel managé de votre espace de travail (autorisez le trafic sortant Internet ou autorisez uniquement le trafic sortant approuvé), vous ne pouvez pas le désactiver.
  • Le réseau virtuel managé utilise une connexion de point de terminaison privé pour accéder à vos ressources privées. Vous ne pouvez pas avoir un point de terminaison privé et un point de terminaison de service en même temps pour vos ressources Azure, comme un compte de stockage. Nous recommandons d’utiliser des points de terminaison privés dans tous les scénarios.
  • Le réseau virtuel managé est supprimé lorsque l’espace de travail est supprimé.
  • Vérifiez qu’il n’existe aucun verrou d’étendue sur les ressources et le groupe de ressources Azure Machine Learning. Les opérations internes liées au réseau virtuel managé peuvent être bloquées.
  • La protection contre l’exfiltration des données est automatiquement activée pour le mode trafic sortant approuvé uniquement. Si vous ajoutez d’autres règles de trafic sortant, telles que des noms de domaine complets, Microsoft ne peut pas garantir que vous êtes protégé contre l’exfiltration des données vers ces destinations de trafic sortant.
  • La création d’un cluster de calcul dans une région différente de l’espace de travail n’est pas prise en charge lors de l’utilisation d’un réseau virtuel géré.
  • Les machines virtuelles Kubernetes et attachées ne sont pas prises en charge dans un réseau virtuel managé Azure Machine Learning.
  • L’utilisation de règles de trafic sortant FQDN augmente le coût du réseau virtuel managé, car les règles FQDN utilisent le Pare-feu Azure. Pour plus d’informations, voir la tarification.
  • Les règles de trafic sortant FQDN prennent uniquement en charge les ports 80 et 443.
  • Si votre instance de calcul se trouve dans un réseau managé et qu’elle n’est configurée pour aucune IP publique, utilisez la commande az ml compute connect-ssh pour vous y connecter à l’aide de SSH.
  • Lorsque vous utilisez un réseau virtuel managé, vous ne pouvez pas déployer de ressources de calcul à l’intérieur de votre réseau virtuel personnalisé. Les ressources de calcul ne peuvent être créées qu’à l’intérieur du réseau virtuel managé.
  • Si votre réseau managé est configuré pour autoriser uniquement les sortants approuvés, vous ne pouvez pas utiliser de règle de nom de domaine complet pour accéder aux comptes de stockage Azure. Vous devez utiliser un point de terminaison privé à la place.
  • Veillez à autoriser les points de terminaison privés gérés par Microsoft créés pour le réseau virtuel managé dans votre stratégie personnalisée.

Migration des ressources de calcul

Si vous disposez d’un espace de travail existant et souhaitez activer le réseau virtuel managé pour celui-ci, il n’existe actuellement aucun chemin de migration pris en charge pour les ressources de calcul managées existantes. Vous devrez supprimer toutes les ressources de calcul gérées existantes et les recréer après avoir activé le réseau virtuel géré. La liste suivante contient les ressources de calcul qui doivent être supprimées et recréées :

  • Cluster de calcul
  • Instance de calcul
  • Points de terminaison en ligne managés

Étapes suivantes