Comparteix a través de


Integración segura de Azure Machine Learning y Azure Synapse

En este artículo, aprenderá a integrar de forma segura con Azure Machine Learning desde Azure Synapse. Esta integración le permite usar Azure Machine Learning desde cuadernos en el área de trabajo de Azure Synapse. La comunicación entre las dos áreas de trabajo está protegida mediante una instancia de Azure Virtual Network.

Requisitos previos

  • Suscripción a Azure.

  • Un área de trabajo de Azure Machine Learning con una conexión de punto de conexión privado a una red virtual. Los siguientes servicios de dependencia del área de trabajo también deben tener una conexión de punto de conexión privado a la red virtual:

    • Cuenta de Azure Storage

      Sugerencia

      Para la cuenta de almacenamiento hay tres puntos de conexión privados independientes: uno para cada blob, archivo y dfs.

    • Azure Key Vault

    • Azure Container Registry

    Una manera rápida y sencilla de crear esta configuración es usar una plantilla de Microsoft Bicep o HashiCorp Terraform.

  • Un área de trabajo de Azure Synapse en una red virtual administrada, mediante un punto de conexión privado administrado. Para más información, consulte Red virtual administrada de Azure Synapse Analytics.

    Advertencia

    La integración de Azure Machine Learning no se admite actualmente en las áreas de trabajo de Synapse con protección contra la filtración de datos. Al configurar el área de trabajo de Azure Synapse, no habilite la protección contra la filtración de datos. Para más información, consulte Red virtual administrada de Azure Synapse Analytics.

    Nota

    En los pasos de este artículo se realizan las hipótesis siguientes:

    • El área de trabajo de Azure Synapse está en un grupo de recursos diferente que el área de trabajo de Azure Machine Learning.
    • El área de trabajo de Azure Synapse usa una red virtual administrada. La red virtual administrada protege la conectividad entre Azure Synapse y Azure Machine Learning. No restringe el acceso al área de trabajo de Azure Synapse. Tendrá acceso al área de trabajo a través de la red pública de Internet.

Descripción de la comunicación de red

En esta configuración, Azure Synapse utiliza un punto de conexión privado administrado y una red virtual. La red virtual administrada y el punto de conexión privado protegen las comunicaciones internas de Azure Synapse a Azure Machine Learning mediante la restricción del tráfico de red a la red virtual. No restringe la comunicación entre el cliente y el área de trabajo de Azure Synapse.

Azure Machine Learning no proporciona puntos de conexión privados administrados ni redes virtuales y, en su lugar, usa un punto de conexión privado administrado por el usuario y una red virtual. En esta configuración, la comunicación interna y de cliente/servicio está restringida a la red virtual. Por ejemplo, si quisiera acceder directamente a Azure Machine Learning Studio desde fuera de la red virtual, usaría una de las siguientes opciones:

  • Cree una máquina virtual de Azure dentro de la red virtual y use Azure Bastion para conectarse a ella. A continuación, conéctese a Azure Machine Learning desde la máquina virtual.
  • Cree una puerta de enlace de VPN o use ExpressRoute para conectar clientes a la red virtual.

Como el área de trabajo de Azure Synapse es accesible públicamente, puede conectarse a ella sin tener que crear elementos como una puerta de enlace de VPN. El área de trabajo de Synapse se conecta de forma segura a Azure Machine Learning a través de la red virtual. Azure Machine Learning y sus recursos están protegidos dentro de la red virtual.

Al agregar orígenes de datos, también puede proteger los que están detrás de la red virtual. Por ejemplo, conectarse de forma segura a una cuenta de Azure Storage o Data Lake Store Gen 2 mediante la red virtual.

Para más información, consulte los siguientes artículos.

Configuración de Azure Synapse

Importante

Antes de seguir estos pasos, necesita un área de trabajo de Azure Synapse que esté configurada para usar una red virtual administrada. Para más información, consulte Red virtual administrada de Azure Synapse Analytics.

  1. En Azure Synapse Studio, cree un nuevo servicio vinculado de Azure Machine Learning.

  2. Después de crear y publicar el servicio vinculado, seleccione Administrar, Managed private endpoints (Puntos de conexión privados administrados) y, a continuación, + Nuevo en Azure Synapse Studio.

    Screenshot of the managed private endpoints dialog.

  3. En la página Nuevo punto de conexión privado administrado, busque Azure Machine Learning y seleccione el icono.

    Screenshot of selecting Azure Machine Learning.

  4. Cuando se le solicite que seleccione el área de trabajo de Azure Machine Learning, use la suscripción de Azure y el área de trabajo de Azure Machine Learning que agregó anteriormente como un servicio vinculado. Seleccione Crear para crear el punto de conexión.

    Screenshot of the new private endpoint dialog.

  5. El punto de conexión aparecerá como Aprovisionando hasta que se haya creado. Una vez creado, la columna Aprobación mostrará un estado de Pendiente. Aprobará el punto de conexión en la sección Configuración de Azure Machine Learning.

    Nota

    En la captura de pantalla siguiente, se ha creado un punto de conexión privado administrado para Azure Data Lake Storage Gen 2 asociado a esta área de trabajo de Synapse. Para más información sobre cómo crear una instancia de Azure Data Lake Storage Gen 2 y habilitar un punto de conexión privado para él, consulte Aprovisionamiento y protección de un servicio vinculado con una red virtual administrada.

    Screenshot of the managed private endpoints list.

Crear un grupo de Spark

Para comprobar que la integración entre Azure Synapse y Azure Machine Learning está funcionando, usará un grupo de Apache Spark. Para más información sobre cómo crear uno, consulte Creación de un grupo de Spark.

Configuración de Azure Machine Learning

  1. En Azure Portal, seleccione el área de trabajo de Azure Machine Learning y luego, Redes.

  2. Seleccione Puntos de conexión privados y, luego, el punto de conexión que creó en los pasos anteriores. Debe tener un estado de Pendiente. Seleccione Aprobar para aprobar la conexión del punto de conexión.

    Screenshot of the private endpoint approval.

  3. En el panel izquierdo, seleccione Control de acceso (IAM). Seleccione Agregar y, luego, Asignación de roles.

    Screenshot of the role assignment.

  4. Seleccione Roles de administrador con privilegios, Colaborador y Siguiente.

    Screenshot of selecting contributor.

  5. Seleccione User, group, or service principal (Usuario, grupo o entidad de servicio) y, después, + Seleccionar miembros. Escriba el nombre de la identidad creada anteriormente, selecciónelo y, a continuación, use el botón Seleccionar.

    Screenshot of assigning the role.

  6. Seleccione Review + assign (Revisar y asignar), compruebe la información y, luego, seleccione el botón Review + assign (Revisar y asignar).

    Sugerencia

    El área de trabajo de Azure Machine Learning puede tardar varios minutos en actualizar la caché de credenciales. Hasta que se haya actualizado, puede recibir errores al intentar acceder al área de trabajo de Azure Machine Learning desde Synapse.

Verificación de la conectividad

  1. En Azure Synapse Studio, seleccione Desarrollar y, a continuación, + Cuaderno.

    Screenshot of adding a notebook.

  2. En el campo Asociar a, seleccione el grupo de Apache Spark del área de trabajo Azure Synapse y escriba el código siguiente en la primera celda:

    from notebookutils.mssparkutils import azureML
    
    # getWorkspace() takes the linked service name,
    # not the Azure Machine Learning workspace name.
    ws = azureML.getWorkspace("AzureMLService1")
    
    print(ws.name)
    

    Importante

    Este fragmento de código se conecta al área de trabajo vinculada mediante la versión 1 del SDK y luego imprime la información del área de trabajo. En la salida impresa, el valor que se muestra es el nombre del área de trabajo de Azure Machine Learning y no el nombre del servicio vinculado que se usó en la llamada getWorkspace(). Para más información sobre el uso del objeto ws, consulte la referencia de clase Área de trabajo.

Pasos siguientes