ストレージ アカウントへのパブリック アクセスをすべて拒否し、特定の仮想ネットワーク サブネットからの要求を受け入れるように Azure ネットワーク設定を構成できます。 詳細については、 仮想ネットワーク サブネットに関するページを参照してください。
ストレージ アカウントに仮想ネットワーク規則を適用するには、追加するサブネットに対する適切なアクセス許可がユーザーに付与されている必要があります。
ストレージ アカウント共同作成者、または Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/actionAzure リソース プロバイダー操作に対するアクセス許可を持つユーザーは、カスタム Azure ロールを使用してルールを適用できます。
仮想ネットワーク規則を作成する
注
別の Microsoft Entra テナントの仮想ネットワークからのアクセスを有効にする場合は、PowerShell または Azure CLI を使用する必要があります。 Azure portal には、他の Microsoft Entra テナントのサブネットは表示されません。
仮想ネットワークとアクセスの規則を構成するストレージ アカウントに移動します。
サービス メニューの [ セキュリティ + ネットワーク] で [ ネットワーク] を選択し、[ リソース設定: 仮想ネットワーク、IP アドレス、例外] で [ 表示] を選択します。
[仮想ネットワーク] で、[既存の仮想ネットワークを追加する] を選択します。
[ ネットワークの追加] ウィンドウが表示されます。
[ 仮想ネットワーク ] ドロップダウン リストから、仮想ネットワークを選択します。
[ サブネット ] ドロップダウン リストから目的のサブネットを選択し、[ 追加] を選択します。
新しい仮想ネットワークを作成する必要がある場合は、[ 新しい仮想ネットワークの追加] を選択します。 新しい仮想ネットワークの作成に必要な情報を指定して、[作成] を選択します。 ルールの作成時に、同じ Microsoft Entra テナントに属する仮想ネットワークのみが選択対象として表示されます。 別のテナントに属する仮想ネットワーク内のサブネットへのアクセスを許可するには、PowerShell、Azure CLI、または REST API を使用します。
仮想ネットワークまたはサブネットの規則を削除するには、省略記号 ([...]) を選択して仮想ネットワークまたはサブネットのコンテキスト メニューを開き、[削除] を選択します。
[保存] を選択して変更を保存します。
Von Bedeutung
ネットワークルールに含まれているサブネットを削除すると、ストレージ アカウントのネットワークルールから削除されます。 同じ名前の新しいサブネットを作成した場合、ストレージ アカウントにアクセスすることはできません。 アクセスを許可するには、ストレージ アカウントのネットワーク ルールで新しいサブネットを明示的に承認する必要があります。
Azure PowerShell をインストールして Azure にサインインします。
特定の仮想ネットワークからのトラフィックのみを許可するには、Update-AzStorageAccountNetworkRuleSet コマンドを使用し、-DefaultAction パラメーターを Deny に設定します。
Update-AzStorageAccountNetworkRuleSet -ResourceGroupName "myresourcegroup" -Name "mystorageaccount" -DefaultAction Deny
Von Bedeutung
-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
Von Bedeutung
--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
こちらも参照ください