Configuración de un punto de conexión privado para un área de trabajo de Azure Machine Learning con el SDK y la CLI v1
SE APLICA A:Extensión de ML de la CLI de Azure v1SDK de Python azuremlv1
En este documento, aprenderá a configurar un punto de conexión privado para el área de trabajo de Azure Machine Learning. Para obtener más información sobre la creación de una red virtual para Azure Machine Learning, consulte Información general sobre la privacidad y el aislamiento de la red virtual.
Azure Private Link le permite conectarse a su área de trabajo mediante un punto de conexión privado. El punto de conexión privado es un conjunto de direcciones IP privadas dentro de la red virtual. Después, puede limitar el acceso al área de trabajo para que solo se produzca en las direcciones IP privadas. Un punto de conexión privado ayuda a reducir el riesgo de una filtración de datos. Para más información sobre los puntos de conexión privados, consulte el artículo Azure Private Link.
Advertencia
La protección de un área de trabajo con puntos de conexión privados no garantiza la seguridad de un extremo a otro por sí misma. Debe proteger todos los componentes individuales de la solución. Por ejemplo, si usa un punto de conexión privado para el área de trabajo, pero la cuenta de Azure Storage no está detrás de la red virtual, el tráfico entre el área de trabajo y el almacenamiento no usa la red virtual por motivos de seguridad.
Para obtener más información sobre cómo proteger los recursos usados por Azure Machine Learning, consulte los artículos siguientes:
- Información general sobre la privacidad y el aislamiento de la red virtual.
- Protección de los recursos de un área de trabajo.
- Entornos de entrenamiento seguros (v1).
- Protección del entorno de inferencia (v1)
- Uso de Estudio de Azure Machine Learning en una red virtual.
- Aislamiento de red de la plataforma de API
Prerrequisitos
- Debe tener una red virtual existente en la cual crear el punto de conexión privado.
- Deshabilitar las directivas de red para los puntos de conexión privados antes de agregar el punto de conexión privado.
Limitaciones
Si habilita el acceso público para un área de trabajo protegida mediante un punto de conexión privado y usa Estudio de Azure Machine Learning a través de la red pública de Internet, es posible que algunas características como el diseñador no tengan acceso a sus datos. Este problema se produce cuando los datos se almacenan en un servicio protegido detrás de la red virtual. Por ejemplo, una cuenta de Azure Storage.
Si usa Mozilla Firefox, puede encontrar problemas al intentar acceder al punto de conexión privado del área de trabajo. Este problema puede estar relacionado con DNS a través de HTTPS en Mozilla Firefox. Como solución alternativa, se recomienda usar Microsoft Edge o Google Chrome.
El uso de un punto de conexión privado no afecta al plano de control de Azure (operaciones de administración), como la eliminación del área de trabajo o la administración de los recursos de proceso. Por ejemplo, crear, actualizar o eliminar un destino de proceso. Estas operaciones se realizan sobre la red pública de Internet como de costumbre. Las operaciones del plano de datos, como el uso de Azure Machine Learning Studio, las API (incluidas las canalizaciones publicadas) o el SDK usan el punto de conexión privado.
Al crear una instancia de proceso o un clúster de proceso en un área de trabajo con un punto de conexión privado, la instancia de proceso y el clúster de proceso deben estar en la misma región de Azure que el área de trabajo.
Al crear o adjuntar un clúster de Azure Kubernetes Service a un área de trabajo con un punto de conexión privado, el clúster debe estar en la misma región que el área de trabajo.
Al usar un área de trabajo con varios puntos de conexión privados, uno de los puntos de conexión privados debe estar en la misma red virtual que los siguientes servicios de dependencia:
- Cuenta de Azure Storage que proporciona el almacenamiento predeterminado para el área de trabajo
- Azure Key Vault para el área de trabajo
- Azure Container Registry para el área de trabajo.
Por ejemplo, una red virtual (red virtual "services") contendrá un punto de conexión privado para los servicios de dependencia y el área de trabajo. Esta configuración permite que el área de trabajo se comunique con los servicios. Otra red virtual ("clientes") solo puede contener un punto de conexión privado para el área de trabajo y usarse solo para la comunicación entre las máquinas de desarrollo de cliente y el área de trabajo.
Creación de un área de trabajo que usa un punto de conexión privado
Siga uno de los métodos a continuación para crear un área de trabajo con un punto de conexión privado. Cada uno de estos métodos requiere una red virtual existente:
Sugerencia
Si quiere crear un área de trabajo, un punto de conexión privado y una red virtual al mismo tiempo, consulte Uso de una plantilla de Azure Resource Manager para crear un área de trabajo para Azure Machine Learning.
El SDK de Azure Machine Learning para Python proporciona la clase PrivateEndpointConfig, que se puede usar con Workspace.create() para crear un área de trabajo con un punto de conexión privado. Esta clase requiere una red virtual existente.
SE APLICA A: Azure ML del SDK de Python 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)
Adición de un punto de conexión privado a un área de trabajo
Siga uno de los métodos a continuación para agregar un punto de conexión privado a un área de trabajo existente:
Advertencia
Si tiene destinos de proceso existentes asociados a esta área de trabajo y no están detrás de la misma red virtual en la que se crea el punto de conexión privado, no funcionarán.
SE APLICA A: Azure ML del SDK de Python 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)
Para obtener más información sobre las clases y los métodos usados en este ejemplo, consulte PrivateEndpointConfig y Workspace.add_private_endpoint.
Eliminación de un punto de conexión privado
Puede quitar uno o todos los puntos de conexión privados de un área de trabajo. Al quitar un punto de conexión privado, se quita el área de trabajo de la red virtual a la que estaba asociado el punto de conexión. Quitar el punto de conexión privado puede impedir que el área de trabajo acceda a los recursos de esa red virtual o que los recursos de la red virtual accedan al área de trabajo. Por ejemplo, si la red virtual no permite el acceso a la red pública de Internet o desde ahí.
Advertencia
Quitar los puntos de conexión privados de un área de trabajo no hace que sea accesible públicamente. Para que el área de trabajo sea accesible públicamente, siga los pasos de la sección Habilitar el acceso público.
Para quitar un punto de conexión privado, use la siguiente información:
Use Workspace.delete_private_endpoint_connection para quitar un punto de conexión privado. En el ejemplo siguiente, se muestra cómo quitar un punto de conexión privado:
SE APLICA A: Azure ML del SDK de Python 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)
Habilitación del acceso público
En algunas situaciones, puede que desee permitir que alguien se conecte al área de trabajo protegida mediante un punto de conexión público, en lugar de hacerlo mediante la red virtual. O bien, puede quitar el área de trabajo de la red virtual y volver a habilitar el acceso público.
Importante
La habilitación del acceso público no quita ningún punto de conexión privado que exista. Todas las comunicaciones entre los componentes que se encuentran detrás de la red virtual a la que están conectados los puntos de conexión privados siguen estando protegidas. Permite el acceso público solo al área de trabajo, además del acceso privado mediante cualquier punto de conexión privado.
Advertencia
Al conectarse mediante el punto de conexión público mientras el área de trabajo usa un punto de conexión privado para comunicarse con otros recursos:
- Algunas características de Studio no podrán acceder a los datos. Este problema se produce cuando los datos se almacenan en un servicio protegido detrás de la red virtual. Por ejemplo, una cuenta de Azure Storage.
- No se admite el uso de Jupyter, JupyterLab, RStudio, o Posit Workbench (anteriormente, RStudio Workbench) en una instancia de proceso, incluidos los cuadernos en ejecución.
Para habilitar el acceso público, siga estos pasos:
Sugerencia
Hay dos propiedades que puede configurar:
allow_public_access_when_behind_vnet
: usado por el SDK de Python y la CLI v2.public_network_access
: usado por la CLI y el SDK de Python v2. Una propiedad invalida la otra. Por ejemplo, la configuraciónpublic_network_access
invalidará cualquier configuración anterior enallow_public_access_when_behind_vnet
.
Microsoft recomienda usar public_network_access
para habilitar o deshabilitar el acceso público a un área de trabajo.
Para habilitar el acceso público, use Workspace.update y establezca allow_public_access_when_behind_vnet=True
.
SE APLICA A: Azure ML del SDK de Python v1
from azureml.core import Workspace
ws = Workspace.from_config()
ws.update(allow_public_access_when_behind_vnet=True)
Conexión segura al área de trabajo
Para conectarse a un área de trabajo protegida en una red virtual, use uno de los métodos siguientes:
Azure VPN Gateway: conecta redes locales a la VNet mediante una conexión privada. La conexión se realiza a través de la red pública de Internet. Hay dos tipos de puertas de enlace de VPN que puede usar:
- De punto a sitio: cada equipo cliente usa un cliente VPN para conectarse a la red virtual.
- De sitio a sitio: un dispositivo VPN conecta la red virtual a la red local.
ExpressRoute: conecta redes locales a la nube mediante una conexión privada. La conexión se realiza mediante un proveedor de conectividad.
Azure Bastion: en este escenario, se crea una máquina virtual de Azure (a veces denominada "jump box") dentro de la VNet. A continuación, se conecta a la máquina virtual mediante Azure Bastion. Bastion permite conectarse a la máquina virtual mediante una sesión RDP o SSH desde el explorador web local. A continuación, use la jump box como entorno de desarrollo. Puesto que está dentro de la VNet, puede acceder directamente al área de trabajo. Para obtener un ejemplo de cómo usar un jumpbox, vea Tutorial: Creación de un área de trabajo segura.
Importante
Al usar una puerta de enlace de VPN o ExpressRoute, deberá planear cómo funciona la resolución de nombres entre los recursos locales y los de la red virtual. Para obtener más información, vea Creación de un servidor DNS personalizado.
Si tiene problemas para conectarse al área de trabajo, consulte Solución de problemas de conectividad segura del área de trabajo.
Múltiples puntos de conexión privados
Azure Machine Learning admite varios puntos de conexión privados para un área de trabajo. A menudo se usan varios puntos de conexión privados cuando se desea mantener distintos entornos separados. Estos son algunos escenarios que se habilitan mediante el uso de varios puntos de conexión privados:
Entornos de desarrollo de cliente en una red virtual independiente.
Un clúster Azure Kubernetes Service (AKS) en una red virtual independiente.
Otros servicios de Azure en una red virtual independiente. Por ejemplo, Azure Synapse y Azure Data Factory pueden usar una red virtual administrada por Microsoft. En cualquier caso, se puede agregar un punto de conexión privado para el área de trabajo a la red virtual administrada utilizada por esos servicios. Para más información sobre el uso de una red virtual administrada con estos servicios, consulte los artículos siguientes:
- Puntos de conexión privados administrados de Synapse.
- Azure Data Factory managed virtual network (Red virtual administrada de Azure Data Factory)
Importante
La protección contra la filtración de datos de Synapse no se admite con Azure Machine Learning.
Importante
Cada red virtual que contiene un punto de conexión privado para el área de trabajo también debe poder acceder a la cuenta de Azure Storage, Azure Key Vault y Azure Container Registry utilizada por el área de trabajo. Por ejemplo, puede crear un punto de conexión privado para los servicios de cada red virtual.
Para agregar varios puntos de conexión privados, se usan los mismos pasos descritos en la sección Adición de un punto de conexión privado a un área de trabajo.
Escenario: clientes aislados
Si quiere aislar los clientes de desarrollo para que no tengan acceso directo a los recursos de proceso utilizados por Azure Machine Learning, siga estos pasos:
Nota
Estos pasos suponen que tiene un área de trabajo existente, una cuenta de Azure Storage, Azure Key Vault y Azure Container Registry. Cada uno de estos servicios tiene un punto de conexión privado en una red virtual existente.
- Cree otra red virtual para los clientes. Esta red virtual puede contener máquinas virtuales de Azure que actúan como clientes o puede contener una VPN Gateway utilizada por los clientes locales para conectarse a la red virtual.
- Agregue un nuevo punto de conexión privado para la cuenta de Azure Storage, Azure Key Vault y Azure Container Registry utilizada por el área de trabajo. Estos puntos de conexión privados deben existir en la red virtual del cliente.
- Si tiene otro almacenamiento que se usa en el área de trabajo, agregue un nuevo punto de conexión privado para ese almacenamiento. El punto de conexión privado debe existir en la red virtual del cliente y tener habilitada la integración de zona DNS privada.
- Adición de un punto de conexión privado al área de trabajo. Este punto de conexión privado debe existir en la red virtual del cliente y tener habilitada la integración de zona DNS privada.
- Siga los pasos descritos en el artículo Uso de Studio en una red virtual para permitir que el estudio acceda a las cuentas de almacenamiento.
En el siguiente diagrama, se ilustra esta configuración. La red virtual de carga de trabajo contiene los procesos creados por el área de trabajo para el entrenamiento y la implementación. La red virtual de cliente contiene clientes o conexiones ExpressRoute/VPN de cliente. Ambas redes virtuales contienen puntos de conexión privados para el área de trabajo, la cuenta de Azure Storage, Azure Key Vault y Azure Container Registry.
Escenario: Azure Kubernetes Service aislado
Si desea crear una cuenta aislada de Azure Kubernetes Service utilizada por el área de trabajo, siga estos pasos:
Nota
Estos pasos suponen que tiene un área de trabajo existente, una cuenta de Azure Storage, Azure Key Vault y Azure Container Registry. Cada uno de estos servicios tiene un punto de conexión privado en una red virtual existente.
- Cree una instancia de Azure Kubernetes Service. Durante la creación, AKS crea una red virtual que contiene el clúster de AKS.
- Agregue un nuevo punto de conexión privado para la cuenta de Azure Storage, Azure Key Vault y Azure Container Registry utilizada por el área de trabajo. Estos puntos de conexión privados deben existir en la red virtual del cliente.
- Si tiene otro almacenamiento utilizado por el área de trabajo, agregue un nuevo punto de conexión privado para ese almacenamiento. El punto de conexión privado debe existir en la red virtual del cliente y tener habilitada la integración de zona DNS privada.
- Adición de un punto de conexión privado al área de trabajo. Este punto de conexión privado debe existir en la red virtual del cliente y tener habilitada la integración de zona DNS privada.
- Conecte el clúster de AKS a un área de trabajo de Azure Machine Learning. Para obtener más información, consulte Creación y conexión de un clúster de Azure Kubernetes Service.
Pasos siguientes
Para más información sobre cómo proteger el área de trabajo de Azure Machine Learning, consulte el artículo Información general sobre la privacidad y el aislamiento de la red virtual.
Si tiene pensado usar una solución DNS personalizada en la red virtual, consulte cómo usar un área de trabajo con un servidor DNS personalizado.