Partager via


Création de liste de contrôle d’accès (ACL) pour les interconnexions réseau à réseau (NNI) et les réseaux externes de domaine d’isolation de couche 3

Les listes de contrôle d’accès (ACL) sont un ensemble de règles qui régissent le flux de paquets entrants et sortants au sein d’un réseau. Le service Nexus Network Fabric d’Azure offre un mécanisme basé sur une API permettant de configurer des listes ACL pour les interconnexions réseau à réseau et les réseaux externes de domaine d’isolation de couche 3. Ce guide décrit les étapes nécessaires à la création de listes ACL.

Création de listes de contrôle d’accès (ACL)

Pour créer une liste ACL et définir ses propriétés, vous pouvez utiliser la commande az networkfabric acl create. Voici les étapes à suivre :

Prérequis

  1. Définissez l’abonnement (si nécessaire) :

Si vous avez plusieurs abonnements et que vous devez en définir un comme abonnement par défaut, vous pouvez le faire avec cette commande :

az account set --subscription <subscription-id>
  1. Créer une liste 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>}]}]"
Paramètre Description
Groupe de ressources Spécifiez le groupe de ressources de votre structure réseau.
Emplacement Définissez l’emplacement où la liste ACL est créée.
Nom de la ressource Spécifiez un nom pour la liste ACL.
Annotation Si vous le souhaitez, ajoutez une description ou une annotation pour la liste ACL.
Type de configuration Spécifiez si la configuration est inline ou utilise un fichier.
Action par défaut Définissez l’action par défaut à effectuer si aucune correspondance n’est trouvée.
Configurations de mise en correspondance Définissez les conditions et les actions pour la mise en correspondance du trafic.
Actions Spécifiez l’action à entreprendre en fonction des conditions de mise en correspondance.

Conseils relatifs à l’utilisation des paramètres

Le tableau ci-dessous fournit des conseils relatifs à l’utilisation des paramètres lors de la création de listes ACL :

Paramètre Description Exemple ou plage
defaultAction Définit l’action par défaut à entreprendre "defaultAction": "Permit"
resource-group Groupe de ressources de la structure réseau nfresourcegroup
resource-name Nom de la liste ACL example-ingressACL
vlanGroups Liste de groupes de réseaux locaux virtuels
vlans Liste de réseaux locaux virtuels qui doivent être mis en correspondance
match-configurations Nom de la configuration de mise en correspondance example_acl
matchConditions Conditions devant être mises en correspondance
ttlValues TTL [durée de vie] 0-255
dscpMarking Marquages DSCP qui doivent être mis en correspondance 0-63
fragments Spécifier les paquets de fragments IP Plage : 1-8191
Exemple : [1, 5, 1250-1300, 8000-8191]
portCondition Condition de port qui doit être mise en correspondance
portType Type de port qui doit être mis en correspondance Exemple : SourcePort
ports Numéro de port qui doit être mis en correspondance Plage : 0-65535
Exemple : [1, 10, 500, 1025-1050, 64000-65535]
protocolTypes Protocoles qui doivent être mis en correspondance [tcp, udp, range[1-2, 1, 2]]
vlanMatchCondition Condition de mise en correspondance de VLAN qui doit être respectée
layer4Protocol Protocole de couche 4 Doit être TCP ou UDP
ipCondition Condition IP qui doit être mise en correspondance
actions Action à entreprendre en fonction de la condition de mise en correspondance Exemple : permit
configuration-type Type de configuration (inline ou fichier) Exemple : inline

Remarque

  • Les ports inline et les réseaux virtuels inline sont définis statiquement à l’aide d’azcli.
  • PortGroupNames et VlanGroupNames sont définis dynamiquement.
  • La combinaison de ports inline avec portGroupNames n’est pas autorisée, de même que pour les réseaux locaux virtuels inline et VLANGroupNames.
  • IpGroupNames et IpPrefixValues ne peuvent pas être combinés.
  • Les listes ACL de sortie ne prennent pas en charge certaines options telles que les options IP, la longueur IP, le fragment, etherType, le marquage DSCP et les valeurs TTL.
  • Les listes ACL d’entrée ne prennent pas en charge les options suivantes : etherType.
  • Les entrées de ports peuvent être port-number ou range-of-ports.
  • Les entrées de fragments peuvent être port-number ou range-of-ports.
  • La liste de contrôle d’accès avec configuration de mise en correspondance dynamique sur les réseaux éternels n’est pas prise en charge.

Exemple de charge utile pour la création de liste ACL

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

Exemple de sortie

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

Remarque

Après avoir créé la liste ACL, veillez à noter l’ID de référence de la liste ACL, pour référence ultérieure.

Étapes suivantes

Application de listes de contrôle d’accès (ACL) aux interconnexions NNI dans Azure Fabric