NSX では、環境でマルチテナントを設定するときに、ポリシーを作成できます。
プロジェクトの分散ファイアウォール
組織内のプロジェクトでは、緊急、インフラストラクチャ、環境、およびアプリケーションの DFW カテゴリがサポートされます。/infra
ポリシーの優先順位が最も高く、その後にプロジェクト ポリシーが続きます。/infra
領域の DFW ルールは、プロジェクトに拡張できます。
/infra
領域の下に作成されたルールは、デフォルトで環境内のすべてのワークロードに適用されます。- ルールの範囲を定義するには、NSX ユーザー インターフェイスで [適用先] に適切なオプションを選択します。たとえば、[適用先] オプションを使用して、ルールを特定のワークロードに制限できます。
- [適用先] オプションは、
/infra
領域に作成されたグループ、またはシステムによって生成され、プロジェクトのすべての仮想マシンを含むプロジェクトのデフォルト グループ (ORG-default-PROJECT-<project-name>
) に使用することもできます。
- 次の手順は、
/infra
領域に作成されたグループに適用されます。- 動的メンバーシップは、プロジェクト内の仮想マシンを含む、システムのすべての仮想マシンを評価します。たとえば、グループ メンバーシップに web というタグの付いたすべての仮想マシンが含まれている場合、グループにはプロジェクトの内部と外部の両方で web タグが付いた仮想マシンが含まれます。
- 静的メンバーシップの場合、仮想マシン(
ORG-default-PROJECT-<project-name>
) を使用して、プロジェクトに接続されているワークロードを追加できます。プロジェクトで作成されたその他のリソースは、/infra
領域のグループではサポートされません。
)を明示的に参照するか、プロジェクトのデフォルト グループ (
デフォルト ルール
プロジェクトの作成時に、アプリケーション カテゴリのポリシー リストの下部にあるプロジェクトにデフォルトのセキュリティ ポリシーが作成されます。デフォルト ポリシーは、他のルールが見つからない場合のプロジェクト内の仮想マシンの動作を定義します。
デフォルト ポリシーには、次のルールが含まれています。
- DHCP との通信を許可するルール。
(src:ANY dst:ANY services:DHCP Client|DHCP Server Action Allow)
- プロジェクト内のワークロード間の通信を許可するルール。
(src:Project default groups (ORG-default-PROJECT-<project-name> dst:Project default groups (ORG-default-PROJECT-<project-name> services:ANY Action Allow)
- 他のすべての通信を拒否するルール。
(src:ANY dst:ANY services:ANY Action Deny)
デフォルト ポリシーを使用すると、プロジェクト内の仮想マシンは、同じプロジェクト(と DHCP)内の他の仮想マシンにのみアクセスできます。プロジェクト外の仮想マシンとの通信、またはシステムが作成した他の IP アドレスとの通信はブロックされます。これらの通信を許可するには、デフォルトのセキュリティ ポリシーでルールの追加または変更を行う必要があります。
プロジェクトの分散ファイアウォールの追加
プロジェクト ポリシーの場合、範囲が「任意」に設定されていると、ポリシーはそのプロジェクトに限定されます。プロジェクト ルールは、プロジェクト内のグループと、プロジェクトと共有されているグループにのみアクセスできます。
PATCH /policy/api/v1/orgs/default/projects/<project-id>/infra/domains/default/security-policies/<security-policy-id>
要求の例:
PATCH https://{{nsx-manager-ip}}/policy/api/v1/orgs/default/projects/project-1/infra/domains/default/security-policies/web-db本文:
{ "resource_type": "SecurityPolicy", "description": "web-db", "display_name": "web-db", "rules": [ { "resource_type": "Rule", "description": "web-db-rule-1", "display_name": "web-db-rule-1", "sequence_number": 1, "source_groups": [ "/orgs/default/projects/project-1/infra/domains/default/groups/group-1" ], "destination_groups": [ "/orgs/default/projects/project-1/infra/domains/default/groups/group-1" ], "services" : ["/infra/services/HTTP"], "action" : "ALLOW", "_revision": 0 } ], "sequence_number": 1, "_revision": 0 }