アプリケーション セキュリティ グループ
アプリケーション セキュリティ グループ (ASG) を使用すると、アプリケーションの構造の自然な拡張機能としてネットワーク セキュリティを構成できます。 明示的な IP アドレスに基づいてセキュリティ規則を定義する代わりに、アプリケーション ロールによって仮想マシンをグループ化し、それらのグループに基づいてネットワーク セキュリティ ポリシーを定義できます。 この方法により、セキュリティ管理が簡素化され、ルールが大規模に再利用できるようになります。
アプリケーション セキュリティ グループの利点
- 管理の簡素化: 個々の IP アドレスを管理するのではなく、アプリケーション層 (Web、ロジック、データベース) ごとに仮想マシン (VM) をグループ化する
- スケーラブルなセキュリティ: ルールを更新せずに複数の VM に一貫性のあるセキュリティ ポリシーを適用する
- 直感的な組織: セキュリティ規則にアプリケーション アーキテクチャが反映されている
- 複雑さの軽減: プラットフォームは IP アドレス管理を自動的に処理します
例: 多層アプリケーションのセキュリティ
Web サーバー、アプリケーション サーバー、データベース サーバーを含む 3 層アプリケーションについて考えてみましょう。
この例では:
- NIC1 と NIC2 は 、AsgWeb アプリケーション セキュリティ グループ (Web 層) のメンバーです
- NIC3 は AsgLogic アプリケーション セキュリティ グループ (アプリケーション層) のメンバーです
- NIC4 は AsgDb アプリケーション セキュリティ グループ (データベース層) のメンバーです
各ネットワーク インターフェイスは、複数の ASG のメンバーにすることができます (Azure サブスクリプションの上限まで)。 NSG はネットワーク インターフェイスに直接関連付けされません。 代わりに、 NSG1 は両方のサブネットに関連付けられ、次の規則が含まれています。
Allow-HTTP-Inbound-Internet
この規則により、インターネットからの HTTP トラフィックが Web 層に到達できるようになります。 DenyAllInBound の既定のセキュリティ規則は、インターネットからの他のすべての受信トラフィックをブロックするため、AsgLogic または AsgDb グループには他の規則は必要ありません。
| 優先順位 | ソース | 送信元ポート | 行き先 | 送信先ポート | プロトコル | アクセス |
|---|---|---|---|---|---|---|
| 100 | インターネット | * | AsgWeb | 80 | TCP | 許可する |
Deny-Database-All
この規則では、データベース層へのすべてのトラフィックが既定でブロックされます。 AllowVNetInBound の既定の規則では、仮想ネットワーク内のすべてのリソースがデータベースと通信できるようになるため、これが必要です。
| 優先順位 | ソース | 送信元ポート | 行き先 | 送信先ポート | プロトコル | アクセス |
|---|---|---|---|---|---|---|
| 120 | * | * | AsgDb | 1433 | [任意] | 否定する |
Allow-Database-BusinessLogic
この規則では、アプリケーション ロジック層 (AsgLogic) からデータベース層 (AsgDb) へのトラフィックが許可されます。 規則の 優先度は 110 で、拒否Database-All 規則 (優先度 120) よりも低くなります。 優先順位の低い数値が最初に処理されるため、このルールは拒否ルールの前に評価され、AsgLogic は他のすべてのトラフィックをブロックしながらデータベースにアクセスできます。
| 優先順位 | ソース | 送信元ポート | 行き先 | 送信先ポート | プロトコル | アクセス |
|---|---|---|---|---|---|---|
| 110 | AsgLogic | * | AsgDb | 1433 | TCP | 許可する |
ルールの適用方法
ASG をソースまたは宛先として指定する規則の影響を受けるのは、ASG のメンバーであるネットワーク インターフェイスだけです。 ネットワーク インターフェイスがルールで参照されている ASG のメンバーでない場合、NSG がそのサブネットに関連付けられている場合でも、そのネットワーク インターフェイスには規則は適用されません。
制約と考慮事項
アプリケーション セキュリティ グループを使用する場合は、次の制限事項に注意してください。
- サブスクリプションの制限: サブスクリプションあたりの ASG の数には制限があります。 現在の値については、Azure サブスクリプションの制限に関するドキュメントを参照してください。
- 同じ仮想ネットワーク要件: ASG 内のすべてのネットワーク インターフェイスが同じ仮想ネットワーク内に存在する必要があります。 たとえば、AsgWeb に割り当てられた最初の NIC が VNet1 内にある場合、AsgWeb に割り当てられている後続のすべての NIC も VNet1 に存在する必要があります。
- ASG 間規則: セキュリティ規則で ASG をソースと宛先の両方として指定する場合、両方の ASG 内のすべてのネットワーク インターフェイスが同じ仮想ネットワークに存在する必要があります。 たとえば、AsgLogic に VNet1 の NIC があり、AsgDb に VNet2 の NIC がある場合、AsgLogic をソースとして、AsgDb を宛先として使用するルールを作成することはできません。
ヒント
セキュリティ規則を実装する前に、ASG 構造を計画します。 個々の IP アドレスまたは IP 範囲の代わりに ASG とサービス タグを使用すると、作成および保守に必要なセキュリティ規則の数が最小限に抑えられます。 ルールの数を減らし、管理を簡素化し、構成エラーの可能性を減らします。