Exempel på skapande och konfiguration av åtkomstkontrollistor
Den här artikeln innehåller exempel på hur du skapar och uppdaterar åtkomstkontrollistor (ACLS).
När du skapar en åtkomstkontrollista (ACL) som är associerad med en NNI (Network-to-Network Interconnect) ingår följande steg:
Skapa en Network Fabric-resurs och lägg till en underordnad NNI-resurs i den.
Skapa ingress- och utgående ACL-resurser med kommandot
az networkfabric acl create
. Du kan ange matchningskonfigurationer och standardåtgärden för ACL. Du kan också ange dynamiska matchningskonfigurationer antingen infogade eller i en fil som lagras i azure-lagringskontots blobcontainer.Uppdatera NNI-resursen med ingress- och utgående ACL-ID:n med kommandot
az networkfabric nni update
. Du måste ange giltiga ACL-resurs-ID:er i parametrarna--ingress-acl-id
och--egress-acl-id
.Etablera Network Fabric-resursen
az networkfabric fabric provision
med kommandot . Detta genererar baskonfigurationen och den dynamiska matchningskonfigurationen för ACL:erna och skickar dem till enheterna.
Skapa ingress- och utgående ACL-resurser med hjälp av
az networkfabric acl create
enligt beskrivningen i föregående avsnitt.Uppdatera ingress- eller utgående ACL med hjälp av
az networkfabric acl update
kommandot .Kontrollera att konfigurationstillståndet för ACL:en är
accepted
.Kontrollera att konfigurationstillståndet för infrastrukturresurserna är
accepted
.Kör Fabric Commit för att uppdatera ACL:en.
Det här exemplet visar hur du skapar ett NNI med två ACL:er – en för inkommande och en för utgående trafik.
ACL:erna måste tillämpas innan nätverksinfrastrukturen etableras. Den här begränsningen är tillfällig och tas bort i framtida versioner. Ingress- och utgående ACL:er skapas före NNI-resursen och refereras när NNI skapas, vilket också utlöser skapandet av ACL:er. Den här konfigurationen måste göras innan nätverksinfrastrukturen etableras.
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'}]}]"
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']}]}]"
az networkfabric acl create
Använd kommandot för att skapa inkommande och utgående ACL:er för det externa nätverket. I exemplet anger vi resursgruppen, namn, plats, nätverksinfrastruktur-ID, externt nätverks-ID och andra parametrar. Du kan också ange matchningsvillkor och åtgärder för ACL-reglerna med hjälp av parametrarna --match
och --action
.
Det här kommandot skapar en inkommande ACL med namnet acl-ingress
som tillåter ICMP-trafik från valfri källa till det externa nätverket:
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
az networkfabric externalnetwork update
Använd kommandot för att uppdatera det externa nätverket med resursgruppen, namnet och nätverksinfrastruktur-ID:t. Du måste också ange ingress- och utgående ACL-ID:n med parametrarna --ingress-acl-id
och --egress-acl-id
. Följande kommando uppdaterar till exempel det externa nätverket med namnet ext-net
för att referera till den inkommande ACL:en med namnet acl-ingress
:
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
Om du vill skapa en utgående ACL för ett NNI som nekar all trafik förutom HTTP och HTTPS kan du använda det här kommandot:
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
Om du vill uppdatera en befintlig ACL för att lägga till ett nytt matchningsvillkor och en ny åtgärd kan du använda det här kommandot:
az networkfabric acl update \
--name acl-ingress \
--resource-group myResourceGroup \
--match "ip protocol icmp" \
--action allow \
--append-match-configurations
Om du vill visa en lista över alla ACL:er i en resursgrupp kan du använda det här kommandot:
az networkfabric acl list --resource-group myResourceGroup
Om du vill visa information om en specifik ACL kan du använda det här kommandot:
az networkfabric acl show \
--name acl-ingress \
--resource-group myResourceGroup
Om du vill ta bort en ACL kan du använda det här kommandot:
az networkfabric acl delete \
--name acl-egress \
--resource-group myResourceGroup