次の方法で共有


エンドポイント アクセス制御リストとは

重要

Azure には、リソースを作成して操作するための 2 つの異なる デプロイ モデル (Resource Manager とクラシック) があります。 この記事では、クラシック デプロイ モデルの使用方法について説明します。 Microsoft では、ほとんどの新しいデプロイで Resource Manager デプロイ モデルを使用することをお勧めします。

エンドポイント アクセス制御リスト (ACL) は、Azure デプロイで使用できるセキュリティ強化です。 ACL は、仮想マシン エンドポイントのトラフィックを選択的に許可または拒否する機能を提供します。 このパケット フィルタリング機能は、セキュリティの追加レイヤーを提供します。 エンドポイントにのみネットワーク ACL を指定できます。 仮想ネットワークまたは仮想ネットワークに含まれる特定のサブネットの ACL を指定することはできません。 可能な限り、ACL の代わりにネットワーク セキュリティ グループ (NSG) を使用することをお勧めします。 NSG を使用する場合、エンドポイント アクセス制御リストは置き換えられ、適用されなくなります。 NSG の詳細については、「ネットワーク セキュリティ グループの概要」を参照してください。

ACL は、PowerShell または Azure portal を使用して構成できます。 PowerShell を使用してネットワーク ACL を構成するには、「PowerShell を使用したエンドポイントのアクセス制御リストの管理」を参照してください。 Azure portal を使用してネットワーク ACL を構成するには、「 仮想マシンにエンドポイントを設定する方法」を参照してください。

ネットワーク ACL を使用すると、次の操作を行うことができます。

  • 仮想マシン入力エンドポイントへのリモート サブネット IPv4 アドレス範囲に基づいて、受信トラフィックを選択的に許可または拒否します。
  • ブロックリストの IP アドレス
  • 仮想マシン エンドポイントごとに複数のルールを作成する
  • ルールの順序を使用して、特定の仮想マシン エンドポイント (最低から最高) に正しい規則セットが適用されるようにします
  • 特定のリモート サブネット IPv4 アドレスの ACL を指定します。

ACL の制限については、 Azure の制限 に関する記事を参照してください。

ACL のしくみ

ACL は、ルールの一覧を含むオブジェクトです。 ACL を作成して仮想マシン エンドポイントに適用すると、VM のホスト ノードでパケット フィルタリングが行われます。 つまり、リモート IP アドレスからのトラフィックは、VM ではなく ACL 規則に一致するためにホスト ノードによってフィルター処理されます。 これにより、VM が貴重な CPU サイクルをパケット フィルタリングに費やすのを防ぐことができます。

仮想マシンが作成されると、既定の ACL が設定され、すべての受信トラフィックがブロックされます。 ただし、エンドポイントが (ポート 3389) に対して作成された場合、そのエンドポイントのすべての受信トラフィックを許可するように既定の ACL が変更されます。 その後、任意のリモート サブネットからの受信トラフィックがそのエンドポイントに許可され、ファイアウォールのプロビジョニングは必要ありません。 これらのポートに対してエンドポイントが作成されない限り、他のすべてのポートは受信トラフィックに対してブロックされます。 送信トラフィックは既定で許可されます。

既定の ACL テーブルの例

ルール# リモート サブネット エンドポイント 許可/拒否
100 0.0.0.0/0 3389 許す

許可と拒否

"許可" または "拒否" を指定する規則を作成することで、仮想マシン入力エンドポイントのネットワーク トラフィックを選択的に許可または拒否できます。 既定では、エンドポイントが作成されると、エンドポイントへのすべてのトラフィックが許可されることに注意してください。 そのため、仮想マシン エンドポイントへの到達を許可するように選択したネットワーク トラフィックをきめ細かく制御する場合は、許可/拒否規則を作成し、適切な優先順位で規則を配置する方法を理解することが重要です。

考慮事項:

  1. ACL なし – 既定では、エンドポイントが作成されると、エンドポイントに対してすべて許可されます。
  2. 許す- 1 つ以上の "許可" 範囲を追加すると、既定で他のすべての範囲が拒否されます。 許可された IP 範囲のパケットのみが仮想マシン エンドポイントと通信できます。
  3. 打ち消す- 1 つ以上の "拒否" 範囲を追加すると、既定で他のすべてのトラフィック範囲が許可されます。
  4. 許可と拒否の組み合わせ - 許可または拒否する特定の IP 範囲を切り開く場合は、"許可" と "拒否" の組み合わせを使用できます。

ルールとルールの優先順位

ネットワーク ACL は、特定の仮想マシン エンドポイントに設定できます。 たとえば、特定の IP アドレスのアクセスをロックダウンする仮想マシン上に作成された RDP エンドポイントのネットワーク ACL を指定できます。 次の表は、RDP へのアクセスを許可するために、特定の範囲のパブリック仮想 IP (VIP) へのアクセスを許可する方法を示しています。 その他のリモート IP はすべて拒否されます。 最下位の規則の順序に従います。

複数のルール

次の例では、2 つのパブリック IPv4 アドレス範囲 (65.0.0.0/8、159.0.0.0/8) からのみ RDP エンドポイントへのアクセスを許可する場合は、2 つの 許可 規則を指定することでこれを実現できます。 この場合、仮想マシンに対して RDP が既定で作成されるため、リモート サブネットに基づいて RDP ポートへのアクセスをロックダウンできます。 次の例は、RDP へのアクセスを許可するために、特定の範囲のパブリック仮想 IP (VIP) へのアクセスを許可する方法を示しています。 その他のリモート IP はすべて拒否されます。 これは、特定の仮想マシン エンドポイントに対してネットワーク ACL を設定でき、アクセスが既定で拒否されるために機能します。

例 - 複数のルール

ルール# リモート サブネット エンドポイント 許可/拒否
100 65.0.0.0/8 3389 許す
200 159.0.0.0/8 3389 許す

ルールの順序

エンドポイントには複数のルールを指定できるため、どのルールが優先するかを判断するためにルールを整理する方法が必要です。 規則の順序は優先順位を指定します。 ネットワーク ACL は、 最下位 の規則の順序に従います。 次の例では、ポート 80 のエンドポイントには、特定の IP アドレス範囲へのアクセスのみが選択的に付与されています。 これを構成するには、175.1.0.1/24 空間内のアドレスに対する拒否規則 (ルール # 100) があります。 その後、175.0.0.0/8 より下のすべてのアドレスへのアクセスを許可する優先順位 200 で 2 番目の規則が指定されます。

例 - ルールの優先順位

ルール# リモート サブネット エンドポイント 許可/拒否
100 175.1.0.1/24 80 否定する
200 175.0.0.0/8 80 許す

ネットワーク ACL と負荷分散セット

ネットワーク ACL は、負荷分散セット エンドポイントで指定できます。 負荷分散セットに ACL が指定されている場合、ネットワーク ACL はその負荷分散セット内のすべての仮想マシンに適用されます。 たとえば、負荷分散セットが "ポート 80" で作成され、負荷分散セットに 3 つの VM が含まれている場合、1 つの VM のエンドポイント "ポート 80" に作成されたネットワーク ACL は、他の VM に自動的に適用されます。

ネットワーク ACL と負荷分散セット

次のステップ

PowerShell を使用してエンドポイントのアクセス制御リストを管理する