Flujo de tráfico de red al usar un área de trabajo protegida

Al colocar el área de trabajo de Azure Machine Learning y los recursos asociados en una red virtual de Azure, cambia el tráfico de red entre los recursos. Sin una red virtual, el tráfico de red fluye a través de la red pública de Internet o en un centro de datos de Azure. Después de introducir una red virtual, es posible que también desee proteger la seguridad de red. Por ejemplo, es posible que quiera bloquear las comunicaciones entrantes y salientes entre la red virtual y la red pública de Internet. Sin embargo, Azure Machine Learning requiere acceso a algunos recursos de la red pública de Internet. Por ejemplo, usa Azure Resource Manager para implementaciones y operaciones de administración.

En este artículo se muestra el tráfico necesario hacia y desde la red pública de Internet. También se explica cómo fluye el tráfico de red entre el entorno de desarrollo de cliente y un área de trabajo de Azure Machine Learning protegida en los escenarios siguientes:

  • Utilización del Estudio de Azure Machine Learning para trabajar con:

    • El área de trabajo
    • AutoML
    • Diseñador
    • Conjuntos de datos y almacenes de datos

    Estudio de Azure Machine Learning es una interfaz de usuario basada en web que se ejecuta parcialmente en el explorador web. Realiza llamadas a servicios de Azure para realizar tareas como entrenar un modelo, usar el diseñador o ver conjuntos de datos. Algunas de estas llamadas usan un flujo de comunicación diferente de si usa el SDK de Azure Machine Learning, la CLI de Azure, la API de REST o Visual Studio Code.

  • Con Estudio de Azure Machine Learning, el SDK de Azure Machine Learning, la CLI de Azure o la API de REST con las que trabajar:

    • Clústeres e instancias de proceso
    • Azure Kubernetes Service (AKS)
    • Imágenes de Docker que administra Azure Machine Learning

Si un escenario o tarea no aparece aquí, debería funcionar igual con o sin un área de trabajo protegida.

Supuestos

En este artículo se da por hecho la siguiente configuración:

  • El área de trabajo de Azure Machine Learning usa un punto de conexión privado para comunicarse con la red virtual.
  • La cuenta de almacenamiento de Azure, el almacén de claves y el registro de contenedor que usa el área de trabajo también usan un punto de conexión privado para comunicarse con la red virtual.
  • Las estaciones de trabajo cliente usan una puerta de enlace de VPN o Azure ExpressRoute para acceder a la red virtual.

Requisitos de entrada y salida

Escenario Entrada necesaria Salida necesaria Configuración adicional
Acceso a un área de trabajo desde Studio No aplicable
  • Microsoft Entra ID
  • Azure Front Door
  • Azure Machine Learning
Es posible que tenga que usar un servidor DNS personalizado. Para obtener más información, consulte Uso de un área de trabajo con un servidor DNS personalizado.
Uso de AutoML, el diseñador, el conjunto de datos y el almacén de datos de Studio No aplicable No aplicable
  • Configuración de la entidad de servicio del área de trabajo
  • Permitir el acceso desde servicios de Azure de confianza
Para más información, consulte Protección de un área de trabajo de Azure Machine Learning con redes virtuales.
Uso de una instancia de proceso y un clúster de proceso
  • Azure Machine Learning en el puerto 44224
  • Azure Batch en los puertos 29876-29877
  • Microsoft Entra ID
  • Azure Resource Manager
  • Azure Machine Learning
  • Azure Storage
  • Azure Key Vault
Si usa un firewall, cree rutas definidas por el usuario. Para obtener más información, consulte Configuración del tráfico de red de entrada y salida.
Uso de Azure Kubernetes Service No aplicable Para obtener información sobre la configuración de salida para AKS, consulte Protección del entorno de inferencia de Azure Kubernetes Service.
Uso de imágenes de Docker que administra Azure Machine Learning No aplicable Registro de artefactos Microsoft Si el registro de contenedor del área de trabajo está detrás de la red virtual, configure el área de trabajo para que use un clúster de proceso para compilar imágenes. Para obtener más información, consulte Protección de un área de trabajo de Azure Machine Learning con redes virtuales.

Propósitos de las cuentas de almacenamiento

Azure Machine Learning usa varias cuentas de almacenamiento. Cada una almacena datos diferentes y tiene un propósito distinto:

  • Su almacenamiento: las cuentas de almacenamiento de su suscripción de Azure almacenan sus datos y artefactos, como modelos, datos de entrenamiento, registros de entrenamiento y scripts de Python. Por ejemplo, la cuenta de almacenamiento predeterminada para su área de trabajo está en su suscripción. La instancia de proceso de Azure Machine Learning y los clústeres de proceso acceden a los datos de archivos y blobs de este almacenamiento a través de los puertos 445 (SMB) y 443 (HTTPS).

    Cuando se usa una instancia de proceso o un clúster de proceso, la cuenta de almacenamiento se monta como un recurso compartido de archivos con el protocolo SMB. La instancia de proceso y el clúster usan este recurso compartido de archivos para almacenar elementos como los datos, los modelos, los cuadernos de Jupyter Notebook y los conjuntos de datos. La instancia de proceso y el clúster usan el punto de conexión privado cuando acceden a la cuenta de almacenamiento.

  • Almacenamiento de Microsoft: la instancia de proceso y el clúster de proceso de Azure Machine Learning dependen de Azure Batch. Acceden al almacenamiento ubicado en una suscripción de Microsoft. Este almacenamiento solo se usa para la administración de la instancia de proceso o el clúster. Ninguno de sus datos se almacena aquí. La instancia de proceso y el clúster de proceso acceden a los datos de blobs, tablas y colas de este almacenamiento a través del puerto 443 (HTTPS).

Machine Learning también almacena metadatos en una instancia de Azure Cosmos DB. De forma predeterminada, esta instancia se hospeda en una suscripción de Microsoft y la administra Microsoft. Opcionalmente, puede usar una instancia de Azure Cosmos DB en su suscripción de Azure. Para más información, consulte Cifrado de datos con Azure Machine Learning.

Escenario: acceso a un área de trabajo desde Studio

Nota:

La información de esta sección es específica para el uso del área de trabajo desde Estudio de Azure Machine Learning. Si usa el SDK de Azure Machine Learning, la API de REST, la CLI de Azure o Visual Studio Code, la información de esta sección no se aplica a usted.

Al acceder al área de trabajo desde el estudio, los flujos de tráfico de red son los siguientes:

  • Para autenticarse en los recursos, la configuración usa Microsoft Entra ID.
  • Para las operaciones de administración e implementación, la configuración usa Azure Resource Manager.
  • En el caso de las tareas específicas de Azure Machine Learning, la configuración usa Azure Machine Learning Service.
  • Para acceder a Estudio de Azure Machine Learning, la configuración usa Azure Front Door.
  • Para la mayoría de las operaciones de almacenamiento, el tráfico fluye a través del punto de conexión privado del almacenamiento predeterminado del área de trabajo. En la sección Uso de AutoML, el diseñador, el conjunto de datos y el almacén de datos de Studio de este artículo se describen las excepciones.
  • También debe configurar una solución DNS que le permita resolver los nombres de los recursos de la red virtual. Para obtener más información, consulte Uso de un área de trabajo con un servidor DNS personalizado.

Diagrama del tráfico de red entre el cliente y el área de trabajo cuando se usa Studio.

Escenario: Uso de AutoML, el diseñador, el conjunto de datos y el almacén de datos de Studio

Las características del Estudio de Azure Machine Learning que se señalan a continuación usan la generación de perfiles de datos:

  • Conjunto de datos: explore el conjunto de datos desde Studio.
  • Diseñador: visualice los datos de salida del módulo.
  • AutoML: consulte un perfil o una vista previa de datos y elija una columna de destino.
  • Etiquetado: use etiquetas para preparar los datos de un proyecto de aprendizaje automático.

La generación de perfiles de datos depende de si el servicio administrado de Azure Machine Learning puede acceder a la cuenta de Azure Storage predeterminada del área de trabajo. El servicio administrado no existe en la red virtual, por lo que no puede acceder directamente a la cuenta de almacenamiento de la red virtual. En su lugar, el área de trabajo usa una entidad de servicio para acceder al almacenamiento.

Sugerencia

Puede proporcionar una entidad de servicio al crear el área de trabajo. Si no lo hace, se crea una automáticamente y tiene el mismo nombre que el área de trabajo.

Para permitir el acceso a la cuenta de almacenamiento, configure la cuenta de almacenamiento para permitir una instancia de recurso para el área de trabajo o seleccione Permitir que los servicios de Azure de la lista de servicios de confianza accedan a esta cuenta de almacenamiento. Esta configuración permite que el servicio administrado acceda al almacenamiento a través de la red del centro de datos de Azure.

A continuación, agregue la entidad de servicio del área de trabajo al rol de Lector en el punto de conexión privado de la cuenta de almacenamiento. Azure usa este rol para comprobar la información del área de trabajo y de la subred de almacenamiento. Si son iguales, Azure permite el acceso. Por último, la entidad de servicio también requiere acceso de Colaborador de datos de blob para la cuenta de almacenamiento.

Para más información, consulte la sección "Protección de cuentas de almacenamiento de Azure" de Protección de un área de trabajo de Azure Machine Learning con redes virtuales.

Diagrama del tráfico entre el cliente, la generación de perfiles de datos y el almacenamiento.

Escenario: Uso de una instancia de proceso y un clúster de proceso

Una instancia y un clúster de proceso de Azure Machine Learning son servicios administrados hospedados por Microsoft. Se basan en el servicio Azure Batch. Aunque existen en un entorno administrado por Microsoft, también se insertan en la red virtual.

Al crear una instancia o un clúster de proceso, también se crean los siguientes recursos en la red virtual:

  • Un grupo de seguridad de red con las reglas de salida necesarias. Estas reglas permiten el acceso de entrada desde Azure Machine Learning (TCP en el puerto 44224) y el servicio Azure Batch (TCP en los puertos 29876-29877).

    Importante

    Si usa un firewall para bloquear el acceso a Internet en la red virtual, debe configurar el firewall para permitir este tráfico. Por ejemplo, con Azure Firewall puede crear rutas definidas por el usuario. Para obtener más información, consulte Configuración del tráfico de red de entrada y salida.

  • Un equilibrador de carga con una dirección IP pública.

Permita también el acceso de salida a las siguientes etiquetas de servicio. Para cada etiqueta, reemplace region por la región de Azure de la instancia o el clúster de proceso:

  • Storage.region: este acceso saliente se usa para conectarse a la cuenta de almacenamiento de Azure dentro de la red virtual administrada de Azure Batch.
  • Keyvault.region: este acceso saliente se usa para conectarse a la cuenta de Azure Key Vault dentro de la red virtual administrada de Azure Batch.

El acceso a los datos desde la instancia o el clúster de proceso pasa a través del punto de conexión privado de la cuenta de almacenamiento de la red virtual.

Si usa Visual Studio Code en una instancia de proceso, debe permitir otro tráfico de salida. Para obtener más información, consulte Configuración del tráfico de red de entrada y salida.

Diagrama del flujo de tráfico al usar una instancia o clúster de proceso.

Escenario: Uso de puntos de conexión en línea

La seguridad de la comunicación entrante y saliente se configura por separado para los puntos de conexión en línea administrados.

Comunicación entrante

Puede ayudar a proteger la comunicación entrante con la dirección URL de puntuación del punto de conexión en línea mediante la marca public_network_access en el punto de conexión. Establecer la marca para disabled asegurarse de que el punto de conexión en línea recibe tráfico solo desde la red virtual de un cliente a través del punto de conexión privado del área de trabajo de Azure Machine Learning.

La marca public_network_access del área de trabajo de Azure Machine Learning también rige la visibilidad del punto de conexión en línea. Si esta marca es disabled, solo se puede acceder a los puntos de conexión de puntuación desde redes virtuales que contienen un punto de conexión privado para el área de trabajo. Si esta marca es enabled, se puede acceder al punto de conexión de puntuación desde la red virtual y las redes públicas.

Comunicación saliente

Puede ayudar a proteger la comunicación saliente desde una implementación en el nivel de área de trabajo mediante el aislamiento de red virtual administrada para el área de trabajo de Azure Machine Learning. Al habilitar esta configuración, Azure Machine Learning crea una red virtual administrada para el área de trabajo. Las implementaciones de la red virtual administrada del área de trabajo pueden usar los puntos de conexión privados de la red virtual para la comunicación saliente.

El método de aislamiento de red heredado para proteger la comunicación saliente funcionó deshabilitando la marca egress_public_network_access de una implementación. Se recomienda encarecidamente que ayude a proteger la comunicación saliente para las implementaciones mediante un área de trabajo administrada por la red virtual en su lugar. A diferencia del enfoque heredado, la marca egress_public_network_access de la implementación ya no se aplica cuando se usa una red virtual administrada por el área de trabajo con la implementación. En su lugar, las reglas establecidas para la red virtual administrada del área de trabajo controlarán la comunicación saliente.

Escenario: Uso de Azure Kubernetes Service

Para obtener información sobre la configuración de salida necesaria para Azure Kubernetes Service, consulte Protección de un entorno de inferencia de Azure Machine Learning con redes virtuales.

Nota:

El equilibrador de carga de Azure Kubernetes Service no es el mismo que el equilibrador de carga que crea Azure Machine Learning. Si desea hospedar el modelo como una aplicación protegida que solo está disponible en la red virtual, use el equilibrador de carga interno que crea Azure Machine Learning. Si desea permitir el acceso público, use el equilibrador de carga público que crea Azure Machine Learning.

Si el modelo requiere conectividad de entrada o salida adicional, como un origen de datos externo, use un grupo de seguridad de red o el firewall para permitir el tráfico.

Escenario: Uso de imágenes de Docker que administra Azure Machine Learning

Azure Machine Learning proporciona imágenes de Docker que se pueden usar para entrenar modelos o realizar inferencias. Estas imágenes se hospedan en el Registro de artefactos Microsoft.

Si proporciona sus propias imágenes de Docker, como en un registro de contenedor que proporcione, no necesita la comunicación saliente con el Registro de artefactos.

Sugerencia

Si el registro de contenedor está protegido en la red virtual, Azure Machine Learning no puede usarlo para compilar imágenes de Docker. En su lugar, debe designar un clúster de proceso de Azure Machine Learning para compilar imágenes. Para obtener más información, consulte Protección de un área de trabajo de Azure Machine Learning con redes virtuales.

Diagrama del flujo de tráfico al usar imágenes proporcionadas por Docker.

Pasos siguientes

Ahora que ha aprendido cómo fluye el tráfico de red en una configuración segura, obtenga más información sobre la protección de Azure Machine Learning en una red virtual. Para ello, lea el artículo de información general sobre la privacidad y el aislamiento de la red virtual.

Para obtener información sobre los procedimientos recomendados, consulte el artículo Procedimientos recomendados de Azure Machine Learning para la seguridad empresarial.