Вы можете запретить весь общедоступный доступ к учетной записи хранения, а затем настроить параметры сети Azure, чтобы принимать запросы, исходящие из определенных подсетей виртуальной сети. Дополнительные сведения см. в подразделах виртуальной сети.
Чтобы применить правило виртуальной сети к учетной записи хранения, пользователь должен иметь соответствующие разрешения для добавляемых подсетей.
Участник учетной записи хранения или пользователь, имеющий разрешение на Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/actionоперацию поставщика ресурсов Azure, может применять правило с помощью настраиваемой роли Azure.
Создание правила виртуальной сети
Замечание
Если вы хотите включить доступ из виртуальной сети в другом клиенте Microsoft Entra, необходимо использовать PowerShell или Azure CLI. Портал Azure не отображает подсети в других клиентах Microsoft Entra.
Перейдите к учетной записи хранения, для которой требуется настроить правила виртуальной сети и доступа.
В меню службы в разделе "Безопасность и сеть" выберите " Сеть", а затем в разделе "Параметры ресурсов": "Виртуальные сети", "IP-адреса" и "Исключения" выберите"Вид".
В разделе Виртуальные сетивыберите Добавить существующую виртуальную сеть.
Откроется панель "Добавить сети ".
В раскрывающемся списке "Виртуальные сети" выберите виртуальную сеть.
В раскрывающемся списке подсетей выберите нужные подсети , а затем нажмите кнопку "Добавить".
Если вам нужно создать новую виртуальную сеть, выберите "Добавить новую виртуальную сеть". Укажите необходимые сведения для создания новой виртуальной сети и нажмите кнопку "Создать". Во время создания правила отображаются только виртуальные сети, принадлежащие одному клиенту Microsoft Entra. Чтобы предоставить доступ к подсети в виртуальной сети, которая принадлежит другому клиенту, используйте PowerShell, Azure CLI или REST API.
Чтобы удалить правило виртуальной сети или подсети, выберите многоточие (...), чтобы открыть контекстное меню для виртуальной сети или подсети, а затем нажмите кнопку "Удалить".
Нажмите кнопку Сохранить, чтобы применить изменения.
Это важно
Если удалить подсеть, включенную в сетевое правило, она удаляется из сетевых правил учетной записи хранилища. При создании новой подсети с тем же именем он не будет иметь доступа к учетной записи хранения. Чтобы разрешить ей доступ, необходимо явно авторизовать новую подсеть в правилах сети для учетной записи хранения.
Установите Azure PowerShell и выполните вход.
Чтобы разрешить трафик только из определенных виртуальных сетей, используйте команду Update-AzStorageAccountNetworkRuleSet и задайте параметру -DefaultAction значение Deny:
Update-AzStorageAccountNetworkRuleSet -ResourceGroupName "myresourcegroup" -Name "mystorageaccount" -DefaultAction Deny
Это важно
Сетевые правила не действуют, если параметр не установлен на -DefaultActionDeny. Однако изменение этого параметра может повлиять на возможность подключения приложения к служба хранилища Azure. Перед изменением этого параметра не забудьте предоставить доступ к любым разрешенным сетям или настроить доступ через частную конечную точку.
Список правил виртуальной сети:
(Get-AzStorageAccountNetworkRuleSet -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount").VirtualNetworkRules
Включите конечную точку службы для Azure Storage в существующей виртуальной сети и подсети.
Get-AzVirtualNetwork -ResourceGroupName "myresourcegroup" -Name "myvnet" | Set-AzVirtualNetworkSubnetConfig -Name "mysubnet" -AddressPrefix "10.0.0.0/24" -ServiceEndpoint "Microsoft.Storage.Global" | Set-AzVirtualNetwork
Добавьте правило сети для виртуальной сети и подсети:
$subnet = Get-AzVirtualNetwork -ResourceGroupName "myresourcegroup" -Name "myvnet" | Get-AzVirtualNetworkSubnetConfig -Name "mysubnet"
Add-AzStorageAccountNetworkRule -ResourceGroupName "myresourcegroup" -Name "mystorageaccount" -VirtualNetworkResourceId $subnet.Id
Чтобы добавить сетевое правило для подсети в виртуальной сети, принадлежащей другому клиенту Microsoft Entra, используйте полностью квалифицированный VirtualNetworkResourceId параметр в форме /subscriptions/subscription-ID/resourceGroups/resourceGroup-Name/providers/Microsoft.Network/virtualNetworks/vNet-name/subnets/subnet-name.
Удалите сетевое правило для виртуальной сети и подсети:
$subnet = Get-AzVirtualNetwork -ResourceGroupName "myresourcegroup" -Name "myvnet" | Get-AzVirtualNetworkSubnetConfig -Name "mysubnet"
Remove-AzStorageAccountNetworkRule -ResourceGroupName "myresourcegroup" -Name "mystorageaccount" -VirtualNetworkResourceId $subnet.Id
Установите Azure CLI и выполните вход.
Чтобы разрешить трафик только из определенных виртуальных сетей, используйте команду az storage account update и задайте параметру --default-action значение Deny:
az storage account update --resource-group "myresourcegroup" --name "mystorageaccount" --default-action Deny
Это важно
Сетевые правила не действуют, если параметр не установлен на --default-actionDeny. Однако изменение этого параметра может повлиять на возможность подключения приложения к служба хранилища Azure. Перед изменением этого параметра не забудьте предоставить доступ к любым разрешенным сетям или настроить доступ через частную конечную точку.
Список правил виртуальной сети:
az storage account network-rule list --resource-group "myresourcegroup" --account-name "mystorageaccount" --query virtualNetworkRules
Включите конечную точку службы для Azure Storage в существующей виртуальной сети и подсети.
az network vnet subnet update --resource-group "myresourcegroup" --vnet-name "myvnet" --name "mysubnet" --service-endpoints "Microsoft.Storage.Global"
Добавьте правило сети для виртуальной сети и подсети:
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, используйте полный идентификатор подсети в форме /subscriptions/<subscription-ID>/resourceGroups/<resourceGroup-Name>/providers/Microsoft.Network/virtualNetworks/<vNet-name>/subnets/<subnet-name>. Этот параметр можно использовать subscription для получения идентификатора подсети для виртуальной сети, которая принадлежит другому клиенту Microsoft Entra.
Удалите сетевое правило для виртуальной сети и подсети:
subnetid=$(az network vnet subnet show --resource-group "myresourcegroup" --vnet-name "myvnet" --name "mysubnet" --query id --output tsv)
az storage account network-rule remove --resource-group "myresourcegroup" --account-name "mystorageaccount" --subnet $subnetid
См. также