Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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. |
- 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 :
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.
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/readMicrosoft.MachineLearningServices/workspaces/privateEndpointConnections/write
L’interface CLI Azure et l’extension
mlpour 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 mlLes 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
wspour représenter le nom de l’espace de travail etrgpour 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/readMicrosoft.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-identityLes 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/readMicrosoft.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()
Connectez-vous au Portail Azure, puis choisissez Azure Machine Learning dans le menu Créer une ressource.
Fournissez les informations nécessaires sous l’onglet Informations de base.
Sous l’onglet Mise en réseau, sélectionnez Privé avec Internet 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 :
- 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.
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.
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()
Connectez-vous au Portail Azure, puis choisissez Azure Machine Learning dans le menu Créer une ressource.
Fournissez les informations nécessaires sous l’onglet Informations de base.
Sous l’onglet Mise en réseau, sélectionnez Privé avec trafic sortant approuvé.
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.
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.
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.
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.
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.
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_outboundpour autoriser le trafic Internet. Si vous voulez autoriser seulement le trafic sortant approuvé, utilisezisolation_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_endpointVous pouvez utiliser un fichier de configuration YAML avec la commande
az ml workspace updateen spécifiant le paramètre--fileet 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 wsRemarque
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ètrepy_filesdans 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éfinitspark_enabled=true:Conseil
L’exemple suivant concerne un réseau virtuel managé configuré à l’aide de
IsolationMode.ALLOW_INTERNET_OUTBOUNDpour autoriser le trafic Internet. Si vous voulez autoriser seulement le trafic sortant approuvé, utilisezIsolationMode.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ètrepy_filesdans 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 utiliserIsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND.
Connectez-vous au Portail Azure, puis sélectionnez l’espace de travail Azure Machine Learning.
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é.
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é.
- Lorsque l’option Autoriser uniquement le trafic sortant approuvé est activée (
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-sparkL’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()
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é.
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.
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.netdefault.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.comvscode.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 :
queuetable
Scénario : Utiliser un flux de requêtes avec Azure OpenAI, Sécurité du Contenu et Recherche Azure AI
- 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.comproduction.cloudflare.docker.comcdn.auth0.comcdn-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 :
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.
Autoriser l’accès du réseau public à l’espace de travail. Pour plus d’informations, consultez Accès au réseau public.
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-sshpour 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