Azure Storage ファイアウォールおよび仮想ネットワークを構成するConfigure Azure Storage firewalls and virtual networks

Azure Storage では、多層型セキュリティ モデルが提供されています。Azure Storage provides a layered security model. このモデルでは、使用されるネットワークの種類とサブネットに基づいて、アプリケーションやエンタープライズ環境で求められるストレージ アカウントへのアクセス レベルを確保して制御できます。This model enables you to secure and control the level of access to your storage accounts that your applications and enterprise environments demand, based on the type and subset of networks used. ネットワーク ルールを構成すると、指定したネットワークのセットを経由してデータを要求しているアプリケーションのみが、ストレージ アカウントにアクセスできます。When network rules are configured, only applications requesting data over the specified set of networks can access a storage account. ストレージ アカウントへのアクセスを、Azure 仮想ネットワーク (VNet) 内の指定した IP アドレス、IP 範囲、またはサブネットのリストから発信された要求に制限できます。You can limit access to your storage account to requests originating from specified IP addresses, IP ranges or from a list of subnets in an Azure Virtual Network (VNet).

ストレージ アカウントには、インターネットを介してアクセスできるパブリック エンドポイントがあります。Storage accounts have a public endpoint that is accessible through the internet. また、自分のストレージ アカウント用にプライベート エンドポイントを作成することもできます。自分の VNet からストレージ アカウントにプライベート IP アドレスを割り当てて、プライベート リンクを介して VNet とストレージ アカウントの間のトラフィックをすべて保護できます。You can also create Private Endpoints for your storage account, which assigns a private IP address from your VNet to the storage account, and secures all traffic between your VNet and the storage account over a private link. Azure ストレージ ファイアウォールを使用すると、自分のストレージ アカウントのパブリック エンドポイントへのアクセスを制御できます。The Azure storage firewall provides access control access for the public endpoint of your storage account. プライベート エンドポイントの使用時には、パブリック エンドポイント経由のすべてのアクセスをブロックするためにファイアウォールを使用することもできます。You can also use the firewall to block all access through the public endpoint when using private endpoints. また、ストレージ ファイアウォールは、信頼された一部の Azure プラットフォーム サービスがストレージ アカウントに安全にアクセスできるよう構成することもできます。Your storage firewall configuration also enables select trusted Azure platform services to access the storage account securely.

ネットワーク規則が有効なときにストレージ アカウントにアクセスするアプリケーションでも、要求に対する適切な承認が必要です。An application that accesses a storage account when network rules are in effect still requires proper authorization for the request. 認可は、BLOB とキューに対する Azure Active Directory (Azure AD) の資格情報、有効なアカウント アクセス キー、または SAS トークンでサポートされています。Authorization is supported with Azure Active Directory (Azure AD) credentials for blobs and queues, with a valid account access key, or with an SAS token.

重要

ストレージ アカウントのファイアウォール規則を有効にすると、Azure 仮想ネットワーク (VNet) 内で動作しているサービス、または許可されたパブリック IP アドレスから送信された要求でない限り、データに対して受信した要求は既定でブロックされます。Turning on firewall rules for your storage account blocks incoming requests for data by default, unless the requests originate from a service operating within an Azure Virtual Network (VNet) or from allowed public IP addresses. ブロックされる要求には、他の Azure サービスからの要求、Azure portal からの要求、ログおよびメトリック サービスからの要求などが含まれます。Requests that are blocked include those from other Azure services, from the Azure portal, from logging and metrics services, and so on.

サービス インスタンスがホストされているサブネットからのトラフィックを許可することで、VNet 内で動作する Azure サービスにアクセス権を付与できます。You can grant access to Azure services that operate from within a VNet by allowing traffic from the subnet hosting the service instance. また、以下で説明する例外メカニズムによって、限られた数のシナリオを有効にすることもできます。You can also enable a limited number of scenarios through the Exceptions mechanism described below. Azure portal を通してストレージ アカウントからデータにアクセスするには、設定済みの信頼できる境界 (IP または VNet) 内のコンピューター上にいる必要があります。To access data from the storage account through the Azure portal, you would need to be on a machine within the trusted boundary (either IP or VNet) that you set up.

注意

この記事は、新しい Azure PowerShell Az モジュールを使用するために更新されました。This article has been updated to use the new Azure PowerShell Az module. AzureRM モジュールはまだ使用でき、少なくとも 2020 年 12 月までは引き続きバグ修正が行われます。You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Az モジュールと AzureRM の互換性の詳細については、「Introducing the new Azure PowerShell Az module (新しい Azure PowerShell Az モジュールの概要)」を参照してください。To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az モジュールのインストール手順については、Azure PowerShell のインストールを参照してください。For Az module installation instructions, see Install Azure PowerShell.

シナリオScenarios

ストレージ アカウントをセキュリティで保護するには、最初に、既定ではパブリック エンドポイントですべてのネットワークからのトラフィック (インターネット トラフィックなど) にアクセスを許可しないことを規則として構成する必要があります。To secure your storage account, you should first configure a rule to deny access to traffic from all networks (including internet traffic) on the public endpoint, by default. 次に、特定の VNet からのトラフィックにアクセスを許可するルールを構成する必要があります。Then, you should configure rules that grant access to traffic from specific VNets. また、選択したパブリック インターネット IP アドレス範囲からのトラフィックにアクセスを許可して、インターネットやオンプレミスの特定のクライアントからの接続を有効にすることもできます。You can also configure rules to grant access to traffic from select public internet IP address ranges, enabling connections from specific internet or on-premises clients. この構成では、アプリケーションに対してセキュリティで保護されたネットワーク境界を構築することができます。This configuration enables you to build a secure network boundary for your applications.

同じストレージ アカウントでは、ファイアウォール規則を組み合わせて、特定の仮想ネットワークからとパブリック IP アドレス範囲からのアクセスを許可することができます。You can combine firewall rules that allow access from specific virtual networks and from public IP address ranges on the same storage account. ストレージ ファイアウォール規則は、既存のストレージ アカウントに適用できます。または、新しいストレージ アカウントの作成時に適用できます。Storage firewall rules can be applied to existing storage accounts, or when creating new storage accounts.

ストレージ ファイアウォール規則は、ストレージ アカウントのパブリック エンドポイントに適用されます。Storage firewall rules apply to the public endpoint of a storage account. ストレージ アカウントのプライベート エンドポイントへのトラフィックを許可するのにファイアウォール アクセス規則は必要ありません。You don't need any firewall access rules to allow traffic for private endpoints of a storage account. プライベート エンドポイントの作成を承認するプロセスで、プライベート エンドポイントをホストするサブネットからのトラフィックへのアクセスが暗黙的に許可されます。The process of approving the creation of a private endpoint grants implicit access to traffic from the subnet that hosts the private endpoint.

Azure Storage に対して、REST や SMB などのすべてのネットワーク プロトコルにネットワーク ルールが適用されます。Network rules are enforced on all network protocols to Azure storage, including REST and SMB. Azure portal、Storage Explorer、AZCopy などのツールを使用してデータにアクセスするには、明示的なネットワーク ルールを構成する必要があります。To access data using tools such as the Azure portal, Storage Explorer, and AZCopy, explicit network rules must be configured.

適用したネットワーク ルールは、すべての要求に対して適用されます。Once network rules are applied, they're enforced for all requests. 特定の IP アドレスへのアクセスを許可する SAS トークンは、トークン所有者のアクセスを制限する働きをしますが、構成されているネットワーク ルールを超えて新しいアクセスを許可することはありません。SAS tokens that grant access to a specific IP address serve to limit the access of the token holder, but don't grant new access beyond configured network rules.

仮想マシン ディスクのトラフィック (マウントとマウント解除、およびディスク IO を含む) は、ネットワーク ルールによる影響を受けません。Virtual machine disk traffic (including mount and unmount operations, and disk IO) is not affected by network rules. ページ BLOB への REST アクセスはネットワーク ルールによって保護されています。REST access to page blobs is protected by network rules.

従来のストレージ アカウントでは、ファイアウォールと仮想ネットワークはサポートされていません。Classic storage accounts do not support firewalls and virtual networks.

ネットワーク ルールが適用されたストレージ アカウントでアンマネージド ディスクを使用し、例外を作成することにより、VM をバックアップおよび復元できます。You can use unmanaged disks in storage accounts with network rules applied to backup and restore VMs by creating an exception. このプロセスについては、この記事の「例外」セクションをご覧ください。This process is documented in the Exceptions section of this article. ファイアウォールの例外は Azure によって既に管理されているので、マネージド ディスクには適用されません。Firewall exceptions aren't applicable with managed disks as they're already managed by Azure.

既定のネットワーク アクセス ルールの変更Change the default network access rule

既定では、ストレージ アカウントは、任意のネットワーク上のクライアントからの接続を受け入れます。By default, storage accounts accept connections from clients on any network. 選択したネットワークへのアクセスを制限するには、まず既定のアクションを変更する必要があります。To limit access to selected networks, you must first change the default action.

警告

ネットワーク ルールを変更すると、Azure Storage に接続するアプリケーションの機能に影響が及ぶことがあります。Making changes to network rules can impact your applications' ability to connect to Azure Storage. 既定のネットワーク ルールを拒否に設定すると、アクセスを許可する特定のネットワーク ルールも合わせて適用されていない限り、データへのアクセスがすべてブロックされます。Setting the default network rule to deny blocks all access to the data unless specific network rules that grant access are also applied. アクセスを拒否する既定のルールを変更する前に、ネットワーク ルールを使用して、許可されたネットワークへのアクセスを許可するようにしてください。Be sure to grant access to any allowed networks using network rules before you change the default rule to deny access.

既定のネットワーク アクセス ルールを管理するManaging default network access rules

Azure portal、PowerShell、または CLIv2 を使用して、ストレージ アカウントに対する既定のネットワーク アクセス ルールを管理できます。You can manage default network access rules for storage accounts through the Azure portal, PowerShell, or CLIv2.

Azure portalAzure portal

  1. セキュリティで保護するストレージ アカウントに移動します。Go to the storage account you want to secure.

  2. [Firewalls and virtual networks] (ファイアウォールおよび仮想ネットワーク) という設定メニューをクリックします。Click on the settings menu called Firewalls and virtual networks.

  3. 既定でアクセスを拒否するには、 [選択されたネットワーク] からのアクセスを許可するように選択します。To deny access by default, choose to allow access from Selected networks. すべてのネットワークからのトラフィックを許可するには、 [すべてのネットワーク] からのアクセスを許可するように選択します。To allow traffic from all networks, choose to allow access from All networks.

  4. [保存] をクリックして変更を保存します。Click Save to apply your changes.

PowerShellPowerShell

  1. Azure PowerShell をインストールしてサインインします。Install the Azure PowerShell and sign in.

  2. ストレージ アカウントの既定のルールの状態を表示します。Display the status of the default rule for the storage account.

    (Get-AzStorageAccountNetworkRuleSet -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount").DefaultAction
    
  3. 既定でネットワーク アクセスを拒否する既定のルールを設定します。Set the default rule to deny network access by default.

    Update-AzStorageAccountNetworkRuleSet -ResourceGroupName "myresourcegroup" -Name "mystorageaccount" -DefaultAction Deny
    
  4. 既定でネットワーク アクセスを許可する既定のルールを設定します。Set the default rule to allow network access by default.

    Update-AzStorageAccountNetworkRuleSet -ResourceGroupName "myresourcegroup" -Name "mystorageaccount" -DefaultAction Allow
    

CLIv2CLIv2

  1. Azure CLI をインストールしてサインインします。Install the Azure CLI and sign in.

  2. ストレージ アカウントの既定のルールの状態を表示します。Display the status of the default rule for the storage account.

    az storage account show --resource-group "myresourcegroup" --name "mystorageaccount" --query networkRuleSet.defaultAction
    
  3. 既定でネットワーク アクセスを拒否する既定のルールを設定します。Set the default rule to deny network access by default.

    az storage account update --resource-group "myresourcegroup" --name "mystorageaccount" --default-action Deny
    
  4. 既定でネットワーク アクセスを許可する既定のルールを設定します。Set the default rule to allow network access by default.

    az storage account update --resource-group "myresourcegroup" --name "mystorageaccount" --default-action Allow
    

仮想ネットワークからアクセスの許可Grant access from a virtual network

特定のサブネットからのアクセスのみを許可するように、ストレージ アカウントを構成できます。You can configure storage accounts to allow access only from specific subnets. 許可するサブネットは、同じサブスクリプション内の VNet に属していても、または異なる Azure Active Directory テナントに属するサブスクリプションなど、異なるサブスクリプション内のものであってもかまいません。The allowed subnets may belong to a VNet in the same subscription, or those in a different subscription, including subscriptions belonging to a different Azure Active Directory tenant.

VNet 内の Azure Storage に対するサービス エンドポイントを有効にします。Enable a Service endpoint for Azure Storage within the VNet. サービス エンドポイントでは、VNet からのトラフィックが、最適なパスを経由して、Azure Storage サービスにルーティングされます。The service endpoint routes traffic from the VNet through an optimal path to the Azure Storage service. サブネットと仮想ネットワークの ID も、各要求と一緒に転送されます。The identities of the subnet and the virtual network are also transmitted with each request. 管理者は、その後、VNet 内の特定のサブネットからの要求の受信を許可するネットワーク ルールを、ストレージ アカウントに対して構成できます。Administrators can then configure network rules for the storage account that allow requests to be received from specific subnets in a VNet. これらのネットワーク ルールによってアクセスを許可されたクライアントがデータにアクセスするには、ストレージ アカウントの認可要件を引き続き満たす必要があります。Clients granted access via these network rules must continue to meet the authorization requirements of the storage account to access the data.

各ストレージ アカウントでは最大 100 個の仮想ネットワーク規則がサポートされ、それを IP ネットワーク ルールと組み合わせることができます。Each storage account supports up to 100 virtual network rules, which may be combined with IP network rules.

使用可能な仮想ネットワークのリージョンAvailable virtual network regions

一般に、サービス エンドポイントは、同じ Azure リージョン内の仮想ネットワークとサービス インスタンスの間で機能します。In general, service endpoints work between virtual networks and service instances in the same Azure region. サービス エンドポイントを Azure Storage と共に使用すると、この範囲はペアのリージョンを含むように拡張されます。When using service endpoints with Azure Storage, this scope grows to include the paired region. サービス エンドポイントにより、リージョンのフェールオーバー時の継続性と、読み取り専用の geo 冗長ストレージ (RA-GRS) インスタンスへのアクセスが実現されます。Service endpoints allow continuity during a regional failover and access to read-only geo-redundant storage (RA-GRS) instances. 仮想ネットワークからストレージ アカウントへのアクセスを許可するネットワー ルールでは、任意の RA-GRS インスタンスへのアクセスも許可します。Network rules that grant access from a virtual network to a storage account also grant access to any RA-GRS instance.

リージョンが停止したときのディザスター リカバリーを計画するときは、ペアのリージョン内にあらかじめ VNet を作成しておく必要があります。When planning for disaster recovery during a regional outage, you should create the VNets in the paired region in advance. これらの代替仮想ネットワークからのアクセスを許可するネットワーク ルールで、Azure Storage 用のサービス エンドポイントを有効にします。Enable service endpoints for Azure Storage, with network rules granting access from these alternative virtual networks. その後、これらのルールを geo 冗長ストレージ アカウントに適用します。Then apply these rules to your geo-redundant storage accounts.

注意

サービス エンドポイントは、仮想ネットワークのリージョンと指定されたリージョン ペアの外部のトラフィックには適用されません。Service endpoints don't apply to traffic outside the region of the virtual network and the designated region pair. 仮想ネットワークからストレージ アカウントへのアクセスを許可するネットワーク ルールは、ストレージ アカウントのプライマリ リージョン内または指定したペアのリージョン内でのみ適用できます。You can only apply network rules granting access from virtual networks to storage accounts in the primary region of a storage account or in the designated paired region.

必要なアクセス許可Required permissions

ストレージ アカウントに仮想ネットワーク規則を適用するには、追加されるサブネットに対する適切なアクセス許可を持っている必要があります。To apply a virtual network rule to a storage account, the user must have the appropriate permissions for the subnets being added. 必要なアクセス許可は "サブネットにサービスを参加させる" であり、"ストレージ アカウント共同作成者" 組み込みロールに含まれます。The permission needed is Join Service to a Subnet and is included in the Storage Account Contributor built-in role. カスタム ロール定義に追加することもできます。It can also be added to custom role definitions.

ストレージ アカウントとアクセスを許可される仮想ネットワークは、異なる Azure AD テナントの一部であるサブスクリプションなど、異なるサブスクリプションに含まれていてもかまいません。Storage account and the virtual networks granted access may be in different subscriptions, including subscriptions that are a part of a different Azure AD tenant.

注意

異なる Azure Active Directory テナントの一部である仮想ネットワーク内のサブネットへのアクセスを許可するルールの構成は、現在、Powershell、CLI、および REST API でのみサポートされています。Configuration of rules that grant access to subnets in virtual networks that are a part of a different Azure Active Directory tenant are currently only supported through Powershell, CLI and REST APIs. このようなルールを Azure portal を使用して構成することはできませんが、ポータルで表示することはできます。Such rules cannot be configured through the Azure portal, though they may be viewed in the portal.

仮想ネットワーク規則の管理Managing virtual network rules

ストレージ アカウントの仮想ネットワーク規則は、Azure portal、PowerShell、または CLIv2 で管理できます。You can manage virtual network rules for storage accounts through the Azure portal, PowerShell, or CLIv2.

Azure portalAzure portal

  1. セキュリティで保護するストレージ アカウントに移動します。Go to the storage account you want to secure.

  2. [Firewalls and virtual networks] (ファイアウォールおよび仮想ネットワーク) という設定メニューをクリックします。Click on the settings menu called Firewalls and virtual networks.

  3. [選択されたネットワーク] からのアクセスを許可するように選択していることを確認します。Check that you've selected to allow access from Selected networks.

  4. 新しいネットワーク ルールで仮想ネットワークへのアクセスを許可するには、 [仮想ネットワーク] で、 [既存の仮想ネットワークを追加] をクリックし、 [仮想ネットワーク][サブネット] オプションの順に選択して、 [追加] をクリックします。To grant access to a virtual network with a new network rule, under Virtual networks, click Add existing virtual network, select Virtual networks and Subnets options, and then click Add. 新しい仮想ネットワークを作成してアクセスを許可するには、 [新しい仮想ネットワークを追加] をクリックします。To create a new virtual network and grant it access, click Add new virtual network. 新しい仮想ネットワークの作成に必要な情報を指定して、 [作成] をクリックします。Provide the information necessary to create the new virtual network, and then click Create.

    注意

    Azure Storage 用のサービス エンドポイントが、選択した仮想ネットワークとサブネットに対してまだ構成されていない場合は、この操作の中で構成することができます。If a service endpoint for Azure Storage wasn't previously configured for the selected virtual network and subnets, you can configure it as part of this operation.

    現在、ルールの作成時に選択できるのは、同じ Azure Active Directory テナントに属する仮想ネットワークのみです。Presently, only virtual networks belonging to the same Azure Active Directory tenant are shown for selection during rule creation. 別のテナントに属する仮想ネットワーク内のサブネットにアクセスを許可するには、Powershell、CLI、または REST API を使用してください。To grant access to a subnet in a virtual network belonging to another tenant, please use Powershell, CLI or REST APIs.

  5. 仮想ネットワークまたはサブネットのルールを削除するには、 [...] をクリックして仮想ネットワークまたはサブネットのコンテキスト メニューを開き、 [削除] をクリックします。To remove a virtual network or subnet rule, click ... to open the context menu for the virtual network or subnet, and click Remove.

  6. [保存] をクリックして変更を保存します。Click Save to apply your changes.

PowerShellPowerShell

  1. Azure PowerShell をインストールしてサインインします。Install the Azure PowerShell and sign in.

  2. 仮想ネットワーク規則を一覧表示します。List virtual network rules.

    (Get-AzStorageAccountNetworkRuleSet -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount").VirtualNetworkRules
    
  3. 既存の仮想ネットワークとサブネットで、Azure Storage 用のサービス エンドポイントを有効にします。Enable 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" | Set-AzVirtualNetwork
    
  4. 仮想ネットワークとサブネットに対するネットワーク ルールを追加します。Add a network rule for a 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 AD テナントに属する VNet 内のサブネットに対するネットワーク ルールを追加するには、"/subscriptions/subscription-ID/resourceGroups/resourceGroup-Name/providers/Microsoft.Network/virtualNetworks/vNet-name/subnets/subnet-name" という形式の完全修飾 VirtualNetworkResourceId パラメーターを使用します。To add a network rule for a subnet in a VNet belonging to another Azure AD tenant, use a fully-qualified VirtualNetworkResourceId parameter in the form "/subscriptions/subscription-ID/resourceGroups/resourceGroup-Name/providers/Microsoft.Network/virtualNetworks/vNet-name/subnets/subnet-name".

  5. 仮想ネットワークとサブネットのネットワーク ルールを削除します。Remove a network rule for a virtual network and subnet.

    $subnet = Get-AzVirtualNetwork -ResourceGroupName "myresourcegroup" -Name "myvnet" | Get-AzVirtualNetworkSubnetConfig -Name "mysubnet"
    Remove-AzStorageAccountNetworkRule -ResourceGroupName "myresourcegroup" -Name "mystorageaccount" -VirtualNetworkResourceId $subnet.Id
    

重要

拒否するように既定のルールを設定します。そうしないと、ネットワーク ルールは効力を発揮しません。Be sure to set the default rule to deny, or network rules have no effect.

CLIv2CLIv2

  1. Azure CLI をインストールしてサインインします。Install the Azure CLI and sign in.

  2. 仮想ネットワーク規則を一覧表示します。List virtual network rules.

    az storage account network-rule list --resource-group "myresourcegroup" --account-name "mystorageaccount" --query virtualNetworkRules
    
  3. 既存の仮想ネットワークとサブネットで、Azure Storage 用のサービス エンドポイントを有効にします。Enable 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"
    
  4. 仮想ネットワークとサブネットに対するネットワーク ルールを追加します。Add a network rule for a 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
    

    ヒント

    別の Azure AD テナントに属する VNet 内のサブネットに対する規則を追加するには、"/subscriptions/<subscription-ID>/resourceGroups/<resourceGroup-Name>/providers/Microsoft.Network/virtualNetworks/<vNet-name>/subnets/<subnet-name>" という形式の完全修飾サブネット ID を使用します。To add a rule for a subnet in a VNet belonging to another Azure AD tenant, use a fully-qualified subnet ID in the form "/subscriptions/<subscription-ID>/resourceGroups/<resourceGroup-Name>/providers/Microsoft.Network/virtualNetworks/<vNet-name>/subnets/<subnet-name>".

    subscription パラメーターを使用して、別の Azure AD テナントに属する VNet のサブネット ID を取得できます。You can use the subscription parameter to retrieve the subnet ID for a VNet belonging to another Azure AD tenant.

  5. 仮想ネットワークとサブネットのネットワーク ルールを削除します。Remove a network rule for a 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 remove --resource-group "myresourcegroup" --account-name "mystorageaccount" --subnet $subnetid
    

重要

拒否するように既定のルールを設定します。そうしないと、ネットワーク ルールは効力を発揮しません。Be sure to set the default rule to deny, or network rules have no effect.

インターネットの IP 範囲からのアクセスを許可するGrant access from an internet IP range

パブリック インターネットの特定の IP アドレス範囲からのアクセスを許可するように、ストレージ アカウントを構成できます。You can configure storage accounts to allow access from specific public internet IP address ranges. この構成では、特定のインターネット ベースのサービスとオンプレミスのネットワークにアクセスを許可し、一般的なインターネット トラフィックをブロックします。This configuration grants access to specific internet-based services and on-premises networks and blocks general internet traffic.

許可するインターネット アドレスの範囲は、CIDR 表記法を使って 16.17.18.0/24 の形式で、または 16.17.18.19 のように個々の IP アドレスとして、指定できます。Provide allowed internet address ranges using CIDR notation in the form 16.17.18.0/24 or as individual IP addresses like 16.17.18.19.

注意

「/31」や「/32」のプレフィックス サイズを使用した小さなアドレス範囲はサポートされていません。Small address ranges using "/31" or "/32" prefix sizes are not supported. これらの範囲は、個々の IP アドレス ルールを使用して構成する必要があります。These ranges should be configured using individual IP address rules.

IP ネットワーク ルールは、パブリック インターネットの IP アドレスに対してのみ許可されます。IP network rules are only allowed for public internet IP addresses. プライベート ネットワーク用に予約されている IP アドレス範囲 (RFC 1918 で定義) は、IP ルールでは許可されません。IP address ranges reserved for private networks (as defined in RFC 1918) aren't allowed in IP rules. プライベート ネットワークには、10.*172.16.* - 172.31.*192.168.* で始まるアドレスが含まれます。Private networks include addresses that start with 10.*, 172.16.* - 172.31.*, and 192.168.*.

注意

IP ネットワーク ルールは、ストレージ アカウントと同じ Azure リージョンから送信された要求には影響ありません。IP network rules have no effect on requests originating from the same Azure region as the storage account. 同じリージョンの要求を許可するには、仮想ネットワーク規則を使用します。Use Virtual network rules to allow same-region requests.

注意

ストレージ アカウントと同じリージョンでデプロイされたサービスでは、プライベート Azure IP アドレスが通信に使用されます。Services deployed in the same region as the storage account use private Azure IP addresses for communication. そのため、パブリック受信 IP アドレスの範囲に基づいて特定の Azure サービスへのアクセスを制限することはできません。Thus, you cannot restrict access to specific Azure services based on their public inbound IP address range.

ストレージ ファイアウォール規則の構成では、IPv4 アドレスのみがサポートされています。Only IPV4 addresses are supported for configuration of storage firewall rules.

各ストレージ アカウントでは、最大 100 個の IP ネットワーク規則を設定できます。Each storage account supports up to 100 IP network rules.

オンプレミスのネットワークからのアクセスの構成Configuring access from on-premises networks

IP ネットワーク ルールでオンプレミスのネットワークからストレージ アカウントへのアクセスを許可するには、ネットワークで使用するインターネット接続 IP アドレスを特定する必要があります。To grant access from your on-premises networks to your storage account with an IP network rule, you must identify the internet facing IP addresses used by your network. サポートが必要な場合は、ネットワーク管理者にお問い合わせください。Contact your network administrator for help.

パブリック ピアリングまたは Microsoft ピアリングのためにオンプレミスから ExpressRoute を使用している場合、使用されている NAT の IP アドレスを識別する必要があります。If you are using ExpressRoute from your premises, for public peering or Microsoft peering, you will need to identify the NAT IP addresses that are used. パブリック ピアリングの場合、既定で、Azure サービスのトラフィックが Microsoft Azure のネットワーク バックボーンに入ったときに適用される 2 つの NAT IP アドレスが各 ExpressRoute 回線に使用されます。For public peering, each ExpressRoute circuit by default uses two NAT IP addresses applied to Azure service traffic when the traffic enters the Microsoft Azure network backbone. Microsoft ピアリングの場合、使用される NAT の IP アドレスは、ユーザーが指定するか、サービス プロバイダーが指定します。For Microsoft peering, the NAT IP addresses used are either customer provided or are provided by the service provider. サービス リソースへのアクセスを許可するには、リソースの IP ファイアウォール設定でこれらのパブリック IP アドレスを許可する必要があります。To allow access to your service resources, you must allow these public IP addresses in the resource IP firewall setting. パブリック ピアリングの ExpressRoute 回線の IP アドレスを確認するには、Azure Portal から ExpressRoute のサポート チケットを開いてください。To find your public peering ExpressRoute circuit IP addresses, open a support ticket with ExpressRoute via the Azure portal. 詳細については、ExpressRoute のパブリック ピアリングと Microsoft ピアリングの NAT に関するセクションを参照してください。Learn more about NAT for ExpressRoute public and Microsoft peering.

IP ネットワーク ルールの管理Managing IP network rules

ストレージ アカウントの IP ネットワーク ルールは、Azure portal、PowerShell、または CLIv2 で管理できます。You can manage IP network rules for storage accounts through the Azure portal, PowerShell, or CLIv2.

Azure portalAzure portal

  1. セキュリティで保護するストレージ アカウントに移動します。Go to the storage account you want to secure.

  2. [Firewalls and virtual networks] (ファイアウォールおよび仮想ネットワーク) という設定メニューをクリックします。Click on the settings menu called Firewalls and virtual networks.

  3. [選択されたネットワーク] からのアクセスを許可するように選択していることを確認します。Check that you've selected to allow access from Selected networks.

  4. インターネット IP 範囲へのアクセスを許可するには、 [ファイアウォール] > [アドレス範囲] で IP アドレスまたはアドレス範囲 (CIDR 形式) を入力します。To grant access to an internet IP range, enter the IP address or address range (in CIDR format) under Firewall > Address Range.

  5. IP ネットワーク ルールを削除するには、アドレス範囲の横にあるごみ箱のアイコンをクリックします。To remove an IP network rule, click the trash can icon next to the address range.

  6. [保存] をクリックして変更を保存します。Click Save to apply your changes.

PowerShellPowerShell

  1. Azure PowerShell をインストールしてサインインします。Install the Azure PowerShell and sign in.

  2. IP ネットワーク ルールを一覧表示します。List IP network rules.

    (Get-AzStorageAccountNetworkRuleSet -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount").IPRules
    
  3. 個々 の IP アドレスに対するネットワーク ルールを追加します。Add a network rule for an individual IP address.

    Add-AzStorageAccountNetworkRule -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount" -IPAddressOrRange "16.17.18.19"
    
  4. IP アドレス範囲に対するネットワーク ルールを追加します。Add a network rule for an IP address range.

    Add-AzStorageAccountNetworkRule -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount" -IPAddressOrRange "16.17.18.0/24"
    
  5. 個々 の IP アドレスに対するネットワーク ルールを削除します。Remove a network rule for an individual IP address.

    Remove-AzStorageAccountNetworkRule -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount" -IPAddressOrRange "16.17.18.19"
    
  6. IP アドレス範囲に対するネットワーク ルールを削除します。Remove a network rule for an IP address range.

    Remove-AzStorageAccountNetworkRule -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount" -IPAddressOrRange "16.17.18.0/24"
    

重要

拒否するように既定のルールを設定します。そうしないと、ネットワーク ルールは効力を発揮しません。Be sure to set the default rule to deny, or network rules have no effect.

CLIv2CLIv2

  1. Azure CLI をインストールしてサインインします。Install the Azure CLI and sign in.

  2. IP ネットワーク ルールを一覧表示します。List IP network rules.

    az storage account network-rule list --resource-group "myresourcegroup" --account-name "mystorageaccount" --query ipRules
    
  3. 個々 の IP アドレスに対するネットワーク ルールを追加します。Add a network rule for an individual IP address.

    az storage account network-rule add --resource-group "myresourcegroup" --account-name "mystorageaccount" --ip-address "16.17.18.19"
    
  4. IP アドレス範囲に対するネットワーク ルールを追加します。Add a network rule for an IP address range.

    az storage account network-rule add --resource-group "myresourcegroup" --account-name "mystorageaccount" --ip-address "16.17.18.0/24"
    
  5. 個々 の IP アドレスに対するネットワーク ルールを削除します。Remove a network rule for an individual IP address.

    az storage account network-rule remove --resource-group "myresourcegroup" --account-name "mystorageaccount" --ip-address "16.17.18.19"
    
  6. IP アドレス範囲に対するネットワーク ルールを削除します。Remove a network rule for an IP address range.

    az storage account network-rule remove --resource-group "myresourcegroup" --account-name "mystorageaccount" --ip-address "16.17.18.0/24"
    

重要

拒否するように既定のルールを設定します。そうしないと、ネットワーク ルールは効力を発揮しません。Be sure to set the default rule to deny, or network rules have no effect.

例外Exceptions

ネットワーク規則は、ほとんどのシナリオで、アプリケーションとデータとを接続する安全な環境の構築に役立ちます。Network rules help to create a secure environment for connections between your applications and your data for most scenarios. ただし、一部のアプリケーションは、仮想ネットワークまたは IP アドレスの規則を使用して一意に分離できない Azure サービスに依存しています。However, some applications depend on Azure services that cannot be uniquely isolated through virtual network or IP address rules. しかし、アプリケーションが機能を完全に発揮するには、そのようなサービスにストレージへのアクセスが許可される必要があります。But such services must be granted to storage to enable full application functionality. このような場合、[信頼された Microsoft サービスを許可] 設定を使用して、このようなサービスで、自分のデータ、ログ、分析にアクセスできるように設定できます。In such situations, you can use the Allow trusted Microsoft services... setting to enable such services to access your data, logs, or analytics.

信頼できる Microsoft サービスTrusted Microsoft services

一部の Microsoft サービスは、お客様のネットワーク規則の対象にできないネットワークで稼働しています。Some Microsoft services operate from networks that can't be included in your network rules. 他のアプリに対するネットワーク規則を維持しながら、このような信頼された Microsoft サービスの一部にストレージ アカウントへのアクセスを許可できます。You can grant a subset of such trusted Microsoft services access to the storage account, while maintaining network rules for other apps. これらの信頼されるサービスでは、強力な認証を使用して、お客様のストレージ アカウントに安全に接続します。These trusted services will then use strong authentication to connect to your storage account securely. Microsoft サービスには、2 種類の信頼されるアクセスが用意されています。We've enabled two modes of trusted access for Microsoft services.

  • 一部のサービスのリソースは、お客様のサブスクリプションで登録されている場合に、特定の操作 (ログの書き込みやバックアップなど) のために同じサブスクリプション内のストレージ アカウントにアクセスできます。Resources of some services, when registered in your subscription, can access your storage account in the same subscription for select operations, such as writing logs or backup.
  • 一部のサービスのリソースでは、そのシステム割り当てマネージド ID に RBAC ロールを割り当てることで、ストレージ アカウントへのアクセスを明示的に許可できます。Resources of some services can be granted explicit access to your storage account by assigning an RBAC role to its system-assigned managed identity.

[信頼された Microsoft サービスを許可] 設定を有効にすると、ストレージ アカウントと同じサブスクリプションに登録された次のサービスのリソースに対し、記載された一部の操作へのアクセスが許可されます。When you enable the Allow trusted Microsoft services... setting, resources of the following services that are registered in the same subscription as your storage account are granted access for a limited set of operations as described:

サービスService リソース プロバイダー名Resource Provider Name 許可される操作Operations allowed
Azure BackupAzure Backup Microsoft.RecoveryServicesMicrosoft.RecoveryServices IAAS 仮想マシンの管理対象外のディスクのバックアップとリストアを実行します。Run backups and restores of unmanaged disks in IAAS virtual machines. (マネージド ディスクの場合は必須ではありません)。(not required for managed disks). 詳細については、こちらを参照してくださいLearn more.
Azure Data BoxAzure Data Box Microsoft.DataBoxMicrosoft.DataBox Data Box を使用して Azure にデータをインポートできるようにします。Enables import of data to Azure using Data Box. 詳細については、こちらを参照してくださいLearn more.
Azure DevTest LabsAzure DevTest Labs Microsoft.DevTestLabMicrosoft.DevTestLab カスタム イメージの作成とアーティファクトのインストールCustom image creation and artifact installation. 詳細については、こちらを参照してくださいLearn more.
Azure Event GridAzure Event Grid Microsoft.EventGridMicrosoft.EventGrid Blob Storage のイベント発行を有効にし、ストレージ キューへの発行を Event Grid に許可します。Enable Blob Storage event publishing and allow Event Grid to publish to storage queues. Blob Storage イベントキューへの発行について確認してください。Learn about blob storage events and publishing to queues.
Azure Event HubsAzure Event Hubs Microsoft.EventHubMicrosoft.EventHub Event Hubs Capture を使用したアーカイブ データのキャプチャArchive data with Event Hubs Capture. 詳細については、こちらを参照してくださいLearn More.
Azure File SyncAzure File Sync Microsoft.StorageSyncMicrosoft.StorageSync オンプレミスのファイル サーバーを Azure ファイル共有のキャッシュに変換できます。Enables you to transform your on-prem file server to a cache for Azure File shares. マルチサイト同期、迅速なディザスターリカバリー、クラウド側バックアップが可能となります。Allowing for multi-site sync, fast disaster-recovery, and cloud-side backup. 詳細情報Learn more
Azure HDInsightAzure HDInsight Microsoft.HDInsightMicrosoft.HDInsight 新しい HDInsight クラスターのための既定のファイル システムの初期コンテンツをプロビジョニングします。Provision the initial contents of the default file system for a new HDInsight cluster. 詳細については、こちらを参照してくださいLearn more.
Azure Import ExportAzure Import Export Microsoft.ImportExportMicrosoft.ImportExport Import/Export サービスを使用して、Azure のデータのインポートと Azure からのデータのエクスポートを行えるようにします。Enables import of data to Azure and export of data from Azure using Import/Export service. 詳細については、こちらを参照してくださいLearn more.
Azure MonitorAzure Monitor Microsoft.InsightsMicrosoft.Insights リソース診断ログ、Azure Active Directory サインインと監査ログ、Microsoft Intune ログなど、セキュリティで保護されたストレージ アカウントへの監視データの書き込みを許可します。Allows writing of monitoring data to a secured storage account, including resource diagnostic logs, Azure Active Directory sign-in and audit logs, and Microsoft Intune logs. 詳細については、こちらを参照してくださいLearn more.
Azure のネットワークAzure Networking Microsoft.NetworkMicrosoft.Network ネットワーク トラフィック ログの保存および分析Store and analyze network traffic logs. 詳細については、こちらを参照してくださいLearn more.
Azure Site RecoveryAzure Site Recovery Microsoft.SiteRecoveryMicrosoft.SiteRecovery ファイアウォールが有効なキャッシュ、ソース、またはターゲット ストレージ アカウントを使用している場合、Azure IaaS 仮想マシンのディザスター リカバリーのレプリケーションを有効にします。Enable replication for disaster-recovery of Azure IaaS virtual machines when using firewall-enabled cache, source, or target storage accounts. 詳細については、こちらを参照してくださいLearn more.

また、 [信頼された Microsoft サービスを許可] の設定を有効にすると、以下に示すサービスの特定のインスタンスからストレージ アカウントにアクセスできます (そのリソース インスタンスのシステム割り当てマネージド ID に明示的に RBAC ロールを割り当てている場合)。The Allow trusted Microsoft services... setting also allows a particular instance of the below services to access the storage account, if you explicitly assign an RBAC role to the system-assigned managed identity for that resource instance. この場合、インスタンスのアクセス範囲は、マネージド ID に割り当てられた RBAC ロールに対応します。In this case, the scope of access for the instance corresponds to the RBAC role assigned to the managed identity.

サービスService リソース プロバイダー名Resource Provider Name 目的Purpose
Azure Container Registry タスクAzure Container Registry Tasks Microsoft.ContainerRegistry/registriesMicrosoft.ContainerRegistry/registries ACR タスクは、コンテナー イメージを作成するときにストレージアカウントにアクセスできます。ACR Tasks can access storage accounts when building container images.
Azure Data FactoryAzure Data Factory Microsoft.DataFactory/factoriesMicrosoft.DataFactory/factories ADF ランタイムを使用してストレージ アカウントへのアクセスを許可します。Allows access to storage accounts through the ADF runtime.
Azure Logic AppsAzure Logic Apps Microsoft.Logic/workflowsMicrosoft.Logic/workflows ロジック アプリがストレージ アカウントにアクセスできるようにします。Enables logic apps to access storage accounts. 詳細については、こちらを参照してくださいLearn more.
Azure Machine LearningAzure Machine Learning Microsoft.MachineLearningServicesMicrosoft.MachineLearningServices 承認された Azure Machine Learning ワークスペースは、BLOB ストレージに実験の出力、モデル、およびログを書き込みます。Authorized Azure Machine Learning workspaces write experiment output, models, and logs to Blob storage. 詳細については、こちらを参照してくださいLearn more.
Azure SQL Data WarehouseAzure SQL Data Warehouse Microsoft.SqlMicrosoft.Sql PolyBase を使用した特定の SQL データベース インスタンスからのデータのインポートとエクスポートを許可します。Allows import and export of data from specific SQL Database instances using PolyBase. 詳細については、こちらを参照してくださいLearn more.
Azure Stream AnalyticsAzure Stream Analytics Microsoft.StreamAnalyticsMicrosoft.StreamAnalytics ストリーミング ジョブからのデータを Blob Storage に書き込むことができます。Allows data from a streaming job to be written to Blob storage. 現在、この機能はプレビュー段階にあります。This feature is currently in preview. 詳細については、こちらを参照してくださいLearn more.
Azure Synapse AnalyticsAzure Synapse Analytics Microsoft.Synapse ワークスペースMicrosoft.Synapse/workspaces Synapse Analytics から Azure Storage のデータにアクセスできるようにします。Enables access to data in Azure Storage from Synapse Analytics.

ストレージ分析データ アクセスStorage analytics data access

場合によっては、ネットワーク境界の外側から診断ログとメトリックを読み取るためにアクセスする必要があります。In some cases, access to read diagnostic logs and metrics is required from outside the network boundary. 信頼されたサービスによるストレージ アカウントへのアクセスを構成している場合、ログ ファイル、メトリック テーブル、またはその両方に対する読み取りアクセスを許可できます。When configuring trusted services access to the storage account, you can allow read-access for the log files, metrics tables, or both. ストレージ分析の使用に関する説明Learn more about working with storage analytics.

例外の管理Managing exceptions

ネットワーク ルールの例外は、Azure portal、PowerShell、または Azure CLI v2 を通じて管理できます。You can manage network rule exceptions through the Azure portal, PowerShell, or Azure CLI v2.

Azure portalAzure portal

  1. セキュリティで保護するストレージ アカウントに移動します。Go to the storage account you want to secure.

  2. [Firewalls and virtual networks] (ファイアウォールおよび仮想ネットワーク) という設定メニューをクリックします。Click on the settings menu called Firewalls and virtual networks.

  3. [選択されたネットワーク] からのアクセスを許可するように選択していることを確認します。Check that you've selected to allow access from Selected networks.

  4. [例外] で、許可する例外を選択します。Under Exceptions, select the exceptions you wish to grant.

  5. [保存] をクリックして変更を保存します。Click Save to apply your changes.

PowerShellPowerShell

  1. Azure PowerShell をインストールしてサインインします。Install the Azure PowerShell and sign in.

  2. ストレージ アカウントのネットワーク ルールの例外を表示します。Display the exceptions for the storage account network rules.

    (Get-AzStorageAccountNetworkRuleSet -ResourceGroupName "myresourcegroup" -Name "mystorageaccount").Bypass
    
  3. ストレージ アカウントのネットワーク ルールの例外を設定します。Configure the exceptions to the storage account network rules.

    Update-AzStorageAccountNetworkRuleSet -ResourceGroupName "myresourcegroup" -Name "mystorageaccount" -Bypass AzureServices,Metrics,Logging
    
  4. ストレージ アカウントのネットワーク ルールの例外を削除します。Remove the exceptions to the storage account network rules.

    Update-AzStorageAccountNetworkRuleSet -ResourceGroupName "myresourcegroup" -Name "mystorageaccount" -Bypass None
    

重要

拒否するように既定のルールを設定していることを確認します。そうしないと、例外の削除は効力を発揮しません。Be sure to set the default rule to deny, or removing exceptions have no effect.

CLIv2CLIv2

  1. Azure CLI をインストールしてサインインします。Install the Azure CLI and sign in.

  2. ストレージ アカウントのネットワーク ルールの例外を表示します。Display the exceptions for the storage account network rules.

    az storage account show --resource-group "myresourcegroup" --name "mystorageaccount" --query networkRuleSet.bypass
    
  3. ストレージ アカウントのネットワーク ルールの例外を設定します。Configure the exceptions to the storage account network rules.

    az storage account update --resource-group "myresourcegroup" --name "mystorageaccount" --bypass Logging Metrics AzureServices
    
  4. ストレージ アカウントのネットワーク ルールの例外を削除します。Remove the exceptions to the storage account network rules.

    az storage account update --resource-group "myresourcegroup" --name "mystorageaccount" --bypass None
    

重要

拒否するように既定のルールを設定していることを確認します。そうしないと、例外の削除は効力を発揮しません。Be sure to set the default rule to deny, or removing exceptions have no effect.

次のステップNext steps

サービス エンドポイントで Azure ネットワークのサービス エンドポイントについて確認してください。Learn more about Azure Network service endpoints in Service endpoints.

Azure Storage セキュリティ ガイドで Azure Storage のセキュリティを詳しく調べてください。Dig deeper into Azure Storage security in Azure Storage security guide.