Как добавить виртуальную сеть в брандмауэр учётной записи хранения Azure между регионами и арендаторами

Добавление виртуальной сети из другого арендатора в брандмауэр учётной записи хранения Azure — распространённый сценарий для проверки подключения, безопасного обмена файлами или совместной работы партнёров. Это гарантирует, что доступ к данным ограничен конкретными сетями, а учётная запись хранения не открыта для всех сетей.

В этом руководстве мы сосредоточимся на достижении этой цели с помощью PowerShell и Azure CLI на локальных компьютерах. Мы также дадим советы и рекомендации для межрегиональных и межарендных конфигураций.


Основной сценарий использования

Этот подход идеален для таких сценариев, как:

  • Проверка подключения между приложениями в разных арендаторах или регионах.
  • Предоставление партнёрам или соавторам безопасного доступа к файлам без открытия учётной записи хранения для всех сетей.

Предварительные требования

Прежде чем продолжить, убедитесь в следующем:

  1. У вас есть доступ к подписке Azure, содержащей учётную запись хранения.
  2. У вас есть административные права для виртуальной сети и подсети в другом арендаторе или регионе.
  3. Вы установили необходимые инструменты: Azure PowerShell или Azure CLI.

Подход с PowerShell

Шаг 1. Установите модуль Az

Следуйте пошаговым инструкциям на Microsoft Learn, чтобы установить Azure PowerShell в Windows.

Шаг 2. Настройте виртуальную сеть и брандмауэр учётной записи хранения

Выполните следующие команды в сеансе 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

Подход с Azure CLI

Шаг 1. Установите Azure CLI

Следуйте руководству по установке для вашей платформы: Установка Azure CLI.

Шаг 2. Настройте виртуальную сеть и брандмауэр учётной записи хранения

Выполните следующие команды в сеансе 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

Особые соображения

Правила виртуальных сетей между арендаторами

Чтобы добавить сетевое правило для подсети в виртуальной сети, принадлежащей другому арендатор Microsoft Entra, необходимо использовать параметр VirtualNetworkResourceId с полным указанием. Формат следующий:

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

Убедитесь, что у вас есть правильный идентификатор подписки и сведения о группе ресурсов для виртуальной сети в другом арендаторе.

Межрегиональные конечные точки служб

Локальные и межрегиональные конечные точки служб не могут сосуществовать в одной подсети. Если нужно заменить существующие конечные точки служб межрегиональными:

  1. Удалите существующие Microsoft.Storage конечные точки.
  2. Создайте их заново как межрегиональные конечные точки (Microsoft.Storage.Global).

Дополнительные советы

  1. Проверка подключения
    После добавления правила виртуальной сети проверьте подключение к учётной записи хранения с помощью таких инструментов, как Azure Storage Explorer или конфигураций, специфичных для приложения.
  2. Ссылка на документацию
    Подробные инструкции см. в разделе Настройка брандмауэров службы хранилища Azure и виртуальных сетей.
  3. Вопросы стоимости
    • Включение конечных точек служб может повлечь дополнительные расходы в зависимости от вашей модели ценообразования Azure.
    • Межрегиональные конфигурации обычно влекут более высокие расходы на исходящий сетевой трафик.

Заключение

Добавление виртуальной сети из другого региона или арендатора в брандмауэр учётной записи хранения Azure — несложный процесс при использовании PowerShell или Azure CLI. Следуя шагам из этого руководства, вы сможете настроить безопасный доступ к учётной записи хранения, сохраняя строгие сетевые правила.

Оставить комментарий