仮想ネットワーク サービス エンドポイントを使って PaaS サービスへのネットワーク アクセスをセキュリティで保護する

完了

ERP システムの既存のアプリとデータベース サーバーを VM として Azure に移行しました。 次に、コストと管理要件を減らすために、あなたは Azure PaaS (サービスとしてのプラットフォーム) のサービスを利用することを検討しています。 ストレージ サービスには、エンジニアリング図など、大量のファイル資産が保管されています。 このようなエンジニアリング図には特許情報が含まれ、無許可のアクセスから保護される必要があります。 このようなファイルには、特定のシステムからのみアクセスできるようにする必要があります。

このユニットでは、仮想ネットワーク サービス エンドポイントを使用し、サポートされている Azure サービスをセキュリティで保護する方法を確認します。

仮想ネットワーク サービス エンドポイント

仮想ネットワーク サービス エンドポイントを使い、自分の Azure サービスに直接接続できるようにすることで、Azure 内のプライベート アドレス空間を拡張します。 サービス エンドポイントを使うと、Azure リソースを自分の仮想ネットワークだけに限定できます。 サービス トラフィックは Azure のバックボーンに残り、インターネットに送信されることはありません。

Diagram of a service endpoint on a private network.

既定では、Azure サービスはすべてインターネットに直接アクセスするために設計されています。 すべての Azure リソースにはパブリック IP アドレスが与えられます。これには、Azure SQL Database や Azure Storage などの PaaS サービスも含まれます。 このようなサービスはインターネットに公開されるため、潜在的には誰でも自分の Azure サービスにアクセスできます。

サービス エンドポイントでは、Azure 内のプライベート アドレス空間に一部の PaaS サービスを直接接続できます。直接接続すると、同じ仮想ネットワーク上にあるかのように動作します。 プライベート アドレス空間を使用して PaaS サービスに直接アクセスします。 サービス エンドポイントを追加しても、パブリック エンドポイントは削除されません。 トラフィックがリダイレクトされるようになるだけです。

Azure サービス エンドポイントは、次のような多くのサービスで利用できます。

  • Azure Storage
  • Azure SQL Database
  • Azure Cosmos DB
  • Azure Key Vault
  • Azure Service Bus
  • Azure Data Lake

SQL Database など、そのファイアウォールに IP アドレスを追加するまでアクセスできないサービスの場合も、やはりサービス エンドポイントを検討します。 SQL Database に対してサービス エンドポイントを使用すると、特定の仮想ネットワークへのアクセスが制限され、分離性が向上し、攻撃対象領域が狭くなります。

サービス エンドポイントのしくみ

サービス エンドポイントを有効にするには、次を行う必要があります。

  1. サービスへのパブリック アクセスをオフにする。
  2. 仮想ネットワークにサービス エンドポイントを追加する。

サービス エンドポイントを有効にするとき、トラフィックのフローを制限し、自分のプライベート アドレス空間からサービスに Azure VM が直接アクセスできるようにします。 デバイスでは、パブリック ネットワークからサービスにアクセスすることはできません。 デプロイされた VM の vNIC で、[有効なルート] を見ると、サービス エンドポイントが [次ホップの種類] になっていることがわかります。

サービス エンドポイントを有効にする前のルートの例を、次の表に示します。

ソース 状態 アドレス プレフィックス ネクスト ホップの種類
Default アクティブ 10.1.1.0/24 VNet
既定 アクティブ 0.0.0.0./0 インターネット
Default アクティブ 10.0.0.0/8 なし
Default アクティブ 100.64.0.0./10 なし
Default アクティブ 192.168.0.0/16 なし

また、仮想ネットワークに 2 つのサービス エンドポイントを追加した後のルートの例を、次の表に示します。

ソース 状態 アドレス プレフィックス ネクスト ホップの種類
Default アクティブ 10.1.1.0/24 VNet
既定 アクティブ 0.0.0.0./0 インターネット
Default アクティブ 10.0.0.0/8 なし
Default アクティブ 100.64.0.0./10 なし
Default アクティブ 192.168.0.0/16 なし
Default アクティブ 20.38.106.0/23、10 以上 VirtualNetworkServiceEndpoint
既定 アクティブ 20.150.2.0/23、9 以上 VirtualNetworkServiceEndpoint

これで、サービスのトラフィックはすべて VirtualNetworkServiceEndpoint にルーティングされ、Azure 内に留まります。

サービス エンドポイントとハイブリッド ネットワーク

既定では、仮想ネットワーク サービス エンドポイントを使ってセキュリティで保護したサービス リソースに、オンプレミス ネットワークからアクセスすることはできません。 オンプレミス ネットワークからリソースにアクセスするには、NAT IP を使います。 オンプレミスから Azure への接続に ExpressRoute を使う場合、ExpressRoute で使用される NAT IP アドレスを特定する必要があります。 既定では、各回線で Azure バックボーン ネットワークに接続するために 2 つの NAT IP アドレスが使用されます。 次に、これらの IP アドレスを、Azure サービス リソースの IP ファイアウォール構成に追加する必要があります (例: Azure Storage)。

サービス エンドポイントとファイアウォール構成を使い、オンプレミス デバイスで Azure Storage リソースにアクセスできるようにする方法を、次の図に示します。

Diagram of a service endpoint for on-premises access to Azure resources.