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:
- Tienes acceso a la suscripción de Azure que contiene la cuenta de almacenamiento.
- Tienes privilegios administrativos sobre la red virtual y la subred del otro inquilino o la otra región.
- 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:
- Elimina los puntos de conexión
Microsoft.Storageexistentes. - Vuelve a crearlos como puntos de conexión entre regiones (
Microsoft.Storage.Global).
Consejos adicionales
- 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. - Referencia de documentación
Para obtener instrucciones detalladas, consulta Configurar firewalls y redes virtuales de Azure Storage. - 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.