Partager via


Configurer un point de terminaison privé pour un espace de travail Azure Machine Learning avec le Kit de développement logiciel (SDK) et l’interface CLI v1

S’APPLIQUE À :extension Azure CLI ml v1Kit de développement logiciel (SDK) Python azureml v1

Dans ce document, vous allez apprendre à configurer un point de terminaison privé pour votre espace de travail Azure Machine Learning. Pour plus d’informations sur la création d’un réseau virtuel pour Azure Machine Learning, consultez Vue d’ensemble de l’isolement et de la confidentialité des réseaux virtuels.

Azure Private Link vous permet de vous connecter à votre espace de travail à l’aide d’un point de terminaison privé. Le point de terminaison privé est un ensemble d’adresses IP privées au sein de votre réseau virtuel. Vous pouvez alors limiter l’accès à votre espace de travail pour qu’il ne se fasse que sur les adresses IP privées. Un point de terminaison privé permet de réduire le risque d’exfiltration de données. Pour plus d’informations sur les points de terminaison privés, consultez l’article Azure Private Link.

Avertissement

La sécurisation d’un espace de travail avec des points de terminaison privés ne suffit pas à garantir une sécurité de bout en bout. Vous devez sécuriser tous les composants individuels de votre solution. Par exemple, si vous utilisez un point de terminaison privé pour l’espace de travail, mais que votre compte de stockage Azure ne se trouve pas derrière le réseau virtuel, le trafic entre l’espace de travail et le stockage n’utilise pas le réseau virtuel pour la sécurité.

Pour plus d’informations sur la sécurisation des ressources utilisées par Azure Machine Learning, consultez les articles suivants :

Prérequis

Limites

  • Si vous activez l’accès public à un espace de travail sécurisé avec point de terminaison privé et utilisez Azure Machine Learning studio sur l’Internet public, certaines fonctionnalités telles que le concepteur peuvent ne pas parvenir à accéder à vos données. Ce problème se produit quand les données sont stockées sur un service sécurisé derrière le réseau virtuel. Par exemple, un compte de stockage Azure.

  • Il se peut que vous rencontriez des problèmes en tentant d’accéder au point de terminaison privé de votre espace de travail si vous utilisez Mozilla Firefox. Ce problème peut être lié à DNS sur HTTPS dans Mozilla Firefox. Nous vous recommandons d’utiliser Microsoft Edge ou Google Chrome comme solution de contournement.

  • L’utilisation d’un point de terminaison privé n’a pas d’effet sur le plan de contrôle Azure (opérations de gestion), comme la suppression de l’espace de travail ou la gestion des ressources de calcul. Par exemple, la création, la mise à jour ou la suppression d’une cible de calcul. Ces opérations sont effectuées sur l’Internet public comme d’habitude. Les opérations de plan de données telles que l’utilisation du studio Azure Machine Learning, des API (y compris les pipelines publiés) ou du SDK utilisent le point de terminaison privé.

  • Lors de la création d’une instance de calcul ou d’un cluster de calcul dans un espace de travail avec un point de terminaison privé, l’instance de calcul et le cluster de calcul doivent se trouver dans la même région Azure que l’espace de travail.

  • Lors de la création ou de l’attachement d’un cluster Azure Kubernetes Service à un espace de travail avec un point de terminaison privé, le cluster doit se trouver dans la même région que l’espace de travail.

  • Lorsque vous utilisez un espace de travail avec plusieurs points de terminaison privés, l’un des points de terminaison privés doit se trouver dans le même réseau virtuel que les services de dépendance suivants :

    • compte de stockage Azure qui assure le stockage par défaut de l’espace de travail
    • Azure Key Vault pour l’espace de travail
    • Azure Container Registry pour l’espace de travail.

    Par exemple, un réseau virtuel (« services ») contiendrait un point de terminaison privé pour les services de dépendance et l’espace de travail. Cette configuration permet à l’espace de travail de communiquer avec les services. Un autre réseau virtuel (« clients ») pourrait contenir uniquement un point de terminaison privé pour l’espace de travail et être utilisé uniquement pour la communication entre les ordinateurs de développement client et l’espace de travail.

Créer un espace de travail qui utilise un point de terminaison privé

Utilisez l’une des méthodes suivantes pour créer un espace de travail avec un point de terminaison privé. Chacune de ces méthodes nécessite un réseau virtuel existant :

Conseil

Si vous souhaitez créer un espace de travail, un point de terminaison privé et un réseau virtuel en même temps, consultez Utiliser un modèle Azure Resource Manager pour créer un espace de travail pour Azure Machine Learning.

Fournie par le SDK Python Azure Machine Learning, la classe PrivateEndpointConfig peut être utilisée avec Workspace.create() pour créer un espace de travail avec un point de terminaison privé. Cette classe nécessite un réseau virtuel existant.

S’APPLIQUE À : SDK Python azureml v1

from azureml.core import Workspace
from azureml.core import PrivateEndPointConfig

pe = PrivateEndPointConfig(name='myprivateendpoint', vnet_name='myvnet', vnet_subnet_name='default')
ws = Workspace.create(name='myworkspace',
    subscription_id='<my-subscription-id>',
    resource_group='myresourcegroup',
    location='eastus2',
    private_endpoint_config=pe,
    private_endpoint_auto_approval=True,
    show_output=True)

Ajouter un point de terminaison privé à un espace de travail

Utilisez l’une des méthodes suivantes pour ajouter un point de terminaison privé à un espace de travail existant :

Avertissement

Si des cibles de calcul existantes sont associées à cet espace de travail et qu’elles ne se trouvent pas derrière le même réseau virtuel dans lequel le point de terminaison privé est créé, elles ne fonctionneront pas.

S’APPLIQUE À : SDK Python azureml v1

from azureml.core import Workspace
from azureml.core import PrivateEndPointConfig

pe = PrivateEndPointConfig(name='myprivateendpoint', vnet_name='myvnet', vnet_subnet_name='default')
ws = Workspace.from_config()
ws.add_private_endpoint(private_endpoint_config=pe, private_endpoint_auto_approval=True, show_output=True)

Pour plus d’informations sur les classes et les méthodes utilisées dans cet exemple, consultez PrivateEndpointConfig et Workspace.add_private_endpoint.

Supprimer un point de terminaison privé

Vous pouvez supprimer un ou plusieurs points de terminaison privés pour un espace de travail. La suppression d’un point de terminaison privé a pour effet de supprimer l’espace de travail du réseau virtuel auquel le point de terminaison est associé. La suppression du point de terminaison privé peut empêcher l’espace de travail d’accéder à des ressources de ce réseau virtuel, ou aux ressources du réseau virtuel d’accéder à l’espace de travail. Par exemple, si le réseau virtuel n’autorise pas l’accès via l’Internet public.

Avertissement

La suppression des points de terminaison privés d’un espace de travail n’a pas pour effet de rendre celui-ci publiquement accessible. Pour rendre l’espace de travail publiquement accessible, suivez les étapes décrites sans la section Activer l’accès public.

Pour supprimer un point de terminaison privé, utilisez les informations suivantes :

Pour supprimer un point de terminaison privé, utilisez la commande Workspace.delete_private_endpoint_connection. L’exemple suivant montre comment supprimer un point de terminaison privé :

S’APPLIQUE À : SDK Python azureml v1

from azureml.core import Workspace

ws = Workspace.from_config()
# get the connection name
_, _, connection_name = ws.get_details()['privateEndpointConnections'][0]['id'].rpartition('/')
ws.delete_private_endpoint_connection(private_endpoint_connection_name=connection_name)

Activer l’accès public

Dans certains cas, vous pouvez autoriser une personne à se connecter à votre espace de travail sécurisé sur un point de terminaison public, plutôt que par le biais du réseau virtuel. Vous pouvez également supprimer l’espace de travail du réseau virtuel et réactiver l’accès public.

Important

L’activation de l’accès public n’a pas pour effet de supprimer les points de terminaison privés existants. Toutes les communications entre les composants derrière le réseau virtuel auquel les points de terminaison privés se connectent restent sécurisées. Un accès public est permis uniquement à l’espace de travail, en plus de l’accès privé via des points de terminaison privés.

Avertissement

Lors de la connexion via le point de terminaison public, quand l'espace de travail utilise un point de terminaison privé pour communiquer avec d'autres ressources :

  • Certaines fonctionnalités de Studio ne peuvent pas accéder à vos données. Ce problème se produit quand les données sont stockées sur un service sécurisé derrière le réseau virtuel. Par exemple, un compte de stockage Azure.
  • L’utilisation de Jupyter, JupyterLab, RStudio et Posit Workbench (anciennement RStudio Workbench) sur une instance de calcul, y compris les notebooks en cours d’exécution, n’est pas prise en charge.

Pour activer l’accès public, procédez comme suit :

Conseil

Il existe deux propriétés possibles que vous pouvez configurer :

  • allow_public_access_when_behind_vnet - utilisé par le Kit de développement logiciel (SDK) Python et l’interface CLI v2
  • public_network_access - utilisé par le Kit de développement logiciel (SDK) Python et l’interface CLI v2. Chaque propriété remplace l’autre. Par exemple, la définition de public_network_access va remplacer les valeurs allow_public_access_when_behind_vnet précédentes.

Microsoft recommande d’utiliser public_network_access pour activer ou désactiver l’accès public à un espace de travail.

Pour activer l’accès public, utilisez la commande Workspace.update et définissez allow_public_access_when_behind_vnet=True.

S’APPLIQUE À : SDK Python azureml v1

from azureml.core import Workspace

ws = Workspace.from_config()
ws.update(allow_public_access_when_behind_vnet=True)

Vous connecter à votre espace de travail de manière sécurisée

Pour vous connecter à un espace de travail sécurisé derrière un réseau virtuel, utilisez l’une des méthodes suivantes :

  • Passerelle VPN Azure – Connecte des réseaux locaux au réseau virtuel via une connexion privée. La connexion est établie via l’Internet public. Il existe deux types de passerelles VPN que vous pouvez utiliser :

    • Point à site : chaque ordinateur client utilise un client VPN pour se connecter au réseau virtuel.
    • Site à site : un périphérique VPN connecte le réseau virtuel à votre réseau local.
  • ExpressRoute – Connecte les réseaux locaux au cloud via une connexion privée. La connexion est établie à l’aide d’un fournisseur de connectivité.

  • Bastion Azure – Dans ce scénario, vous créez une machine virtuelle Azure (parfois appelée « jump box ») à l’intérieur du réseau virtuel. Vous vous connectez ensuite à la machine virtuelle à l’aide d’Azure Bastion. Bastion vous permet de vous connecter à la machine virtuelle à l’aide d’une session RDP ou SSH à partir de votre navigateur web local. Vous utilisez ensuite la jump box comme environnement de développement. Comme elle figure dans le réseau virtuel, elle peut accéder directement à l’espace de travail. Pour obtenir un exemple d’utilisation d’une machine virtuelle jumpbox, consultez Tutoriel : Créer un espace de travail sécurisé.

Important

Quand vous utilisez une passerelle VPN ou ExpressRoute, vous devez planifier le fonctionnement de la résolution de noms entre vos ressources locales et celles se trouvant dans le réseau virtuel. Pour plus d’informations, consultez Utiliser un serveur DNS personnalisé.

Si vous rencontrez des problèmes de connexion à l’espace de travail, consultez Résoudre les problèmes de connectivité sécurisée à l’espace de travail.

Plusieurs points de terminaison privés

Azure Machine Learning prend en charge plusieurs points de terminaison privés pour un espace de travail. Plusieurs points de terminaison privés sont souvent utilisés lorsque vous souhaitez conserver des environnements distincts. Scénarios possibles grâce à l’utilisation de plusieurs points de terminaison privés :

  • Environnements de développement client dans un réseau virtuel distinct.

  • Un cluster Azure Kubernetes Service (AKS) dans un réseau virtuel distinct.

  • Autres services Azure dans un réseau virtuel distinct. Par exemple, Azure Synapse et Azure Data Factory peuvent utiliser un réseau virtuel managé par Microsoft. Dans les deux cas, un point de terminaison privé pour l’espace de travail peut être ajouté au réseau virtuel managé utilisé par ces services. Pour plus d’informations sur l’utilisation d’un réseau virtuel managé avec ces services, consultez les articles suivants :

    Important

    La protection contre l’exfiltration des données de Synapse n’est pas prise en charge avec Azure Machine Learning.

Important

Chaque réseau virtuel qui contient un point de terminaison privé pour l’espace de travail doit également être en mesure d’accéder au compte de stockage Azure, à l’Azure Key Vault et à l’Azure Container Registry utilisés par l’espace de travail. Par exemple, vous pouvez créer un point de terminaison privé pour les services dans chaque réseau virtuel.

La procédure d’ajout de plusieurs points de terminaison privés est la même que celle décrite dans la section Ajouter un point de terminaison privé à un espace de travail.

Scénario : clients isolés

Si vous souhaitez isoler les clients de développement, afin qu’ils n’aient pas d’accès direct aux ressources de calcul utilisées par Azure Machine Learning, procédez comme suit :

Notes

Ces étapes partent du principe que vous disposez d’un espace de travail, d’un compte de stockage Azure, d’Azure Key Vault et d’Azure Container Registry. Chacun de ces services possède des points de terminaison privés dans un réseau virtuel existant.

  1. Créez un autre réseau virtuel pour les clients. Ce réseau virtuel peut contenir des machines virtuelles Azure qui jouent le rôle de vos clients, ou il peut contenir une passerelle VPN utilisée par les clients locaux pour se connecter au réseau virtuel.
  2. Ajoutez un nouveau point de terminaison privé pour le compte de stockage Azure, l’Azure Key Vault et l’Azure Container Registry utilisés par votre espace de travail. Ces points de terminaison privés doivent exister dans le réseau virtuel client.
  3. Si vous disposez d’un autre espace de stockage utilisé par votre espace de travail, ajoutez un nouveau point de terminaison privé pour ce stockage. Le point de terminaison privé doit exister dans le réseau virtuel du client et l’intégration de la zone DNS privée doit y être activée.
  4. Ajoutez un nouveau point de terminaison privé à votre espace de travail. Ce point de terminaison privé doit exister dans le réseau virtuel du client et l’intégration de la zone DNS privée doit y être activée.
  5. Suivez les étapes de l’article Utiliser Studio dans un réseau virtuel pour permettre à Studio d’accéder aux comptes de stockage.

Le schéma suivant illustre cette configuration. Le réseau virtuel de Charge de travail contient des calculs créés par l’espace de travail pour l’apprentissage et le déploiement. Le réseau virtuel Client contient des clients ou des connexions ExpressRoute/VPN clientes. Les deux réseaux virtuels contiennent des points de terminaison privés pour l’espace de travail, un compte de stockage Azure, Azure Key Vault et Azure Container Registry.

Diagramme du réseau virtuel isolé du client.

Scénario : service Azure Kubernetes isolé

Si vous souhaitez créer un Azure Kubernetes Service isolé utilisé par l’espace de travail, procédez comme suit :

Notes

Ces étapes partent du principe que vous disposez d’un espace de travail, d’un compte de stockage Azure, d’Azure Key Vault et d’Azure Container Registry. Chacun de ces services possède des points de terminaison privés dans un réseau virtuel existant.

  1. Créez une instance Azure Kubernetes Service. Au cours de la création, AKS crée un réseau virtuel qui contient le cluster AKS.
  2. Ajoutez un nouveau point de terminaison privé pour le compte de stockage Azure, l’Azure Key Vault et l’Azure Container Registry utilisés par votre espace de travail. Ces points de terminaison privés doivent exister dans le réseau virtuel client.
  3. Si vous disposez d’un autre espace de stockage utilisé par votre espace de travail, ajoutez un nouveau point de terminaison privé pour ce stockage. Le point de terminaison privé doit exister dans le réseau virtuel du client et l’intégration de la zone DNS privée doit y être activée.
  4. Ajoutez un nouveau point de terminaison privé à votre espace de travail. Ce point de terminaison privé doit exister dans le réseau virtuel du client et l’intégration de la zone DNS privée doit y être activée.
  5. Attachez le cluster AKS à l’espace de travail Azure Machine Learning. Pour plus d’informations, consultez Créer et attacher un cluster Azure Kubernetes Service.

Diagramme de réseau virtuel AKS isolé.

Étapes suivantes