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
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour plus d’informations, consultez Démarrage rapide pour Bash dans Azure Cloud Shell.
Si vous préférez exécuter les commandes de référence de l’interface de ligne de commande localement, installez l’interface Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
- 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>
- 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
ourange-of-ports
. - Les entrées de fragments peuvent être
port-number
ourange-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