Skip to content

Commit 3a8b633

Browse files
authored
Merge pull request #272499 from sushantjrao/patch-14
Update concepts-access-control-lists.md
2 parents d34e1ca + ae9fe67 commit 3a8b633

File tree

1 file changed

+28
-40
lines changed

1 file changed

+28
-40
lines changed

articles/operator-nexus/concepts-access-control-lists.md

Lines changed: 28 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -9,58 +9,46 @@ ms.date: 02/09/2024
99
ms.custom: template-concept
1010
---
1111

12-
# Access Control Lists Overview
12+
# Access Control List in Azure Operator Nexus Network Fabric
1313

14-
An Access Control List (ACL) is a list of rules that control the inbound and outbound flow of packets through an interface. The interface can be an Ethernet interface, a sub interface, a port channel interface, or the switch control plane itself.
14+
Access Control Lists (ACLs) are a set of rules that regulate inbound and outbound packet flow within a network. Azure's Nexus Network Fabric service offers an API-based mechanism to configure ACLs for network-to-network interconnects and layer 3 isolation domain external networks. These APIs enable the specification of traffic classes and performance actions based on defined rules and actions within the ACLs. ACL rules define the data against which packet contents are compared for filtering purposes.
1515

16-
An ACL that is applied to incoming packets is called an **Ingress ACL**. An ACL that is applied to outgoing packets is called an **Egress ACL**.
16+
## Objective
1717

18-
An ACL has a Traffic-Policy definition including a set of match criteria and respective actions. The Traffic-Policy can match various conditions and perform actions such as count, drop, log, or police.
18+
The primary objective of ACLs is to secure and regulate incoming and outgoing tenant traffic flowing through the Nexus Network Fabric via network-to-network interconnects (NNIs) or layer 3 isolation domain external networks. ACL APIs empower administrators to control data rates for specific traffic classes and take action when traffic exceeds configured thresholds. This safeguards tenants from network threats by applying ingress ACLs and protects the network from tenant activities through egress ACLs. ACL implementation simplifies network management by securing networks and facilitating the configuration of bulk rules and actions via APIs.
1919

20-
The available match criteria depend on the ACL type:
20+
## Functionality
2121

22-
- IPv4 ACLs can match IPv4 source or destination addresses, with L4 modifiers including protocol, port number, and DSCP value.
22+
ACLs utilize match criteria and actions tailored for different types of network resources, such as NNIs and external networks. ACLs can be applied in two primary forms:
2323

24-
- IPv6 ACLs can match IPv6 source or destination addresses, with L4 modifiers including protocol, port number.
24+
- **Ingress ACL**: Controls inbound packet flow.
25+
- **Egress ACL**: Regulates outbound packet flow.
2526

26-
- Standard IPv4 ACLs can match only on source IPv4 address.
27+
Both types of ACLs can be applied to NNIs or external network resources to filter and manipulate traffic based on various match criteria and actions.
2728

28-
- Standard IPv6 ACLs can match only on source IPv6 address.
29+
### Supported network resources:
2930

30-
ACLs can be either static or dynamic. Static ACLs are processed in order, beginning with the first rule and proceeding until a match is encountered. Dynamic ACLs use the payload keyword to turn an ACL into a group like PortGroups, VlanGroups, IPGroups for use in other ACLs. A dynamic ACL provides the user with the ability to enable or disable ACLs based on access session requirements.
31+
| Resource Name | Supported | SKU |
32+
|--------------------------------|-----------|-------------|
33+
| NNI | Yes | All |
34+
| Isolation Domain External Network | Yes on External Network with option A | All |
3135

32-
ACLs can be applied to Network to Network interconnect (NNI) or External Network resources. An NNI is a child resource of a Network Fabric. ACLs can be created and linked to an NNI before the Network Fabric is provisioned. ACLs can be updated or deleted after the Network Fabric is deprovisioned.
36+
## Match configuration
3337

34-
This table summarizes the resources that can be associated with an ACL:
38+
Match criteria are conditions used to match packets based on attributes such as IP address, protocol, port, VLAN, DSCP, ethertype, fragment, TTL, etc. Each match criterion has a name, a sequence number, an IP address type, and a list of match conditions. Match conditions are evaluated using the logical AND operator.
3539

40+
- **dot1q**: Matches packets based on VLAN ID in the 802.1Q tag.
41+
- **Fragment**: Matches packets based on whether they are IP fragments or not.
42+
- **IP**: Matches packets based on IP header fields such as source/destination IP address, protocol, and DSCP.
43+
- **Protocol**: Matches packets based on the protocol type.
44+
- **Source/Destination**: Matches packets based on port number or range.
45+
- **TTL**: Matches packets based on the Time-To-Live (TTL) value in the IP header.
46+
- **DSCP**: Matches packets based on the Differentiated Services Code Point (DSCP) value in the IP header.
3647

37-
| Resource Name | Supported | Default |
38-
|--|--|--|
39-
| NNF | Yes | All Production SKUs |
40-
| Isolation Domain | Yes on External Network with optionA | NA |
41-
| Network to network interconnect(NNI) | Yes | NA |
48+
## Action property of Access Control List
4249

43-
## Traffic policy
50+
The action property of an ACL statement can have one of the following types:
4451

45-
A traffic policy is a set of rules that control the flow of packets in and out of a network interface. This section explains the match criteria and actions available for distinct types of network resources.
46-
47-
- **Match Configuration**: The conditions that are used to match packets. You can match on various attributes, including:
48-
- IP address
49-
- Transport protocol
50-
- Port
51-
- VLAN ID
52-
- DSCP
53-
- Ethertype
54-
- IP fragmentation
55-
- TTL
56-
57-
Each match criterion has a name, a sequence number, an IP address type, and a list of match conditions. A packet matches the configuration if it meets all the criteria. For example, a match configuration of `protocol tcp, source port 100, destination port 200` matches packets that use the TCP protocol, with source port 100 and destination port 200.
58-
59-
- **Actions**: The operations that are performed on the matched packets, including:
60-
- Count
61-
- Permit
62-
- Drop
63-
64-
Each match criterion can have one or more actions associated with it.
65-
66-
- **Dynamic match configuration**: An optional feature that allows the user to define custom match conditions using field sets and user-defined fields. Field sets are named groups of values that can be used in match conditions, such as port numbers, IP addresses, VLAN IDs, etc. Dynamic match configuration can be provided inline or in a file stored in a blob container. For example, `field-set tcpport1 80, 443, 8080` defines a field set named tcpport1 with three port values, and `user-defined-field gtpv1-tid payload 0 32` defines a user-defined field named gtpv1-tid that matches the first 32 bits of the payload.
52+
- **Permit**: Allows packets that match specified conditions.
53+
- **Drop**: Discards packets that match specified conditions.
54+
- **Count**: Counts the number of packets that match specified conditions.

0 commit comments

Comments
 (0)