Freigeben über


Erstellen von Zugriffskontrolllisten (ACL) für die Verwaltung von externen NNI- und Layer-3-Isolationsdomänen-Netzwerken

Zugriffssteuerungslisten (Access Control Lists, ACLs) sind eine Reihe von Regeln, die den eingehenden und ausgehenden Paketfluss innerhalb eines Netzwerks regeln. Der Azure Nexus Network Fabric-Dienst bietet einen API-basierten Mechanismus zum Konfigurieren von ACLs für Netzwerk-zu-Netzwerk-Verbindungen und externe Netzwerke mit Layer-3-Isolationsdomänen. In diesem Handbuch werden die Schritte zum Erstellen von ACLs beschrieben.

Erstellen von UPF-Zugriffssteuerungslisten (ACLs)

Um eine ACL zu erstellen und seine Eigenschaften zu definieren, können Sie den Befehl az networkfabric acl create verwenden. Im Folgenden finden Sie eine Aufstellung der Schritte:

Voraussetzungen

  • Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Schnellstart für Bash in Azure Cloud Shell.

  • Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.

    • Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.

    • Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.

    • Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.

  1. Abonnement festlegen (falls erforderlich):

Wenn Sie über mehrere Abonnements verfügen und ein Abonnement als Standard festlegen müssen, können Sie dies wie folgt tun:

az account set --subscription <subscription-id>
  1. Erstellen einer ACL:
    az networkfabric acl create --resource-group "<resource-group>" --location "<location>" --resource-name "<acl-name>" --annotation "<annotation>" --configuration-type "<configuration-type>" --default-action "<default-action>" --match-configurations "[{matchConfigurationName:<match-config-name>,sequenceNumber:<sequence-number>,ipAddressType:<IPv4/IPv6>,matchConditions:[{ipCondition:{type:<SourceIP/DestinationIP>,prefixType:<Prefix/Exact>,ipPrefixValues:['<ip-prefix1>', '<ip-prefix2>', ...]}}],actions:[{type:<Action>}]}]"
Parameter Beschreibung
Ressourcengruppe Bestimmen Sie die Ressourcengruppe Ihres Network Fabric.
Location Definieren Sie den Speicherort, an dem die ACL erstellt wird.
Ressourcenname Geben Sie einen Namen für die ACL an.
Anmerkung Fügen Sie optional eine Beschreibung oder Anmerkung für die ACL hinzu.
Konfigurationstyp Geben Sie an, ob die Konfiguration inline oder mithilfe einer Datei erfolgt.
Standardaktion Definieren Sie die auszuführende Standardaktion, wenn keine Übereinstimmung gefunden wird.
Konfiguration der Übereinstimmung Definieren Sie die Bedingungen und Aktionen für den Datenverkehrsabgleich.
Aktionen Legen Sie die Aktion fest, die basierend auf der Vergleichsbedingung ausgeführt werden soll.

Leitfaden zur Parameterverwendung

Die folgende Tabelle enthält Anleitungen zur Verwendung von Parametern beim Erstellen von ACLs:

Parameter Beschreibung Beispiel oder Bereich
defaultAction Definiert die auszuführende Standardaktion. "defaultAction": "Permit"
resource-group Ressourcengruppe des Netzwerk-Fabric nfresourcegroup
resource-name Name der ACL example-ingressACL
vlanGroups Liste der VLAN-Gruppen
vlans Liste der VLANs, die abgeglichen werden müssen
match-configurations Name der Abgleichskonfiguration example_acl
matchConditions Bedingungen, die abgeglichen werden müssen
ttlValues TTL [Time to Live, Gültigkeitsdauer] 0 - 255
dscpMarking DSCP-Kennzeichnungen, die abgeglichen werden müssen 0-63
portCondition Portbedingung, die abgeglichen werden muss
portType Porttyp, der abgeglichen werden muss Beispiel: SourcePort
protocolTypes Protokolle, die abgeglichen werden müssen [tcp, udp, range[1-2, 1, 2]]
vlanMatchCondition VLAN-Vergleichsbedingung, die abgeglichen werden muss
layer4Protocol Layer-4-Protokoll Muss entweder TCP oder UDP sein.
ipCondition IP-Bedingung, die abgeglichen werden muss
Aktionen Aktion, die basierend auf der Vergleichsbedingung ausgeführt werden soll Beispiel: permit (zulassen)
configuration-type Konfigurationstyp (Inline oder Datei) Beispiel: inline

Hinweis

  • Inlineports und Inline-VLANs werden mithilfe von azcli statisch definiert.
  • PortGroupNames und VlanGroupNames werden dynamisch definiert.
  • Das Kombinieren von Inlineports mit portGroupNames ist für Inline-VLANs und VLANGroupNames nicht zulässig.
  • IPGroupNames und IpPrefixValues können nicht kombiniert werden.
  • Ausgangs-ACLs unterstützen bestimmte Optionen wie IP-Optionen, IP-Länge, Fragment, „ether-type“, DSCP-Kennzeichnung und TTL-Werte nicht.
  • Eingangs-ACLs unterstützen die folgenden Optionen nicht: etherType.

Beispielnutzlast für die ACL-Erstellung

az networkfabric acl create --resource-group "example-rg" --location "eastus2euap" --resource-name "example-Ipv4ingressACL" --annotation "annotation" --configuration-type "Inline" --default-action "Deny" --match-configurations "[{matchConfigurationName:example-match,sequenceNumber:1110,ipAddressType:IPv4,matchConditions:[{ipCondition:{type:SourceIP,prefixType:Prefix,ipPrefixValues:['10.18.0.124/30','10.18.0.128/30','10.18.30.16/30','10.18.30.20/30']}},{ipCondition:{type:DestinationIP,prefixType:Prefix,ipPrefixValues:['10.18.0.124/30','10.18.0.128/30','10.18.30.16/30','10.18.30.20/30']}}],actions:[{type:Count}]}]"

Beispielausgabe

{
  "administrativeState": "Disabled",
  "annotation": "annotation",
  "configurationState": "Succeeded",
  "configurationType": "Inline",
  "defaultAction": "Deny",
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/Fab3LabNF-4-0/providers/Microsoft.ManagedNetworkFabric/accessControlLists/L3domain091123-Ipv4egressACL",
  "location": "eastus2euap",
  "matchConfigurations": [
    {
      "actions": [
        {
          "type": "Count"
        }
      ],
      "ipAddressType": "IPv4",
      "matchConditions": [
        {
          "ipCondition": {
            "ipPrefixValues": [
              "10.18.0.124/30",
              "10.18.0.128/30",
              "10.18.30.16/30",
              "10.18.30.20/30"
            ],
            "prefixType": "Prefix",
            "type": "SourceIP"
          }
        },
        {
          "ipCondition": {
            "ipPrefixValues": [
              "10.18.0.124/30",
              "10.18.0.128/30",
              "10.18.30.16/30",
              "10.18.30.20/30"
            ],
            "prefixType": "Prefix",
            "type": "DestinationIP"
          }
        }
      ],
      "matchConfigurationName": "example-Ipv4ingressACL ",
      "sequenceNumber": 1110
    }
  ],
  "name": "example-Ipv4ingressACL",
  "provisioningState": "Succeeded",
  "resourceGroup": "Fab3LabNF-4-0",
  "systemData": {
    "createdAt": "2023-09-11T10:20:20.2617941Z",
    "createdBy": "user@email.com",
    "createdByType": "User",
    "lastModifiedAt": "2023-09-11T10:20:20.2617941Z",
    "lastModifiedBy": "user@email.com",
    "lastModifiedByType": "User"
  },
  "type": "microsoft.managednetworkfabric/accesscontrollists"
}

Hinweis

Achten Sie nach dem Erstellen der ACL auf die ACL-Referenz-ID, um weitere Informationen zu erhalten.

Nächste Schritte

Anwenden von Zugriffssteuerungslisten (Access Control Lists, ACLs) auf NNI in Azure Fabric