Azure Synapse Analytics sin Managed virtual network accceder a Storage account

Emilio Salas Roura 65 Puntos de reputación
2024-11-08T08:34:47.3033333+00:00

Disponemos de un workspace en Azure Synapse Analytics sin Managed virtual network.

Desde este workspace accedemos via Integration datasets a diversos storage accounts para escribir o leer ficheros.

Estos storage accounts tienen que tener acceso publico ya que si no, synapse no tiene acceso.

La forma correcta de configurar esto seria crear un workspace con una virtual network y en los storage account dar acceso a esta virtual network. Sin embargo, no se puede configurar una virtual network de un worskpase de synapse ya creado.

Alguna idea para configurar los storage accounts para que sean privados y Synapse pueda acceder a ellos?

Azure
Azure
Plataforma e infraestructura de informática en la nube para crear, implementar y administrar aplicaciones y servicios a través de una red mundial de centros de datos administrados por Microsoft.
538 preguntas
0 comentarios No hay comentarios
{count} votos

Respuesta aceptada
  1. Gao Chen 5,685 Puntos de reputación Proveedor de Microsoft
    2024-11-11T18:29:35.0433333+00:00

    Hola de nuevo Emilio Salas Roura,

    ¡Espero que hayas tenido un lindo fin de semana!

    Sobre tu primera pregunta, en este caso si es correcto que debes crear una Virtual Network (VNet) antes de poder establecer un–Private Endpoint para tus Storage Accounts. Aquí tienes una guía paso a paso de cómo puedes hacerlo:

    1. Crear un Private Endpoint
    • Crear una Virtual Network: Efectivamente, necesitas crear una Virtual Network (VNet) antes de poder crear un Private Endpoint. Esto es necesario porque el Private Endpoint se debe asociar a una subred dentro de la VNet.
    • Crear el Private Endpoint: En el portal de Azure, ve a tu Storage Account.
      • Selecciona Networking y luego Private endpoint connections.
        • Haz clic en + Private endpoint y sigue los pasos para configurarlo, seleccionando la subred de tu VNet.
    1. Configurar el Storage Account
    • Acceso a través de Private Link: Una vez que hayas creado el Private Endpoint, asegúrate de que el Storage Account esté configurado para aceptar conexiones a través de este endpoint. Esto generalmente implica:
      • Ir a la sección de Firewalls y redes virtuales en el Storage Account.
        • Asegurarte de que la opción de permitir acceso desde redes virtuales esté habilitada y que tu VNet esté incluida.
    1. Asegurar el Acceso desde Azure Synapse
    • Configurar el Private Link Service:
      • En el portal de Azure, ve a tu Azure Synapse Workspace.
        • Selecciona Private endpoint connections y crea un nuevo Private Endpoint que se conecte al Private Link Hub de Synapse.
          • Asegúrate de seleccionar el tipo de recurso correcto (Microsoft.Synapse/workspaces) y la subred adecuada.
    1. Configuración para Azure Storage Explorer
    • Acceso a Azure Storage Explorer: Para que los usuarios puedan seguir utilizando Azure Storage Explorer, asegúrate de que:
      • La aplicación tenga acceso a la VNet donde se encuentra el Private Endpoint.
      • Si los usuarios están fuera de la VNet, necesitarás configurar un VPN Gateway o un ExpressRoute para permitir el acceso seguro.

    Adicionalmente, asegúrate de que la resolución DNS esté configurada correctamente para que los nombres de los recursos se resuelvan a las direcciones IP privadas. Puedes usar Azure Private DNS para esto y yo te recomiendo realizar pruebas de conectividad para asegurarte de que todo funcione como se espera.

    Si la información te funciono, recuerda en dar click en "Aceptar respuesta" si la respuesta te resolvió tu consulta. Si tienes más actualizaciones sobre este tema, por favor no dude en hacérmelo saber.

    1 persona encontró esta respuesta útil.
    0 comentarios No hay comentarios

2 respuestas adicionales

Ordenar por: Lo más útil
  1. Gao Chen 5,685 Puntos de reputación Proveedor de Microsoft
    2024-11-08T17:26:56.19+00:00

    Hola Emilio Salas Roura,

    ¡Bienvenido(a) a Microsoft Q&A!

    Para configurar tus storage accounts de manera que sean privados y que Azure Synapse Analytics pueda acceder a ellos, aquí tienes algunas opciones:

    1. Crear un nuevo workspace con una Managed Virtual Network:
      • Aunque mencionas que no puedes configurar una virtual network en un workspace existente, la opción más segura es crear un nuevo workspace con una Managed Virtual Network. Esto te permitirá establecer endpoints privados que conecten tu workspace a los storage accounts de forma segura.
    2. Usar Managed Identity:
      • Si decides mantener tu workspace actual, puedes habilitar la Managed Identity para tu workspace. Luego, en el storage account, debes otorgar permisos a esta identidad. Esto se hace a través de la sección de Control de acceso (IAM) en el portal de Azure, donde puedes asignar roles como Storage Blob Data Contributor a la Managed Identity de tu workspace.
    3. Configurar reglas de firewall:
      • Puedes configurar el firewall del storage account para permitir el acceso solo desde direcciones IP específicas. Sin embargo, esto puede ser complicado si tu infraestructura cambia con frecuencia.
    4. Utilizar Private Link:
      • Otra opción es crear un Private Endpoint para tu storage account. Esto permite que el tráfico entre tu Synapse y el storage account se mantenga dentro de la red de Azure, evitando la exposición públicp. Necesitarás configurar esto en el portal de Azure y asegurarte de que tu Synapse tenga acceso a este endpoint.
    5. Acceso a través de SAS (Shared Access Signature):
      • Aunque no es la opción más segura, puedes generar un SAS token que permita el acceso temporal a los recursos del storage account. Esto puede ser útil para operaciones específicas, pero debes tener cuidado con la duración y los permisos que otorgas

    Pasos a seguir:

    • Si decides crear un nuevo workspace, asegúrate de habilitar la Managed Virtual Network desde el principio.
    • Si optas por la Managed Identity, asegúrate de que los permisos estén correctamente configurados en el storage account.
    • Considera la opción de Private Link para una conexión más segura.

    En caso de que necesites la información usada como referencia: Control del acceso a la cuenta de almacenamiento del grupo de SQL sin servidor en Azure Synapse Analytics, Conexión a una cuenta de almacenamiento de Azure segura desde un área de trabajo de Synapse, https://techcommunity.microsoft.com/blog/azuresynapseanalyticsblog/polybase-user-guide---part-1--secured-storage-account/740376

    Espero que información brindada fuera útil. Si necesitas más asistencia, estoy a tu disposición.

    Atentamente,

    Gao


    Si esta respuesta resolvió tu consulta, por favor haz clic en 'Aceptar respuesta'. Esto nos ayuda a mejorar continuamente la calidad y relevancia de nuestras soluciones.


  2. Javier Guajardo Bravo 0 Puntos de reputación
    2025-01-15T08:31:38.0966667+00:00

    Buenos días, mi nombre es Javier y estoy ayudando a Emilio a conseguir el objetivo de securizar los storage accounts de los distintos workspaces de synapse.
    En primer lugar, muchas gracias por la información compartida sobre la configuración de Private Endpoints y Virtual Networks. Sin embargo, tras revisar nuestras configuraciones actuales, hemos identificado un problema clave que nos impide seguir el flujo estándar.

    Descripción del problema

    Actualmente, nuestros Azure Synapse Workspaces no tienen habilitada una Managed Virtual Network (VNet), lo que nos limita significativamente para implementar conexiones privadas que se resuelvan automáticamente desde Azure. Al intentar establecer la conexión a un Storage Account mediante un Private Endpoint desde un Synapse Workspace, obtenemos el siguiente error:

    Imagen del usuario

    Este error parece indicar que, debido a que no tenemos una Managed Virtual Network, el tráfico sigue intentando resolverse a través de la red pública, lo cual no es permitido por las políticas de red del Storage Account configurado para acceso privado.

    Contexto de la configuración

    Azure Synapse Workspace:

    • No contamos con Managed Virtual Network habilitada.
      • No podemos crear Integration Runtimes que se resuelvan directamente desde Azure utilizando Private Links.
      Azure Storage Account:
      - Está configurado para permitir únicamente acceso privado mediante un Private Endpoint asociado a una Virtual Network.
      
      Restricciones:
      
         - No es viable en este momento recrear el Synapse Workspace con Managed Virtual Network debido a las implicaciones en producción.
      

    Solución propuesta

    Dado que no podemos habilitar una Managed Virtual Network en el Synapse Workspace, creemos que la única opción viable es configurar un Self-Hosted Integration Runtime (SHIR) para enrutar el tráfico a través de una máquina virtual ubicada en la misma red virtual que el Private Endpoint del Storage Account. Este enfoque nos permitiría:

    • Implementar un punto de conexión privado hacia el Storage Account.
    • Utilizar la máquina virtual con SHIR para gestionar la comunicación desde Synapse a través de la red privada.

    Pasos a seguir

    1. Configurar una máquina virtual dentro de la red virtual asociada al Private Endpoint.
    2. Instalar y configurar el SHIR en esta máquina virtual.
    3. Actualizar los Linked Services en Synapse para que utilicen el SHIR.
    4. Realizar pruebas de conectividad desde Synapse al Storage Account utilizando esta solución.

    Consulta adicional

    ¿Podría confirmarnos si esta es la mejor alternativa en nuestra situación actual? Agradeceríamos cualquier orientación o recomendación adicional que pueda ayudarnos a resolver este problema de manera eficiente.

    Adjunto la captura de pantalla del error mencionado para mayor claridad.

    Quedamos atentos a su respuesta y agradecemos mucho su apoyo en este tema.

    Un cordial saludo,
    Javier Guajardo Bravo
    Data Architect
    Hiberus

    0 comentarios No hay comentarios

Su respuesta

Las respuestas pueden ser marcadas como Respuestas aceptadas por el autor de la pregunta, lo que indica a los usuarios que la respuesta resolvió su problema.