Delen via


ACL's maken op een NNI in Azure Operator Nexus

In Azure Operator Nexus helpen toegangsbeheerlijsten (ACL's) voor Permit en Deny acties op NNI-niveau (network-to-network interconnect) de toegang tot Secure Shell (SSH) te beveiligen op het VPN (Virtual Private Network) voor beheer. U maakt toegangsbeheerlijsten voor inkomend en uitgaand verkeer voordat u NNI-resources maakt en verwijst vervolgens naar die ACL's in de NNI-nettolading. U moet toegangsbeheerlijsten voor inkomend en uitgaand verkeer maken voordat u de netwerkinfrastructuur inricht.

Dit zijn de algemene stappen voor het maken van een ACL op een NNI:

  1. NNI-toegangsbeheerlijsten voor inkomend en uitgaand verkeer maken.
  2. Werk de azure Resource Manager-resourcereferentie bij in een beheer-NNI.
  3. Maak een NNI en richt de netwerkinfrastructuur in.

Richtlijnen voor parametergebruik

Parameter Description Voorbeeld of bereik
defaultAction Standaardactie die moet worden uitgevoerd. Als u dit niet definieert, is verkeer toegestaan. "defaultAction": "Permit"
resource-group Resourcegroep van de netwerkinfrastructuur. nfresourcegroup
resource-name Naam van de ACL. example-ingressACL
vlanGroups Lijst met VLAN-groepen (Virtual Local Area Network).
vlans Lijst met VLAN's die moeten worden vergeleken.
match-configurations Naam van de overeenkomstconfiguratie. example_acl. Spaties en het en-teken (&) worden niet ondersteund.
matchConditions Voorwaarden waaraan moet worden voldaan.
ttlValues Time to live (TTL). 0-255
dscpMarking DSCP-markeringen (Differentiated Services Code Point) die moeten worden vergeleken. 0-63
portCondition Poortvoorwaarde die moet worden gekoppeld.
portType Poorttype dat moet worden vergeleken. Voorbeeld: SourcePort. Toegestane waarden: DestinationPort, SourcePort.
protocolTypes Protocollen die moeten worden gekoppeld. [tcp, udp, range[1-2, 1, 2]]. Als het een protocolnummer is, moet het zich in het bereik van 1-255.
vlanMatchCondition Voorwaarde voor VLAN-overeenkomst die moet worden vergeleken.
layer4Protocol Laag 4-protocol. Moet een van TCP beide zijn of UDP.
ipCondition IP-voorwaarde die moet worden vergeleken.
actions Actie die moet worden uitgevoerd op basis van een overeenkomstvoorwaarde. Voorbeeld: permit.
configuration-type Configuratietype, dat inline of bestand kan zijn. Op dit moment ondersteunt Azure Operator Nexus alleen inline. Voorbeeld: inline.

U moet ook rekening houden met deze beperkingen:

  • Inlinepoorten en inline-VLAN's zijn een statische manier om de poorten of VLAN's te definiĆ«ren met behulp van azcli.
  • portGroupNames en vlanGroupNames zijn dynamische manieren om poorten en VLAN's te definiĆ«ren.
  • Inlinepoorten en portGroupNames samen zijn niet toegestaan.
  • Inline-VLAN's en vlanGroupNames samen zijn niet toegestaan.
  • ipGroupNames en ipPrefixValues samen zijn niet toegestaan.
  • Uitgaande ACL's bieden geen ondersteuning voor IP-opties, IP-lengte, fragment, EtherType, DSCP-markering of TTL-waarden.
  • Toegangsbeheerlijsten voor inkomend verkeer bieden geen ondersteuning voor EtherType-opties.

Een toegangsbeheerbeheerlijst voor inkomend verkeer maken

Als u een toegangsbeheerbeheerlijst wilt maken, kunt u de volgende Azure CLI-opdracht gebruiken. Met deze opdracht maakt u een toegangsbeheerbeheerlijst met de opgegeven configuraties en levert u het verwachte resultaat als uitvoer. Pas de parameters zo nodig aan voor uw use-case.

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'}]}]"

Verwachte uitvoer

{
    "properties": {
        "lastSyncedTime": "2023-06-17T08:56:23.203Z",
        "configurationState": "Succeeded",
        "provisioningState": "Accepted",
        "administrativeState": "Enabled",
        "annotation": "annotation",
        "configurationType": "File",
        "aclsUrl": "https://ACL-Storage-URL",
        "matchConfigurations": [{
            "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",
                    "l4Protocol": "TCP",
                    "ports": ["1-20"],
                    "portGroupNames": ["example-portGroup"]
                },
                "protocolTypes": ["TCP"],
                "vlanMatchCondition": {
                    "vlans": ["20-30"],
                    "innerVlans": [30],
                    "vlanGroupNames": ["example-vlanGroup"]
                },
                "ipCondition": {
                    "type": "SourceIP",
                    "prefixType": "Prefix",
                    "ipPrefixValues": ["10.20.20.20/12"],
                    "ipGroupNames": ["example-ipGroup"]
                }
            }]
        }],
        "actions": [{
            "type": "Count",
            "counterName": "example-counter"
        }]
    },
    "tags": {
        "keyID": "KeyValue"
    },
    "location": "eastUs",
    "id": "/subscriptions/xxxxxx/resourceGroups/resourcegroupname/providers/Microsoft.ManagedNetworkFabric/accessControlLists/acl",
    "name": "example-Ipv4ingressACL",
    "type": "microsoft.managednetworkfabric/accessControlLists",
    "systemData": {
        "createdBy": "email@address.com",
        "createdByType": "User",
        "createdAt": "2023-06-09T04:51:41.251Z",
        "lastModifiedBy": "UserId",
        "lastModifiedByType": "User",
        "lastModifiedAt": "2023-06-09T04:51:41.251Z"
    }
}

Een uitgaande ACL maken

Als u een uitgaande ACL wilt maken, kunt u de volgende Azure CLI-opdracht gebruiken. Met deze opdracht maakt u een uitgaande ACL met de opgegeven configuraties en levert u het verwachte resultaat als uitvoer. Pas de parameters zo nodig aan voor uw use-case.

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']}]}]"

Verwachte uitvoer

{
    "properties": {
        "lastSyncedTime": "2023-06-17T08:56:23.203Z",
        "configurationState": "Succeeded",
        "provisioningState": "Accepted",
        "administrativeState": "Enabled",
        "annotation": "annotation",
        "configurationType": "File",
        "aclsUrl": "https://ACL-Storage-URL",
        "dynamicMatchConfigurations": [{
            "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"]
            }]
        }]
    },
    "tags": {
        "keyID": "KeyValue"
    },
    "location": "eastUs",
    "id": "/subscriptions/xxxxxx/resourceGroups/resourcegroupname/providers/Microsoft.ManagedNetworkFabric/accessControlLists/acl",
    "name": "example-Ipv4egressACL",
    "type": "microsoft.managednetworkfabric/accessControlLists",
    "systemData": {
        "createdBy": "email@address.com",
        "createdByType": "User",
        "createdAt": "2023-06-09T04:51:41.251Z",
        "lastModifiedBy": "UserId",
        "lastModifiedByType": "User",
        "lastModifiedAt": "2023-06-09T04:51:41.251Z"
    }
}

De Resource Manager-verwijzing bijwerken

Met deze stap kunt u ACL's maken (inkomend en uitgaand verkeer als er een verwijzing wordt opgegeven) tijdens het maken van de NNI-resource. Nadat u de NNI hebt gemaakt en voordat u de netwerkinfrastructuur inricht, kunt u de NNI opnieuw uitvoeren.

  • ingressAclId: Referentie-id voor de toegangsbeheerlijst voor inkomend verkeer.
  • egressAclId: Referentie-id voor de uitgaande ACL.

Als u de Resource Manager-resource-id wilt ophalen, gaat u naar de resourcegroep van het abonnement dat u gebruikt.

Met de volgende opdracht wordt de Resource Manager-verwijzing voor de NNI-resource bijgewerkt door deze te koppelen aan de opgegeven toegangsbeheerbeheerlijsten voor inkomend en uitgaand verkeer. Pas de parameters zo nodig aan voor uw use-case.

az networkfabric nni create
--resource-group "example-rg"
--fabric "example-fabric"
--resource-name "example-nniwithACL"
--nni-type "CE"
--is-management-type "True"
--use-option-b "True"
--layer2-configuration "{interfaces:['/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkDevices/example-networkDevice/networkInterfaces/example-interface'],mtu:1500}"
--option-b-layer3-configuration "{peerASN:28,vlanId:501,primaryIpv4Prefix:'10.18.0.124/30',secondaryIpv4Prefix:'10.18.0.128/30',primaryIpv6Prefix:'10:2:0:124::400/127',secondaryIpv6Prefix:'10:2:0:124::402/127'}"
--ingress-acl-id "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accesscontrollists/example-Ipv4ingressACL"
--egress-acl-id "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accesscontrollists/example-Ipv4egressACL"

ACL-details weergeven

Gebruik de volgende opdracht om de details van een opgegeven ACL weer te geven:

az networkfabric acl show --resource-group "example-rg" --resource-name "example-acl"

ACL's weergeven

Gebruik de volgende opdracht om alle ACL's in een opgegeven resourcegroep weer te geven:

az networkfabric acl list --resource-group "ResourceGroupName"

ACL's maken in het externe ISD-netwerk

Gebruik de volgende informatie om toegangsbeheerlijsten voor inkomend en uitgaand verkeer te maken voor het externe netwerk van het isolatiedomein (ISD). Werk vervolgens de Resource Manager-resourcereferentie voor het externe netwerk bij.

Een uitgaande ACL maken voor het externe ISD-netwerk

Gebruik de volgende opdracht om een uitgaande ACL te maken voor het opgegeven externe ISD-netwerk met de opgegeven configuratie. Pas de parameters zo nodig aan voor uw use-case.

az networkfabric acl create
--resource-group "example-rg"
--location "eastus2euap"
--resource-name "example-Ipv4egressACL"
--annotation "annotation"
--configuration-type "Inline"
--default-action "Deny"
--match-configurations "[{matchConfigurationName:'L3ISD_EXT_OPTA_EGRESS_ACL_IPV4_CE_PE',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}]}]"

Verwachte uitvoer

Na een geslaagde uitvoering retourneert de opdracht informatie over de gemaakte ACL in de volgende indeling. Deze uitvoer bevat details over de configuratie en status.

{
    "administrativeState": "Disabled",
    "annotation": "annotation",
    "configurationState": "Succeeded",
    "configurationType": "Inline",
    "defaultAction": "Deny",
    "id": "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accessControlLists/example-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": "L3ISD_EXT_OPTA_EGRESS_ACL_IPV4_CE_PE",
            "sequenceNumber": 1110
        }
    ],
    "name": "example-Ipv4egressACL",
    "provisioningState": "Succeeded",
    "resourceGroup": "example-rg",
    "systemData": {
        "createdAt": "2023-09-11T10:20:20.2617941Z",
        "createdBy": "email@address.com",
        "createdByType": "User",
        "lastModifiedAt": "2023-09-11T10:20:20.2617941Z",
        "lastModifiedBy": "email@address.com",
        "lastModifiedByType": "User"
    },
    "type": "microsoft.managednetworkfabric/accesscontrollists"
}

Een toegangsbeheerlijst voor het externe ISD-netwerk maken

Gebruik de volgende opdracht om een toegangsbeheerobject-ACL te maken voor het opgegeven externe ISD-netwerk met de opgegeven configuratie. Pas de parameters zo nodig aan voor uw use-case.

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:'L3ISD_EXT_OPTA_INGRESS_ACL_IPV4_CE_PE',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}]}]"

Verwachte uitvoer

Na een geslaagde uitvoering retourneert de opdracht informatie over de gemaakte ACL in de volgende indeling. Deze uitvoer bevat details over de configuratie en status.

{
    "administrativeState": "Disabled",
    "annotation": "annotation",
    "configurationState": "Succeeded",
    "configurationType": "Inline",
    "defaultAction": "Deny",
    "id": "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accessControlLists/example-Ipv4ingressACL",
    "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": "L3ISD_EXT_OPTA_INGRESS_ACL_IPV4_CE_PE",
            "sequenceNumber": 1110
        }
    ],
    "name": "example-Ipv4ingressACL",
    "provisioningState": "Succeeded",
    "resourceGroup": "example-rg",
    "systemData": {
        "createdAt": "2023-09-11T10:20:20.2617941Z",
        "createdBy": "email@address.com",
        "createdByType": "User",
        "lastModifiedAt": "2023-09-11T10:27:27.2317467Z",
        "lastModifiedBy": "email@address.com",
        "lastModifiedByType": "User"
    },
    "type": "microsoft.managednetworkfabric/accesscontrollists"
}