Cómo agregar una red virtual al firewall de una cuenta de Azure Storage entre regiones e inquilinos

Agregar una red virtual de otro inquilino al firewall de una cuenta de Azure Storage es un escenario habitual para probar la conectividad, compartir archivos de forma segura o permitir la colaboración entre socios. Esto garantiza que el acceso a los datos se limite a redes concretas sin exponer la cuenta de almacenamiento a todas las redes.

En esta guía, nos centraremos en lograr este objetivo usando PowerShell y Azure CLI en máquinas locales. También daremos consejos y consideraciones para configuraciones entre regiones y entre inquilinos.


Caso de uso principal

Este enfoque es ideal para situaciones como:

  • Probar la conectividad entre aplicaciones de distintos inquilinos o regiones.
  • Permitir que socios o colaboradores accedan a los archivos de forma segura sin abrir la cuenta de almacenamiento a todas las redes.

Requisitos previos

Antes de continuar, asegúrate de lo siguiente:

  1. Tienes acceso a la suscripción de Azure que contiene la cuenta de almacenamiento.
  2. Tienes privilegios administrativos sobre la red virtual y la subred del otro inquilino o la otra región.
  3. Has instalado las herramientas necesarias: Azure PowerShell o Azure CLI.

Enfoque con PowerShell

Paso 1: instalar el módulo Az

Sigue las instrucciones paso a paso de Microsoft Learn para instalar Azure PowerShell en Windows.

Paso 2: configurar la red virtual y el firewall de la cuenta de almacenamiento

Ejecuta los siguientes comandos en tu sesión de PowerShell:

# Import Az.Storage module
Import-Module -Name Az.Storage

# Authenticate and connect to your Azure account
Connect-AzAccount

# Select the subscription containing the storage account
Select-AzSubscription -SubscriptionId "xxxx-xxxx-xxxx-xxxx"

# List existing virtual network rules for the storage account
(Get-AzStorageAccountNetworkRuleSet -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount").VirtualNetworkRules

# Enable a service endpoint for Azure Storage on an existing virtual network and subnet
Get-AzVirtualNetwork -ResourceGroupName "myresourcegroup" -Name "myvnet" | Set-AzVirtualNetworkSubnetConfig -Name "mysubnet" -AddressPrefix "10.0.0.0/24" -ServiceEndpoint "Microsoft.Storage.Global" | Set-AzVirtualNetwork

# Add a network rule for the virtual network and subnet
$subnet = Get-AzVirtualNetwork -ResourceGroupName "myresourcegroup" -Name "myvnet" | Get-AzVirtualNetworkSubnetConfig -Name "mysubnet"
Add-AzStorageAccountNetworkRule -ResourceGroupName "myresourcegroup" -Name "mystorageaccount" -VirtualNetworkResourceId $subnet.Id

Enfoque con Azure CLI

Paso 1: instalar Azure CLI

Sigue la guía de instalación para tu plataforma: Instalar Azure CLI.

Paso 2: configurar la red virtual y el firewall de la cuenta de almacenamiento

Ejecuta los siguientes comandos en tu sesión de CLI:

# Authenticate and sign in to your Azure account
az login

# List existing virtual network rules for the storage account
az storage account network-rule list --resource-group "myresourcegroup" --account-name "mystorageaccount" --query virtualNetworkRules

# Enable a service endpoint for Azure Storage on an existing virtual network and subnet
az network vnet subnet update --resource-group "myresourcegroup" --vnet-name "myvnet" --name "mysubnet" --service-endpoints "Microsoft.Storage.Global"

# Add a network rule for the virtual network and subnet
subnetid=$(az network vnet subnet show --resource-group "myresourcegroup" --vnet-name "myvnet" --name "mysubnet" --query id --output tsv)
az storage account network-rule add --resource-group "myresourcegroup" --account-name "mystorageaccount" --subnet $subnetid

Consideraciones especiales

Reglas de red virtual entre inquilinos

Para agregar una regla de red para una subred de una red virtual que pertenece a otro inquilino de Microsoft Entra, debes usar el parámetro VirtualNetworkResourceId completo. El formato es el siguiente:

/subscriptions/<subscription-ID>/resourceGroups/<resourceGroup-Name>/providers/Microsoft.Network/virtualNetworks/<vNet-name>/subnets/<subnet-name>

Asegúrate de tener el ID de suscripción correcto y los datos del grupo de recursos de la red virtual del otro inquilino.

Puntos de conexión de servicio entre regiones

Los puntos de conexión de servicio locales y entre regiones no pueden coexistir en la misma subred. Si necesitas sustituir los puntos de conexión existentes por otros entre regiones:

  1. Elimina los puntos de conexión Microsoft.Storage existentes.
  2. Vuelve a crearlos como puntos de conexión entre regiones (Microsoft.Storage.Global).

Consejos adicionales

  1. Probar la conectividad
    Después de agregar la regla de red virtual, prueba la conectividad con la cuenta de almacenamiento con herramientas como Azure Storage Explorer o configuraciones específicas de la aplicación.
  2. Referencia de documentación
    Para obtener instrucciones detalladas, consulta Configurar firewalls y redes virtuales de Azure Storage.
  3. Consideraciones de coste
    • Habilitar puntos de conexión de servicio puede suponer costes adicionales según tu modelo de precios de Azure.
    • Las configuraciones entre regiones suelen implicar mayores cargos por salida de red.

Conclusión

Agregar una red virtual de otra región u otro inquilino al firewall de una cuenta de Azure Storage es un proceso sencillo si usas PowerShell o Azure CLI. Si sigues los pasos descritos en esta guía, puedes configurar un acceso seguro a tu cuenta de almacenamiento sin dejar de aplicar reglas de red estrictas.

Deja un comentario