NSX unterstützt beim Einrichten der Mehrmandantenfähigkeit in Ihrer Umgebung das Erstellen von Richtlinien.

Die Firewallregeln eines Projekts gelten nur für die VMs im Projekt, also für VMs, die mit den Netzwerken im Projekt verbunden sind. Die Regeln innerhalb eines Projekts, einschließlich jener mit ANY, die auf eine DFW angewendet werden, wirken sich nicht auf Arbeitslasten außerhalb des Projekts aus.
Hinweis: Die Gruppierungs- und Firewallregeln aus dem /infra-Bereich gelten für jede VM in der NSX-Bereitstellung, einschließlich derjenigen in den Projekten. Beispielsweise enthält eine Gruppe, die auf einem Tag basiert, alle VMs mit demselben Tag wie Mitglieder, sowohl innerhalb als auch außerhalb des Projekts.

Verteilte Firewall für Projekte

Die Kategorien Notfall, Infrastruktur, Umgebung und Anwendungs-DFW werden für Projekte innerhalb der Organisation unterstützt. Die /infra-Richtlinien haben den höchsten Vorrang, gefolgt von den Projektrichtlinien. Die DFW-Regeln aus dem /infra-Bereich können auf ein Projekt ausgeweitet werden.

  • Regeln, die unter dem /infra-Bereich erstellt wurden, gelten standardmäßig für alle Arbeitslasten in der Umgebung.
    • Um den Geltungsbereich Ihrer Regeln zu definieren, wählen Sie auf der NSX-Benutzeroberfläche die entsprechende Option für Angewendet auf aus. Beispielsweise können Sie die Regeln auf eine bestimmte Arbeitslast beschränken, indem Sie die Option Angewendet auf verwenden.
    • Sie können die Option Angewendet auf auch für Gruppen verwenden, die unter dem /infra-Bereich erstellt wurden, oder für die vom System generierten Standardgruppen des Projekts (ORG-default-PROJECT-<project-name>), die alle VMs des Projekts enthalten.
  • Folgendes gilt für Gruppen, die im /infra-Bereich erstellt wurden:
    • Die dynamische Mitgliedschaft wertet alle VMs des Systems aus, einschließlich der VMs in einem Projekt. Wenn beispielsweise eine Gruppenmitgliedschaft alle VMs enthält, die mit web gekennzeichnet sind, enthält die Gruppe VMs mit dem Tag web innerhalb und außerhalb des Projekts.
    • Für die statische Mitgliedschaft können Sie Arbeitslasten hinzufügen, die mit einem Projekt verbunden sind, indem Sie sich entweder explizit auf die VMs (Mitglieder > Virtuelle Maschinen) beziehen oder indem Sie die Standardgruppen des Projekts (ORG-default-PROJECT-<project-name>) verwenden. Andere Ressourcen, die unter einem Projekt erstellt wurden, werden von Gruppen im /infra-Bereich nicht unterstützt.

Standardregeln

Beim Erstellen eines Projekts wird im Projekt am Ende der Richtlinienliste in der Kategorie „Anwendung“ eine Standardsicherheitsrichtlinie erstellt. Die Standardrichtlinie definiert das Verhalten für VMs innerhalb des Projekts, wenn keine anderen Regeln vorliegen.

Die Standardrichtlinie enthält folgende Regeln:

  • Regeln, die die Kommunikation mit DHCP zulassen.

    (src:ANY dst:ANY services:DHCP Client|DHCP Server Action Allow)

  • Regeln, die die Kommunikation zwischen Arbeitslasten im Projekt zulassen.

    (src:Project default groups (ORG-default-PROJECT-<project-name> dst:Project default groups (ORG-default-PROJECT-<project-name> services:ANY Action Allow)

  • Regeln, die alle anderen Kommunikationen ablehnen.

    (src:ANY dst:ANY services:ANY Action Deny)

Die Standardrichtlinie stellt sicher, dass VMs innerhalb eines Projekts nur VMs in demselben Projekt (und DHCP) erreichen können. Die Kommunikation mit VMs außerhalb des Projekts oder mit anderen durch das System erstellten IP-Adressen wird blockiert. Sie kann nur durch das Hinzufügen oder Ändern von Regeln in der Standardsicherheitsrichtlinie zugelassen werden.

Hinzufügen einer verteilten Firewall für Projekte

Wenn für Projektrichtlinien der Geltungsbereich auf „Beliebig“ festgelegt ist, sind die Richtlinien auf dieses Projekt beschränkt. Projektregeln haben nur Zugriff auf Gruppen im Projekt und auf Gruppen, die für das Projekt freigegeben wurden.

Wenden Sie Sicherheitsrichtlinien an, indem Sie den folgenden API-Aufruf ausführen:
PATCH /policy/api/v1/orgs/default/projects/<project-id>/infra/domains/default/security-policies/<security-policy-id>

Beispielanforderung:

URL:
PATCH https://{{nsx-manager-ip}}/policy/api/v1/orgs/default/projects/project-1/infra/domains/default/security-policies/web-db
Text:
{
  "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
}