Contenido del curso

Microsoft Azure Fundamentos

Cuenta de almacenamiento privada en Azure VNet

Resumen

Configurar una cuenta de almacenamiento privada en Azure significa restringir su acceso a una red virtual específica, una subred concreta y hasta una dirección IP definida. Este flujo consolida lo que ya sabes sobre niveles de acceso, redes virtuales y máquinas virtuales en un solo ambiente seguro, ideal si trabajas con datos sensibles o cargas que no deben quedar expuestas a internet.

La idea es simple: niegas todo el tráfico por defecto y luego abres puertas muy específicas. Vamos paso a paso.

¿Cómo se crea una cuenta de almacenamiento privada con Azure CLI?

Todo arranca en la terminal con el archivo comandos.sh del repositorio del curso. La secuencia parte del grupo de recursos y avanza hacia la cuenta restringida.

Al crear la cuenta de almacenamiento aparecen tres parámetros clave que cambian el juego [2:00]:

  • Tipo premium: una categoría más evolucionada que el estándar.
  • Nivel de acceso hot: pensado para datos de uso frecuente.
  • Default action en deny: bloquea el acceso directo y obliga a definir reglas explícitas para entrar.

Con default-action deny la cuenta deja de aceptar el típico acceso público. Nadie entra hasta que tú lo autorices, ni siquiera tú desde tu equipo local.

¿Qué hace el parámetro default action deny en una storage account? Bloquea por defecto cualquier conexión a la cuenta de almacenamiento. Solo entran los recursos o IPs que agregues como excepción mediante reglas de red.

¿Cómo configurar una subred con service endpoint para Storage?

Después de la cuenta viene la red. Creas una vnet con network vnet create y dentro defines una subred llamada Platzi subred con su prefijo de IPs [3:30].

Aquí entra un comando distinto: network vnet subnet update. No es creación, es actualización. Le añades el parámetro --service-endpoints Microsoft.Storage, que convierte a esa subred en un puerto de entrada autorizado para cuentas de almacenamiento [4:00].

La subred queda lista para hablar con storage, aunque todavía no sepa con cuál cuenta concreta. Es como tener la puerta instalada antes de entregar la llave.

¿Cómo aplicar reglas de red a una storage account en Azure?

El puente se construye con storage account network-rule add. Este comando agrega una política dentro de la cuenta de almacenamiento que permite el paso solo a esa subred específica [5:00].

Fíjate en el detalle: ni siquiera todos los recursos de la vnet tienen acceso. Solo los que se desplieguen dentro de la subred autorizada. Granularidad pura.

Luego despliegas una máquina virtual con Ubuntu 24.04 dentro de esa misma subred, usando llaves SSH en lugar de escritorio remoto [6:00]. Ubuntu en la nube se administra por terminal, sin interfaz gráfica.

¿Cómo guardar la IP pública de una VM en una variable?

Aquí viene una técnica muy útil. En vez de copiar IPs a mano, usas una consulta JMESPath:

bash VM_PUBLIC_IP=$(az vm list-ip-addresses -g <grupo> --query "[].virtualMachine.network.publicIpAddresses[0].ipAddress" -o tsv)

Navegas dentro del JSON de respuesta hasta la propiedad publicIpAddresses y extraes el valor exacto que necesitas [7:30]. Luego confirmas con echo $VM_PUBLIC_IP y listo, esa IP queda disponible para el siguiente comando.

Con esa IP en la mano agregas otra network-rule, esta vez para que la cuenta de almacenamiento acepte conexiones desde esa dirección específica. Ahora tu storage queda restringido por vnet, subred e IP al mismo tiempo.

¿Cómo verificar el acceso privado desde una máquina virtual?

La prueba real se hace comparando dos terminales en paralelo. Una en tu equipo local (aminspinoza@compuamin) y otra dentro de la VM remota (azureuser@vm-platzi-endpoint) [10:00].

Dentro de la VM instalas Azure CLI y guardas la storage key en una variable usando otra consulta tipo query. Luego intentas crear un contenedor en la cuenta privada desde ambos lados:

  • Desde tu máquina local: el comando falla. Aparece un error indicando que una regla de red impide la operación.
  • Desde la VM remota: el contenedor se crea sin problema y devuelve created: true.

Esa es la confirmación visual de que el aislamiento funciona. La VM, al estar dentro de la subred autorizada, atraviesa el firewall lógico. Tu equipo personal no.

¿Por qué veo el contenedor en el portal si la cuenta es privada? Verlo listado no significa poder acceder a su contenido. El portal muestra el recurso, pero la regla de red sigue bloqueando la lectura y escritura desde orígenes no autorizados.

En el portal de Azure puedes confirmar la configuración entrando a Platzi privado, sección Seguridad y redes. Verás que el acceso ya no está habilitado desde todas las redes, sino desde redes virtuales y direcciones IP seleccionadas [12:00].

Variantes para experimentar con tu cuenta de almacenamiento

Este mismo patrón te permite combinar niveles de acceso y reglas de red según el caso de uso. Algunas pruebas valiosas:

  1. Cambia el nivel entre hot, cool y cold según la frecuencia de acceso a los datos.
  2. Elimina la regla de IP y observa si la VM sigue conectándose por la subred.
  3. Quita el service endpoint de la subred y revisa qué error aparece.
  4. Crea otra VM fuera de la subred autorizada y comprueba que el acceso falla.

Cada escenario te enseña algo distinto sobre cómo Azure interpreta las capas de seguridad. ¿Qué combinación probarías primero en tu propio entorno? Cuéntalo en los comentarios.