Azure Databricks es una Plataforma Unificada de Análisis de Datos que forma parte de Microsoft Azure Cloud. Construido sobre las bases de Delta Lake, MLFlow, Koalas y Apache Spark, Azure Databricks es un servicio de primera clase en la nube de Microsoft Azure que proporciona configuración con un solo clic, integraciones nativas con otros servicios de Azure, espacio de trabajo interactivo y seguridad de nivel empresarial para potenciar casos de uso de Datos e IA para clientes globales, desde pequeños hasta grandes. La plataforma permite una verdadera colaboración entre diferentes perfiles de datos en cualquier empresa, como Ingenieros de Datos, Científicos de Datos, Analistas de Datos y SecOps / Ingeniería en la Nube.
En este blog, el primero de una serie de dos, proporcionaremos una descripción general de la arquitectura de Azure Databricks y cómo los clientes podrían conectarse a sus instancias autogestionadas de servicios de datos de Azure de manera segura.
Azure Databricks es una aplicación administrada en la nube de Azure. A un alto nivel, la arquitectura consta de un plano de control/gestión y un plano de datos. El plano de control reside en una suscripción administrada por Microsoft y alberga servicios como la aplicación web, el administrador de clústeres, el servicio de trabajos, etc. En la implementación predeterminada, el plano de datos es un componente totalmente administrado en la suscripción del cliente que incluye una VNET, NSG y una cuenta de almacenamiento raíz conocida como DBFS.
El plano de datos también podría implementarse en una VNET administrada por el cliente, para permitir que los equipos de SecOps e Ingeniería en la Nube construyan la arquitectura de seguridad y red para el servicio según sus políticas de gobernanza empresarial. Esta capacidad se llama Bring Your Own VNET o Inyección de VNET. La imagen muestra una vista representativa de dicha arquitectura de cliente.
La seguridad empresarial es un principio fundamental en la creación de software tanto en Databricks como en Microsoft, y por lo tanto, se considera un ciudadano de primera clase en Azure Databricks. En el contexto de este blog, la conectividad segura se refiere a garantizar que el tráfico de Azure Databricks a los servicios de datos de Azure permanezca en la red troncal de Azure, con la capacidad inherente de incluir en la lista blanca a Azure Databricks como fuente permitida. Como práctica recomendada de seguridad, recomendamos un par de opciones que los clientes podrían usar para establecer dicho mecanismo de acceso a datos a servicios de datos de Azure como Azure Blob Storage, Azure Data Lake Store Gen2, Azure Synapse Data Warehouse, Azure CosmosDB, etc. Lea más adelante para una discusión sobre Azure Private Link y Service Endpoints.
La forma más segura de acceder a los servicios de datos de Azure desde Azure Databricks es configurando Private Link. Según la documentación de Azure: Private Link permite acceder a servicios PaaS de Azure (por ejemplo, Azure Storage, Azure Cosmos DB y SQL Database) y servicios de clientes/socios alojados en Azure a través de un Private Endpoint en su red virtual. El tráfico entre su red virtual y el servicio atraviesa la red troncal de Microsoft, eliminando la exposición a Internet público. También puede crear su propio Private Link Service en su red virtual (VNet) y entregarlo de forma privada a sus clientes. La experiencia de configuración y consumo utilizando Azure Private Link es coherente en todos los servicios PaaS de Azure, propiedad del cliente y servicios de socios compartidos. Para más detalles, consulte esto.
Vea a continuación cómo se pueden usar juntos Azure Databricks y Private Link.
Azure Databricks y Private Endpoints de servicios de datos de Azure en VNET separadas
Azure Databricks y Private Endpoints de servicios de datos de Azure en la misma VNET
Tenga en cuenta lo siguiente antes de implementar el Private Endpoint:
Un ejemplo de dónde se podría usar Private Link es cuando un cliente utiliza algunos servicios de datos de Azure en producción junto con Azure Databricks, como Blob Storage, ADLS Gen2, SQL DB, etc. El negocio desearía que los usuarios consultaran los datos agregados enmascarados de ADLS Gen2, pero restringirles el acceso a los datos confidenciales sin enmascarar en otras fuentes de datos. En ese caso, se podría establecer un Private Endpoint solo para el servicio ADLS Gen2 utilizando cualquiera de las subopciones discutidas anteriormente.
Así es como se podría configurar dicho entorno:
1 - Configurar Private Link para ADLS Gen2
2 - Implementar Azure Databricks en su VNET
Tenga en cuenta que es posible configurar más de un Private Link por servicio de datos de Azure, lo que le permite crear una arquitectura que se ajuste a las necesidades de gobernanza de su empresa.
Según la documentación de Azure, los Service Endpoints de Red Virtual (VNET) extienden el espacio de direcciones privadas de su red virtual. Los endpoints también extienden la identidad de su VNet a los servicios de Azure a través de una conexión directa. Los endpoints le permiten proteger sus recursos críticos de servicios de Azure solo a sus redes virtuales. El tráfico de su VNet al servicio de Azure siempre permanece en la red troncal de la red de Microsoft Azure.
Mayor seguridad para sus recursos de servicio de Azure
Los espacios de direcciones IP privadas de diferentes redes virtuales pueden superponerse. No se puede usar un espacio de red superpuesto para identificar de forma única el tráfico que se origina en una VNET específica. Una vez que se habilitan los puntos de conexión de servicio para las subredes de su VNET, puede agregar una regla de firewall de red virtual para proteger los servicios de datos de Azure extendiendo la identidad de su VNET a esos recursos. Dicha configuración ayuda a eliminar el acceso público a esos recursos y permite el tráfico solo desde su VNET.
Enrutamiento óptimo para el tráfico de servicios de datos de Azure desde su red virtual
Actualmente, las rutas de su VNET que se usan para dirigir el tráfico con encabezado de red pública a través de sus dispositivos virtuales basados en la nube/locales también se usan para el tráfico de servicios de datos de Azure. Los puntos de conexión de servicio proporcionan un enrutamiento óptimo para el tráfico de Azure.
Mantener el tráfico en la red troncal de Azure
Los puntos de conexión de servicio dirigen siempre el tráfico de servicios de datos de Azure directamente desde su VNET al recurso en la red troncal de Microsoft Azure. Mantener el tráfico en la red troncal de Azure le permite continuar auditando y monitoreando el tráfico de Internet saliente desde sus redes virtuales, a través de túneles forzados, sin afectar el tráfico de servicios de datos. Para obtener más información sobre las rutas definidas por el usuario y los túneles forzados, consulte el enrutamiento del tráfico de red virtual de Azure.
Fácil de configurar sin sobrecarga de administración
Ya no necesita direcciones IP públicas reservadas en sus redes virtuales para proteger los recursos de servicios de datos de Azure a través de firewalls de IP. No se requieren dispositivos de traducción de direcciones de red (NAT) ni de puerta de enlace para configurar los puntos de conexión de servicio. Puede configurar puntos de conexión de servicio a través de una configuración sencilla para una subred. No hay sobrecarga adicional para mantener los puntos de conexión.
Azure Service Endpoint con Azure Databricks
Tenga en cuenta lo siguiente antes de implementar los puntos de conexión de servicio:
Tomando el mismo ejemplo que se mencionó anteriormente para Private Link, y cómo podría verse con Puntos de Conexión de Servicio. En este caso, el Punto de Conexión de Servicio de Azure Storage podría configurarse en las subredes de Azure Databricks y las mismas subredes podrían luego incluirse en la lista blanca en las reglas de firewall de ADLS Gen2.
Así es como se podría configurar dicho entorno:
1 - Configurar punto de conexión de servicio para ADLS Gen2
2 - Implementar Azure Databricks en su VNET
3 - Configurar reglas de firewall de IP en ADLS Gen2
Hemos analizado un par de opciones disponibles para acceder de forma segura a los servicios de datos de Azure desde su entorno de Azure Databricks. Según las especificidades de su negocio, podría utilizar Azure Private Link o Puntos de Conexión de Servicio de Red Virtual. Una vez que se finalice el enfoque de conectividad de red, podría utilizar enfoques de autenticación seguros para conectarse a esos recursos:
En la próxima publicación de este blog, profundizaremos en cómo configurar un entorno seguro y bloqueado para prevenir la exfiltración de datos (en otras palabras, implementar una arquitectura de prevención de pérdida de datos). Utilizará una combinación de las opciones discutidas anteriormente y Azure Firewall. Póngase en contacto con sus equipos de cuentas de Microsoft o Databricks si tiene alguna pregunta.
(Esta entrada del blog ha sido traducida utilizando herramientas basadas en inteligencia artificial) Publicación original
Suscríbete a nuestro blog y recibe las últimas publicaciones directamente en tu bandeja de entrada.