Freigeben über


Beispiele für die Erstellung und Konfiguration von Zugriffssteuerungslisten

In diesem Artikel finden Sie Beispiele zum Erstellen und Aktualisieren von Zugriffssteuerungslisten (Access Control Lists, ACLS).

Übersicht über den ACL-Erstellungsfluss

Das Erstellen einer Zugriffssteuerungsliste (Access Control List, ACL), die einer Network-to-Network Interconnect (NNI) zugeordnet ist, umfasst die folgenden Schritte:

  • Erstellen Sie eine Network Fabric-Ressource, und fügen Sie ihr eine untergeordnete NNI-Ressource hinzu.

  • Erstellen Sie ACL-Ressourcen mithilfe des az networkfabric acl create Befehls, und erstellen Sie ACL-Ressourcen. Sie können Übereinstimmungskonfigurationen und die Standardaktion für die ACL bereitstellen. Sie können auch dynamische Übereinstimmungskonfigurationen entweder inline oder in einer Datei bereitstellen, die in Ihrem Blob-Container für Ihr Azure-Speicherkonto gespeichert ist.

  • Aktualisieren Sie die NNI-Ressource mit den Eingangs- und Ausgangs-ACL-IDs mithilfe des az networkfabric nni update Befehls. Sie müssen gültige ACL-Ressourcen-IDs in den --ingress-acl-id und --egress-acl-id Parametern angeben.

  • Stellen Sie die Network Fabric-Ressource mithilfe des az networkfabric fabric provision Befehls bereit. Dadurch werden die Basiskonfiguration und die dynamische Übereinstimmungskonfiguration für die ACLs generiert und an die Geräte gesendet.

Übersicht über den ACL-Aktualisierungsfluss

  • Erstellen Sie ACL-Ressourcen mithilfe von Eingangs- und Ausgangsressourcen az networkfabric acl create , wie im vorherigen Abschnitt beschrieben.

  • Aktualisieren Sie die Eingangs- oder Ausgangs-ACL mithilfe des az networkfabric acl update Befehls.

  • Überprüfen Sie den Konfigurationsstatus der ACL.accepted

  • Überprüfen Sie den Konfigurationsstatus des Fabric.accepted

  • Führen Sie Fabric Commit aus, um die ACL zu aktualisieren.

Beispielbefehle

Zugriffssteuerungsliste in einer Netzwerk-zu-Netzwerkverbindung

In diesem Beispiel wird gezeigt, wie Sie einen NNI mit zwei ACLs erstellen– eine für den Ausgang und eine für den Ausgang.

Die ACLs müssen vor der Bereitstellung der Network Fabric angewendet werden. Diese Einschränkung ist temporär und wird in zukünftiger Version entfernt. Die Eingangs- und Ausgangs-ACLs werden vor der NNI-Ressource erstellt und beim Erstellen des NNI referenziert, wodurch auch die Erstellung der ACLs ausgelöst wird. Diese Konfiguration muss ausgeführt werden, bevor die Netzwerk fabric bereitgestellt wird.

Erstellen eines Eingangs-ACL: Beispielbefehl

az networkfabric acl create \
    --resource-group "example-rg"
    --location "eastus2euap" \
    --resource-name "example-Ipv4ingressACL" \
    --configuration-type "Inline" \
    --default-action "Permit" \
    --dynamic-match-configurations "[{ipGroups:[{name:'example-ipGroup',ipAddressType:IPv4,ipPrefixes:['10.20.3.1/20']}],vlanGroups:[{name:'example-vlanGroup',vlans:['20-30']}],portGroups:[{name:'example-portGroup',ports:['100-200']}]}]" \
    --match-configurations "[{matchConfigurationName:'example-match',sequenceNumber:123,ipAddressType:IPv4,matchConditions:[{etherTypes:['0x1'],fragments:['0xff00-0xffff'],ipLengths:['4094-9214'],ttlValues:[23],dscpMarkings:[32],portCondition:{flags:[established],portType:SourcePort,layer4Protocol:TCP,ports:['1-20']},protocolTypes:[TCP],vlanMatchCondition:{vlans:['20-30'],innerVlans:[30]},ipCondition:{type:SourceIP,prefixType:Prefix,ipPrefixValues:['10.20.20.20/12']}}],actions:[{type:Count,counterName:'example-counter'}]}]"

Erstellen eines Ausgangs-ACL: Beispielbefehl

az networkfabric acl create \
    --resource-group "example-rg" \
    --location "eastus2euap" \
    --resource-name "example-Ipv4egressACL" \
    --configuration-type "File" \
    --acls-url "https://ACL-Storage-URL" \
    --default-action "Permit" \
    --dynamic-match-configurations "[{ipGroups:[{name:'example-ipGroup',ipAddressType:IPv4,ipPrefixes:['10.20.3.1/20']}],vlanGroups:[{name:'example-vlanGroup',vlans:['20-30']}],portGroups:[{name:'example-portGroup',ports:['100-200']}]}]"

Zugriffssteuerungsliste für eine Isolation Standard externes Netzwerk

Verwenden Sie den az networkfabric acl create Befehl, um Eingangs- und Ausgangs-ACLs für das externe Netzwerk zu erstellen. Im Beispiel geben wir die Ressourcengruppe, den Namen, den Standort, die Netzwerk fabric-ID, die externe Netzwerk-ID und andere Parameter an. Sie können auch die Übereinstimmungsbedingungen und Aktionen für die ACL-Regeln mithilfe der und --action der --match Parameter angeben.

Dieser Befehl erstellt einen Eingangs-ACL-Namen acl-ingress , der ICMP-Datenverkehr von jeder Quelle zum externen Netzwerk zulässt:

az networkfabric acl create \
    --resource-group myResourceGroup \
    --name acl-ingress \
    --location eastus \
    --network-fabric-id /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.NetworkFabric/networkFabrics/myNetworkFabric \
    --external-network-id /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.NetworkFabric/externalNetworks/ext-net \
    --match "ip protocol icmp" \
    --action allow

Verwenden Sie den az networkfabric externalnetwork update Befehl, um das externe Netzwerk mit der Ressourcengruppe, dem Namen und der Netzwerk fabric-ID zu aktualisieren. Sie müssen auch die Eingangs- und Ausgangs-ACL-IDs mithilfe der und --egress-acl-id der --ingress-acl-id Parameter angeben. Der folgende Befehl aktualisiert z. B. das externe Netzwerk, das benannt ext-net ist, um auf den Eingangs-ACL-Namen acl-ingresszu verweisen:

az networkfabric externalnetwork update \
    --resource-group myResourceGroup \
    --name ext-net \
    --network-fabric-id /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.NetworkFabric/networkFabrics/myNetworkFabric \
    --ingress-acl-id /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.NetworkFabric/acls/acl-ingress

Weitere Beispielszenarien und Befehle

Um eine ACL für einen Ausgang für einen NNI zu erstellen, der den gesamten Datenverkehr außer HTTP und HTTPS verweigert, können Sie diesen Befehl verwenden:

az networkfabric acl create \
    --name acl-egress \
    --resource-group myResourceGroup \
    --nni-id /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.NetworkFabric/networkInterfaces/myNni \
    --match "ip protocol tcp destination port 80 or 443" \
    --action allow \
    --default-action deny

Um eine vorhandene ACL zu aktualisieren, um eine neue Übereinstimmungsbedingung und -aktion hinzuzufügen, können Sie diesen Befehl verwenden:

az networkfabric acl update \
    --name acl-ingress \
    --resource-group myResourceGroup \
    --match "ip protocol icmp" \
    --action allow \
    --append-match-configurations

Um alle ACLs in einer Ressourcengruppe auflisten zu können, können Sie diesen Befehl verwenden:

az networkfabric acl list --resource-group myResourceGroup

Um die Details einer bestimmten ACL anzuzeigen, können Sie diesen Befehl verwenden:

az networkfabric acl show \
    --name acl-ingress \
    --resource-group myResourceGroup

Um eine ACL zu löschen, können Sie diesen Befehl verwenden:

az networkfabric acl delete \
    --name acl-egress \
    --resource-group myResourceGroup