Isolation de réseau virtuel managé par l’espace de travail
S’APPLIQUE À :Extension Azure CLI v2 (actuelle)Kit de développement logiciel (SDK) Python azure-ai-ml v2 (version actuelle)
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 | Description | 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 trafic sortant avec autoriser uniquement le mode de sortant approuvé pour obtenir le même résultat que l’utilisation d’autoriser le trafic sortant 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 sortantes FQDN augmente vos coûts car ce type de règle de trafic sortant 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 VNet managé est configuré pour autoriser le trafic Internet sortant, il ne peut pas être reconfiguré pour être désactivé. De même, une fois qu’un espace de travail de VNet managé est configuré pour autoriser uniquement le trafic sortant approuvé, il ne peut pas être reconfiguré pour autoriser le trafic sortant Internet. Gardez cela à l’esprit lors de la sélection du mode d’isolation pour le VNet managé dans votre espace de travail.
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 que les clients utilisent.
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 à partir d’instances de ressource Azure ou Accorder l’accès aux services Azure approuvés |
Azure Container Registry | Point de terminaison privé | Autoriser les services approuvés |
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 etrg
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.
Remarque
Si vous utilisez l’espace de travail UAI, veillez à ajouter le rôle Approbateur de connexion réseau Azure AI Enterprise à votre identité. Pour plus d’informations, consultez Identité managée affectée par l’utilisateur.
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
:
Créer un espace de travail :
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
Mettre à jour un espace de travail existant :
Avertissement
Avant de mettre à jour un espace de travail existant pour utiliser un réseau virtuel managé, vous devez supprimer toutes les ressources informatiques pour l’espace de travail. Ceci inclut l’instance de calcul, le cluster de calcul et les points de terminaison en ligne managés.
L’exemple suivant met à jour un espace de travail existant. Le paramètre
--managed-network allow_internet_outbound
configure un réseau virtuel managé pour l’espace de travail :az ml workspace update --name ws --resource-group rg --managed-network allow_internet_outbound
Pour mettre à jour un espace de travail existant en utilisant le fichier YAML, utilisez le paramètre
--file
et spécifiez le fichier YAML qui contient les paramètres de configuration :az ml workspace update --file workspace.yaml --name ws --resource-group MyGroup
L’exemple YAML suivant définit un réseau virtuel managé pour l’espace de travail. Il montre également comment ajouter une connexion de point de terminaison privé à une ressource utilisée par l’espace de travail : dans cet exemple, c’est un point de terminaison privé pour un magasin d’objets blob :
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
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
, fqdn
et 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
:
Créer un espace de travail :
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
Mettre à jour un espace de travail existant
Avertissement
Avant de mettre à jour un espace de travail existant pour utiliser un réseau virtuel managé, vous devez supprimer toutes les ressources informatiques pour l’espace de travail. Ceci inclut l’instance de calcul, le cluster de calcul et les points de terminaison en ligne managés.
L’exemple suivant utilise le paramètre
--managed-network allow_only_approved_outbound
pour configurer le réseau virtuel managé pour un espace de travail existant :az ml workspace update --name ws --resource-group rg --managed-network allow_only_approved_outbound
Le fichier YAML suivant définit un réseau virtuel managé pour l’espace de travail. Il montre également comment ajouter un trafic sortant approuvé au réseau virtuel managé. Dans cet exemple, une règle de trafic sortant est ajoutée pour une étiquette de service :
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, consultez Tarification.
name: myworkspace_dep 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
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_outbound
pour 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_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
), l’installation des dépendances de package conda définies dans la configuration de session Spark échouera. 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 volant de package Python en tant que paramètrepy_files
dans votre travail Spark. La définition d’une règle de trafic sortant FQDN ne contournera pas ce problème, car la propagation de règle FQDN n’est pas prise en charge par Spark.Provisionnez 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 VNET managé, les points de terminaison privés de l’espace de travail risquent de ne pas être créés automatiquement dans le VNET 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
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 uniquement avec le mode autorisé uniquement), la première règle de nom de domaine complet ajoute environ 10 minutes au temps d’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 l’expiration 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. Cet indicateur est en préversion.
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. L’indicateur --provision-network-now
est en préversion.
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
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
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
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. Vous trouverez ci-dessous un tableau avec chacune des étiquettes de service requise et son objectif dans Azure Machine Learning.
Règle d’étiquette de service | Entrant ou Sortant | Objectif |
---|---|---|
AzureMachineLearning |
Entrante | Créer, mettre à jour et supprimer un cluster/une instance de calcul Azure Machine Learning. |
AzureMachineLearning |
Sortant(e) | Utilisation d’Azure Machine Learning Services. Python intellisense 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 |
Sortant(e) | Authentification à l’aide de Microsoft Entra ID. |
BatchNodeManagement.region |
Sortant(e) | Communication avec le back-end Azure Batch pour les clusters/instances de calcul Azure Machine Learning. |
AzureResourceManager |
Sortant(e) | Création de ressources Azure avec Azure Machine Learning, Azure CLI et le SDK Azure Machine Learning. |
AzureFrontDoor.FirstParty |
Sortant(e) | Accès aux images Docker fournies par Microsoft. |
MicrosoftContainerRegistry |
Sortant(e) | Accès aux images Docker fournies par Microsoft. Configuration du routeur Azure Machine Learning pour Azure Kubernetes Service. |
AzureMonitor |
Sortant(e) | Utilisé pour journaliser la surveillance et les métriques dans Azure Monitor. Nécessaire uniquement si vous n’avez pas sécurisé Azure Monitor pour l’espace de travail. Ce trafic sortant est également utilisé pour journaliser les informations relatives aux incidents de support. |
VirtualNetwork |
Sortant(e) | Obligatoire lorsque des points de terminaison privés sont présents dans le réseau virtuel ou les réseaux virtuels appairés. |
Remarque
Les étiquettes de service comme 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 de 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
Il ne s’agit pas d’une liste complète des ordinateurs hôtes requis pour toutes les ressources Python sur Internet, uniquement 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 récupérer les données des dépôts. |
pypi.org |
Utilisé pour lister les dépendances de l’index par défaut, le cas échéant, et si l’index n’a pas été remplacé par les 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 envisagez d’utiliser Visual Studio Code avec Azure Machine Learning, ajoutez des règles de nom de domaine complet sortant pour autoriser le trafic 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.
*.vscode.dev
vscode.blob.core.windows.net
*.gallerycdn.vsassets.io
raw.githubusercontent.com
*.vscode-unpkg.net
*.vscode-cdn.net
*.vscodeexperiments.azureedge.net
default.exp-tas.com
code.visualstudio.com
update.code.visualstudio.com
*.vo.msecnd.net
marketplace.visualstudio.com
vscode.download.prss.microsoft.com
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
Scénario : Utiliser le flux d’invite avec les services 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.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 :
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, consultez Configurer une liaison privée.
Points de terminaison privés
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
- Azure Key Vault
- Azure AI services
- Recherche Azure AI (auparavant appelée Recherche cognitive)
- Azure SQL Server
- Azure Data Factory
- Azure Cosmos DB (tous les types de sous-ressources)
- Azure Event Hubs
- Cache Redis Azure
- Azure Databricks
- Azure Database for MariaDB
- Azure Database pour PostgreSQL - Serveur unique
- Azure Database pour PostgreSQL – Serveur flexible
- Azure Database pour MySQL
- Gestion des API Azure
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.
Important
Lors de la configuration de points de terminaison privés pour un réseau virtuel managé Azure Machine Learning, les points de terminaison privés sont créés 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 du provisionnement de réseau virtuel managé, consultez Configurer pour les travaux Spark serverless.
Sélectionnez une version du Pare-feu Azure pour le trafic sortant autorisé uniquement approuvé (préversion)
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 de nom de domaine complet sortant. Pour plus d’informations sur la tarification, consultez Tarification du Pare-feu Azure et affichez les prix pour la version standard.
Utilisez les onglets suivants pour savoir comment sélectionner la version du pare-feu pour votre réseau virtuel managé.
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: {}
Tarification
La fonctionnalité de réseau virtuel managé 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 plus d’informations sur la tarification, consultez Tarification Azure Private Link.
Règles de trafic sortant de nom de domaine complet : les règles de trafic sortant de nom de domaine complet 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. 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 de nom de domaine complet 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é. Quand vous supprimez des ressources Azure Machine Learning dans votre abonnement Azure, désactivez les verrous des ressources, ou les verrous qui empêchent la suppression des ressources que vous avez créées ou qui ont été créées par Microsoft pour le réseau virtuel managé.
- 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 celle de l’espace de travail n’est pas prise en charge lors de l’utilisation d’un réseau virtuel managé.
- 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é.
- L’isolation du réseau managé ne peut pas établir une connexion privée du réseau virtuel managé aux ressources locales d’un utilisateur. Pour obtenir la liste des connexions privées prises en charge, consultez points de terminaison privés.
- 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 que vous 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 devez supprimer toutes les ressources de calcul managées existantes et les recréer après avoir activé le réseau virtuel managé. 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