스토리지 계정에 대한 모든 공용 액세스를 거부한 다음 특정 가상 네트워크 서브넷에서 시작된 요청을 수락하도록 Azure 네트워크 설정을 구성할 수 있습니다. 자세한 내용은 가상 네트워크 서브넷을 참조하세요.
스토리지 계정에 가상 네트워크 규칙을 적용하려면 사용자에게 추가되는 서브넷에 대한 적절한 권한이 있어야 합니다.
스토리지 계정 기여자 또는 Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action
대한 권한이 있는 사용자는 사용자 지정 Azure 역할을 사용하여 규칙을 적용할 수 있습니다.
가상 네트워크 규칙 만들기
비고
다른 Microsoft Entra 테넌트에서 가상 네트워크에서 액세스를 사용하도록 설정하려면 PowerShell 또는 Azure CLI를 사용해야 합니다. Azure Portal은 다른 Microsoft Entra 테넌트의 서브넷을 표시하지 않습니다.
가상 네트워크 및 액세스 규칙을 구성하려는 스토리지 계정으로 이동합니다.
서비스 메뉴의 보안 + 네트워킹에서 네트워킹을 선택한 다음 리소스 설정에서 가상 네트워크, IP 주소 및 예외에서 보기를 선택합니다.
가상 네트워크에서 기존 가상 네트워크 추가를 선택합니다.
네트워크 추가 창이 나타납니다.
가상 네트워크 드롭다운 목록에서 가상 네트워크를 선택합니다.
서브넷 드롭다운 목록에서 원하는 서브넷을 선택한 다음, 추가를 선택합니다.
새 가상 네트워크를 만들어야 하는 경우 새 가상 네트워크 추가를 선택합니다. 새 가상 네트워크를 만드는 데 필요한 정보를 제공한 다음 만들기를 선택합니다. 규칙을 만드는 동안 동일한 Microsoft Entra 테넌트에 속하는 가상 네트워크만 선택 영역에 표시됩니다. 다른 테넌트에 속한 가상 네트워크의 서브넷에 대한 액세스 권한을 부여하려면 PowerShell, Azure CLI 또는 REST API를 사용합니다.
가상 네트워크 또는 서브넷 규칙을 제거하려면 줄임표(...)를 선택하여 가상 네트워크 또는 서브넷에 대한 상황에 맞는 메뉴를 연 다음 제거를 선택합니다.
저장을 선택하여 변경 내용을 적용합니다.
중요합니다
네트워크 규칙에 포함된 서브넷을 삭제하면 스토리지 계정에 대한 네트워크 규칙에서 제거됩니다. 이름이 같은 새 서브넷을 만드는 경우 스토리지 계정에 액세스할 수 없습니다. 액세스를 허용하려면 스토리지 계정에 대한 네트워크 규칙에서 새 서브넷에 명시적으로 권한을 부여해야 합니다.
Azure PowerShell을 설치하고 로그인합니다.
특정 가상 네트워크의 트래픽만 허용하려면 Update-AzStorageAccountNetworkRuleSet
명령을 사용하고 -DefaultAction
매개 변수를 Deny
로 설정합니다.
Update-AzStorageAccountNetworkRuleSet -ResourceGroupName "myresourcegroup" -Name "mystorageaccount" -DefaultAction Deny
중요합니다
매개 변수-DefaultAction
를 Deny
로 설정하지 않으면 네트워크 규칙은 적용되지 않습니다. 그러나 이 설정을 변경하면 애플리케이션이 Azure Storage에 연결하는 기능에 영향을 미칠 수 있습니다. 이 설정을 변경하기 전에 허용된 네트워크에 대한 액세스 권한을 부여하거나 프라이빗 엔드포인트를 통해 액세스를 설정해야 합니다.
가상 네트워크 규칙을 나열합니다.
(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-action
를 Deny
로 설정하지 않으면 네트워크 규칙은 적용되지 않습니다. 그러나 이 설정을 변경하면 애플리케이션이 Azure Storage에 연결하는 기능에 영향을 미칠 수 있습니다. 이 설정을 변경하기 전에 허용된 네트워크에 대한 액세스 권한을 부여하거나 프라이빗 엔드포인트를 통해 액세스를 설정해야 합니다.
가상 네트워크 규칙을 나열합니다.
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>
형식의 정규화된 서브넷 ID를 사용합니다.
subscription
매개 변수를 사용하여 다른 Microsoft Entra 테넌트에 속하는 가상 네트워크의 서브넷 ID를 검색할 수 있습니다.
가상 네트워크 및 서브넷에 대한 네트워크 규칙을 제거합니다.
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
참고하십시오