Vytvoření seznamů ACL v NNI v azure Operator Nexus

V Azure Operator Nexus seznamy řízení přístupu (ACL) pro Permit a Deny akce na úrovni síťového propojení (NNI) pomáhají chránit přístup k Secure Shellu (SSH) ve virtuální privátní síti pro správu (VPN). Před vytvořením prostředků NNI vytvoříte seznamy ACL příchozího a výchozího přenosu a potom na ně odkazujete v datové části NNI. Před zřízením síťových prostředků infrastruktury musíte vytvořit odkazované seznamy ACL pro příchozí a odchozí přenos dat.

Toto jsou základní kroky pro vytvoření seznamu ACL v NNI:

  1. Vytváření seznamů ACL příchozího a výchozího přenosu NNI
  2. Aktualizujte referenční informace k prostředkům Azure Resource Manageru v NNI pro správu.
  3. Vytvořte NNI a zřiďte síťové prostředky infrastruktury.

Pokyny k použití parametrů

Parametr Popis Příklad nebo oblast
defaultAction Výchozí akce, která se má provést. Pokud ho nedefinujete, provoz je povolený. "defaultAction": "Permit"
resource-group Skupina prostředků síťové infrastruktury. nfresourcegroup
resource-name Název seznamu ACL. example-ingressACL
vlanGroups Seznam skupin virtuální místní sítě (VLAN).
vlans Seznam sítí VLAN, které se musí shodovat.
match-configurations Název konfigurace shody. example_acl. Mezery a znak ampersand (&) nejsou podporované.
matchConditions Podmínky, které se musí shodovat.
ttlValues Hodnota TTL (Time to Live). 0-255
dscpMarking Diferencované značky bodu kódu služby (DSCP), které je potřeba spárovat. 0-63
portCondition Podmínka portu, která se musí shodovat.
portType Typ portu, který se musí shodovat. Příklad: SourcePort. Povolené hodnoty: DestinationPort, SourcePort.
protocolTypes Protokoly, které se musí shodovat. [tcp, udp, range[1-2, 1, 2]]. Pokud se jedná o číslo protokolu, mělo by být v rozsahu 1-255.
vlanMatchCondition Podmínka shody sítě VLAN, která se musí shodovat.
layer4Protocol Protokol vrstvy 4. Mělo by to být buď TCP nebo UDP.
ipCondition Podmínka PROTOKOLU IP, která se musí shodovat.
actions Akce, která se má provést na základě podmínky shody Příklad: permit.
configuration-type Typ konfigurace, který může být vložený nebo soubor. V tuto chvíli azure Operator Nexus podporuje pouze vložené. Příklad: inline.

Měli byste také vědět o těchto omezeních:

  • Vložené porty a vložené sítě VLAN představují statický způsob definování portů nebo sítí VLAN pomocí azcli.
  • portGroupNames a vlanGroupNames jsou dynamické způsoby definování portů a sítí VLAN.
  • Vložené porty a portGroupNames společně nejsou povolené.
  • Vložené sítě VLAN a vlanGroupNames společně nejsou povolené.
  • ipGroupNames a ipPrefixValues společně nejsou povoleny.
  • Výchozí seznamy ACL nepodporují možnosti PROTOKOLU IP, délku IP adresy, fragment, EtherType, označení DSCP nebo hodnoty TTL.
  • Seznamy ACL příchozího přenosu dat nepodporují možnosti EtherType.

Vytvoření seznamu ACL příchozího přenosu dat

K vytvoření seznamu ACL příchozího přenosu dat můžete použít následující příkaz Azure CLI. Tento příkaz vytvoří seznam ACL příchozího přenosu dat se zadanými konfiguracemi a poskytne očekávaný výsledek jako výstup. Upravte parametry podle potřeby pro váš případ použití.

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

Očekávaný výstup

{
    "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"
    }
}

Vytvoření výchozího seznamu ACL

K vytvoření výchozího seznamu ACL můžete použít následující příkaz Azure CLI. Tento příkaz vytvoří výchozí seznam ACL se zadanými konfiguracemi a jako výstup poskytne očekávaný výsledek. Upravte parametry podle potřeby pro váš případ použití.

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

Očekávaný výstup

{
    "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"
    }
}

Aktualizace odkazu Resource Manageru

Tento krok umožňuje vytváření seznamů ACL (příchozích a výchozích přenosů dat, pokud je k dispozici odkaz) během vytváření prostředku NNI. Po vytvoření NNI a před zřízením síťových prostředků infrastruktury můžete provést opětovné vložení NNI.

  • ingressAclId: Referenční ID pro seznam ACL příchozího přenosu dat.
  • egressAclId: Referenční ID výchozího seznamu ACL.

Pokud chcete získat ID prostředku Resource Manageru, přejděte do skupiny prostředků předplatného, které používáte.

Následující příkaz aktualizuje referenční informace Resource Manageru pro prostředek NNI tím, že ho přidružuje k zadaným seznamům ACL pro příchozí a výchozí přenos dat. Upravte parametry podle potřeby pro váš případ použití.

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"

Zobrazit podrobnosti seznamu ACL

Pokud chcete zobrazit podrobnosti zadaného seznamu ACL, použijte následující příkaz:

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

Seznamy ACL seznamu

Pokud chcete zobrazit seznam všech seznamů ACL v zadané skupině prostředků, použijte následující příkaz:

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

Vytvoření seznamů ACL v externí síti ISD

Následující informace slouží k vytvoření seznamů ACL pro příchozí a výchozí přenos dat pro externí síť (ISD). Potom aktualizujte referenční informace k prostředkům Resource Manageru pro externí síť.

Vytvoření výchozího seznamu ACL pro externí síť ISD

Pokud chcete vytvořit výchozí seznam ACL pro zadanou externí síť ISD se zadanou konfigurací, použijte následující příkaz. Upravte parametry podle potřeby pro váš případ použití.

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

Očekávaný výstup

Po úspěšném spuštění příkaz vrátí informace o vytvořeném seznamu ACL v následujícím formátu. Tento výstup obsahuje podrobnosti o konfiguraci a stavu.

{
    "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"
}

Vytvoření seznamu ACL příchozího přenosu dat pro externí síť ISD

Pokud chcete vytvořit seznam ACL příchozího přenosu dat pro zadanou externí síť ISD se zadanou konfigurací, použijte následující příkaz. Upravte parametry podle potřeby pro váš případ použití.

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

Očekávaný výstup

Po úspěšném spuštění příkaz vrátí informace o vytvořeném seznamu ACL v následujícím formátu. Tento výstup obsahuje podrobnosti o konfiguraci a stavu.

{
    "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"
}