Puntos de conexión de servicio y puntos de conexión privados prácticos: incluidos Azure Backbone, firewall de cuenta de almacenamiento, DNS, VNET y NSG
Las cuentas de almacenamiento desempeñan un papel vital en una arquitectura medallón para establecer un lago de datos empresarial. Actúan como un depósito centralizado, lo que permite un intercambio de datos fluido entre productores y consumidores. Esta configuración permite a los consumidores realizar tareas de ciencia de datos y crear modelos de aprendizaje automático (ML). Además, los consumidores pueden utilizar los datos para la generación aumentada de recuperación (RAG), lo que facilita la interacción con los datos de la empresa a través de modelos de lenguaje grandes (LLM) como ChatGPT.
Los datos altamente confidenciales normalmente se almacenan en la cuenta de almacenamiento. Deben implementarse medidas de defensa en profundidad antes de que los científicos de datos y los canales de ML puedan acceder a los datos. Para realizar una defensa en profundidad, se deben implementar múltiples medidas, como 1) protección avanzada contra amenazas para detectar malware, 2) autenticación mediante Microsoft Entra, 3) autorización para realizar un control de acceso detallado, 4) seguimiento de auditoría para monitorear el acceso, 5) prevención de filtración de datos, 6) cifrado y, por último, pero no menos importante, 7) control de acceso a la red utilizando puntos finales de servicio o puntos finales privados.
Este artículo se centra en el control de acceso a la red de la cuenta de almacenamiento. En el siguiente capítulo, se explican (desmitifican) los diferentes conceptos sobre el acceso a la red de cuentas de almacenamiento. A continuación, se realiza una comparación práctica entre el punto final del servicio y los puntos finales privados. Finalmente se llega a una conclusión.
Un escenario típico es que una máquina virtual necesita tener acceso de red a una cuenta de almacenamiento. Esta máquina virtual suele actuar como un clúster Spark para analizar datos de la cuenta de almacenamiento. La siguiente imagen proporciona una descripción general de los controles de acceso a la red disponibles.
Los componentes de la imagen se pueden describir de la siguiente manera:
Red global de Azure: columna vertebral: El tráfico siempre pasa por la red troncal de Azure entre dos regiones (a menos que el cliente obligue a no hacerlo), consulte también Red global de Microsoft: Azure | Microsoft aprende. Esto es independientemente de qué regla de firewall se use en la cuenta de almacenamiento y de si se usan puntos de conexión de servicio o puntos de conexión privados.
Cortafuegos de almacenamiento de Azure: Las reglas del firewall pueden restringir o deshabilitar el acceso público. Las reglas comunes incluyen incluir VNET/subred en listas blancas, direcciones IP públicas, identidades administradas asignadas por el sistema como instancias de recursos o permitir servicios confiables. Cuando una VNET/subred está en la lista blanca, la cuenta de Azure Storage identifica el origen del tráfico y su dirección IP privada. Sin embargo, la cuenta de almacenamiento en sí no está integrada en la VNET/subred; para ese fin se necesitan puntos de conexión privados.
Cuenta de almacenamiento DNS pública: Las cuentas de almacenamiento siempre tendrán un DNS público al que se puede acceder a través de herramientas de red; consulte también Cuenta de Azure Storage: acceso público deshabilitado, pero aún cierto nivel de conectividad: preguntas y respuestas de Microsoft. Es decir, incluso cuando el acceso público esté deshabilitado en el firewall de la cuenta de almacenamiento, el DNS público permanecerá.
Red virtual (VNET): Red en la que se implementan las máquinas virtuales. Si bien una cuenta de almacenamiento nunca se implementa dentro de una VNET, la VNET se puede incluir en la lista blanca del firewall de almacenamiento de Azure. Alternativamente, VNET puede crear un punto final privado para una conectividad privada y segura.
Puntos finales del servicio: Al incluir una VNET/subred en la lista blanca en el firewall de la cuenta de almacenamiento, el punto final de servicio debe estar activado para la VNET/subred. El punto final del servicio debe ser Microsoft.Storage cuando la VNET y la cuenta de almacenamiento están en la misma región o Microsoft.Storage.Global cuando la VNET y el almacenamiento están en diferentes regiones. Tenga en cuenta que los puntos de conexión de servicio también se utilizan como un término general, que abarca tanto la inclusión en la lista blanca de una VNET/subred en Azure Storage Firewall como la habilitación del punto de conexión de servicio en la VNET/subred.
Puntos finales privados: Integrar una Tarjeta de Interfaz de Red (NIC) de una Cuenta de Almacenamiento dentro de la VNET donde opera la máquina virtual. Esta integración asigna a la cuenta de almacenamiento una dirección IP privada, lo que la convierte en parte de VNET.
Cuenta de almacenamiento DNS privada: Dentro de una VNET, se puede crear una zona DNS privada en la que el DNS de la cuenta de almacenamiento se resuelve en el punto final privado. Esto es para garantizar que la máquina virtual aún pueda conectarse a la URL de la cuenta de almacenamiento y que la URL de la cuenta de almacenamiento se resuelva en una dirección IP privada en lugar de una dirección pública.
Grupo de seguridad de red (NSG): Implemente un NSG para limitar el acceso entrante y saliente de la VNET donde se ejecuta la máquina virtual. Esto puede evitar la filtración de datos. Sin embargo, un NSG solo funciona con direcciones IP o etiquetas, no con URL. Para una protección más avanzada contra la filtración de datos, utilice Azure Firewall. Para simplificar, el artículo omite esto y utiliza NSG para bloquear el tráfico saliente.
En el siguiente capítulo, se analizan los puntos finales de servicio y los puntos finales privados.
El capítulo comienza explorando el escenario del acceso a la red sin restricciones. Luego se analizan los detalles de los puntos finales de servicio y los puntos finales privados con ejemplos prácticos.
3.1 No limitar el acceso a la red: acceso público habilitado
Supongamos el siguiente escenario en el que se crea una máquina virtual y una cuenta de almacenamiento. El firewall de la cuenta de almacenamiento tiene habilitado el acceso público; consulte la imagen a continuación.
Con esta configuración, la máquina virtual puede acceder a la cuenta de almacenamiento a través de la red. Dado que la máquina virtual también está implementada en Azure, el tráfico pasará por Azure Backbone y será aceptado; consulte la imagen a continuación.
Las empresas suelen establecer reglas de firewall para limitar el acceso a la red. Esto implica deshabilitar el acceso público o permitir solo redes seleccionadas e incluir en la lista blanca aquellas específicas. La siguiente imagen ilustra el acceso público deshabilitado y el tráfico bloqueado por el firewall.
En el siguiente párrafo, los puntos finales de servicio y las reglas de firewall de red seleccionadas se utilizan para otorgar acceso de red a la cuenta de almacenamiento nuevamente.
3.2 Limitar el acceso a la red a través de puntos finales de servicio
Para habilitar el acceso de la máquina virtual VNET a la cuenta de almacenamiento, active el punto final de servicio en la VNET. Utilice Microsoft.Storage dentro de las regiones o Microsoft.Storage.Global para entre regiones. A continuación, incluya la VNET/subred en la lista blanca en el firewall de la cuenta de almacenamiento. Luego, el tráfico se bloquea nuevamente; consulte también la imagen a continuación.
Ahora se acepta tráfico. Cuando se elimina VNET/subred del firewall de la cuenta de almacenamiento de Azure o se deshabilita el acceso público, el tráfico se bloquea nuevamente.
En caso de que se utilice un NSG para bloquear las IP públicas salientes en la VNET de la máquina virtual, el tráfico también se bloquea nuevamente. Esto se debe a que se utiliza el DNS público de la cuenta de almacenamiento; consulte también la imagen a continuación.
En ese caso, se utilizarán puntos finales privados para garantizar que el tráfico no abandone VNET. Esto se analiza en el próximo capítulo.
3.3 Limitar el acceso a través de puntos finales privados
Para restablecer el acceso de red de la máquina virtual a la cuenta de almacenamiento, utilice un punto final privado. Esta acción crea una tarjeta de interfaz de red (NIC) para la cuenta de almacenamiento dentro de la VNET de la máquina virtual, lo que garantiza que el tráfico permanezca dentro de la VNET. La siguiente imagen proporciona más ilustración.
Nuevamente, se puede usar un NSG nuevamente para bloquear todo el tráfico; consulte la imagen a continuación.
Sin embargo, esto es contrario a la intuición, ya que primero se crea un punto final privado en la VNET y luego NSG bloquea el tráfico en la misma VNET.
La empresa siempre requiere reglas de red para limitar el acceso a la red a su cuenta de almacenamiento. En esta publicación de blog, se considera que tanto los puntos finales de servicio como los puntos finales privados limitan el acceso.
Ambas cosas son válidas para los puntos finales de servicio y los puntos finales privados:
Para los puntos finales de servicio, se cumple lo siguiente:
- Requiere habilitar puntos de conexión de servicio en VNET/subred y la inclusión en la lista blanca de VNET/subred en el firewall de la cuenta de almacenamiento de Azure.
- Requiere que el tráfico abandone la VNET de la máquina virtual que se conecta a la cuenta de almacenamiento. Véase arriba, el tráfico permanece en la red troncal de Azure.
Para puntos finales privados, se cumple lo siguiente:
- El acceso público se puede deshabilitar en el firewall de Azure Storage. Consulte arriba, se mantendrá la entrada DNS pública de la cuenta de almacenamiento.
- El tráfico no sale de la VNET en la que también se ejecuta la máquina virtual.
Hay muchas otras cosas a considerar si se usan puntos finales de servicio o puntos finales privados (costos, esfuerzo de migración ya que los puntos finales de servicio han estado disponibles por más tiempo que los puntos finales privados, complejidad de la red al usar puntos finales privados, soporte limitado de puntos finales de servicio de los servicios más nuevos de Azure, límite estricto de número de puntos finales privados en la cuenta de almacenamiento de 200).
Sin embargo, en caso de que se requiera (“debe tener”) que 1) el tráfico nunca salga de VNET/subred de la máquina virtual o 2) no esté permitido crear reglas de firewall en el firewall de almacenamiento de Azure y deba estar bloqueado, entonces se debe dar servicio al punto final. no es factible.
En otros escenarios, es posible considerar ambas soluciones y se debe determinar la mejor opción en función de los requisitos específicos de cada escenario.