You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/operator-nexus/howto-configure-acls-for-ssh-management-on-access-vpn.md
+65-87Lines changed: 65 additions & 87 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
-
title: "Azure Operator Nexus: How to Configure Network Access Control Lists (ACLs) for SSH Access on Management VPN."
3
-
description: Instructions on setting up network access control lists (ACLs) to control SSH access on a management VPN.
2
+
title: Create ACLs on an NNI in Azure Operator Nexus
3
+
description: Get instructions on setting up network access control lists (ACLs) to control SSH access on a management VPN.
4
4
ms.service: azure-operator-nexus
5
5
ms.custom: template-how-to, devx-track-azurecli
6
6
ms.topic: how-to
@@ -9,54 +9,51 @@ author: sushantjrao
9
9
ms.author: sushrao
10
10
---
11
11
12
-
# How-To Guide: Creating ACLs on an NNI
12
+
# Create ACLs on an NNI in Azure Operator Nexus
13
13
14
-
ACLs (Permit & Deny) at an NNI Level are designed to protect SSH access on the Management VPN. Network Access Control Lists can be applied before provisioning the Network Fabric. It's important to note that this limitation is temporary and will be removed in future releases.
14
+
In Azure Operator Nexus, access control lists (ACLs) for `Permit` and `Deny` actions at a network-to-network interconnect (NNI) level help protect Secure Shell (SSH) access on the management virtual private network (VPN). You create ingress and egress ACLs before the creation of NNI resources and then reference those ACLs in the NNI payload. You need to create referenced ingress and egress ACLs before you provision the network fabric.
15
15
16
-
Ingress and Egress ACLs are created prior to the creation of NNI resources and are referenced into the NNI payload. When NNI resources are created, they also create referenced ingress and egress ACLs. This activity needs to be performed before provisioning the Network Fabric.
16
+
These are the high-level steps for creating an ACL on an NNI:
17
17
18
-
## Steps to Create an ACL on an NNI:
18
+
1. Create NNI ingress and egress ACLs.
19
+
2. Update the Azure Resource Manager resource reference in a management NNI.
20
+
3. Create an NNI and provision the network fabric.
19
21
20
-
1. Create NNI Ingress and Egress ACLs
21
-
2. Update ARM Resource Reference in Management NNI
| defaultAction | Defines default action to be taken. If not defined, traffic is permitted. | "defaultAction": "Permit" |
29
-
| resource-group | Resource group of the network fabric. | nfresourcegroup |
30
-
| resource-name | Name of the ACL. | example-ingressACL |
31
-
| vlanGroups | List of VLAN groups. ||
32
-
| vlans | List of VLANs that need to be matched. ||
33
-
| match-configurations | Name of match configuration. | example_acl (spaces and special character "&" aren't supported) |
34
-
| matchConditions | Conditions required to be matched. ||
35
-
| ttlValues | TTL (Time To Live). | 0-255 |
36
-
| dscpMarking | DSCP Markings that need to be matched. | 0-63 |
37
-
| portCondition | Port condition that needs to be matched. ||
38
-
| portType | Port type that needs to be matched. | Example: SourcePort. Allowed values: DestinationPort, SourcePort |
39
-
| protocolTypes | Protocols that need to be matched. |[tcp, udp, range[1-2, 1, 2]] (if protocol number, it should be in the range of 1-255) |
40
-
| vlanMatchCondition | VLAN match condition that needs to be matched. ||
41
-
| layer4Protocol | Layer 4 Protocol. | Should be either TCP or UDP |
42
-
| ipCondition | IP condition that needs to be matched. ||
43
-
| actions | Action to be taken based on match condition. | Example: permit |
44
-
| configuration-type | Configuration type can be inline or by using a file. However, AON supports only inline today. | Example: inline |
45
-
46
-
47
-
There are some further restrictions that you should be aware of:
48
-
49
-
-**Inline ports and inline VLANs** are a static way of defining the ports or VLANs using `azcli`.
50
-
-**PortGroupNames and VLANGroupNames** are dynamic ways of defining ports and VLANs.
51
-
-**Inline ports and the PortGroupNames** together aren't allowed.
52
-
-**Inline VLANs and the VLANGroupNames** together aren't allowed.
53
-
-**IpGroupNames and IpPrefixValues** together aren't allowed.
54
-
-**Egress ACLs** won’t support IP options, IP length, fragment, ether-type, DSCP marking, or TTL values.
55
-
-**Ingress ACLs** won't support following options: etherType.
56
-
57
-
## Creating Ingress ACL
58
-
59
-
To create an Ingress ACL, you can use the following Azure CLI command:
26
+
|`defaultAction`| Default action to be taken. If you don't define it, traffic is permitted. |`"defaultAction": "Permit"`|
27
+
|`resource-group`| Resource group of the network fabric. |`nfresourcegroup`|
28
+
|`resource-name`| Name of the ACL. |`example-ingressACL`|
29
+
|`vlanGroups`| List of virtual local area network (VLAN) groups. ||
30
+
|`vlans`| List of VLANs that need to be matched. ||
31
+
|`match-configurations`| Name of the match configuration. |`example_acl`. Spaces and the ampersand character (&) aren't supported. |
32
+
|`matchConditions`| Conditions required to be matched. ||
33
+
|`ttlValues`| Time to live (TTL). |`0`-`255`|
34
+
|`dscpMarking`| Differentiated Services Code Point (DSCP) markings that need to be matched. |`0`-`63`|
35
+
|`portCondition`| Port condition that needs to be matched. ||
36
+
|`portType`| Port type that needs to be matched. | Example: `SourcePort`. Allowed values: `DestinationPort`, `SourcePort`. |
37
+
|`protocolTypes`| Protocols that need to be matched. |`[tcp, udp, range[1-2, 1, 2]]`. If it's a protocol number, it should be in the range of `1`-`255`. |
38
+
|`vlanMatchCondition`| VLAN match condition that needs to be matched. ||
39
+
|`layer4Protocol`| Layer 4 protocol. | Should be either `TCP` or `UDP`. |
40
+
|`ipCondition`| IP condition that needs to be matched. ||
41
+
|`actions`| Action to be taken based on a match condition. | Example: `permit`. |
42
+
|`configuration-type`| Configuration type, which can be inline or file. At this time, Azure Operator Nexus supports only inline. | Example: `inline`. |
43
+
44
+
You should also be aware of these restrictions:
45
+
46
+
- Inline ports and inline VLANs are a static way of defining the ports or VLANs by using `azcli`.
47
+
-`portGroupNames` and `vlanGroupNames` are dynamic ways of defining ports and VLANs.
48
+
- Inline ports and `portGroupNames` together aren't allowed.
49
+
- Inline VLANs and `vlanGroupNames` together aren't allowed.
50
+
-`ipGroupNames` and `ipPrefixValues` together aren't allowed.
51
+
- Egress ACLs don't support IP options, IP length, fragment, EtherType, DSCP marking, or TTL values.
52
+
- Ingress ACLs don't support EtherType options.
53
+
54
+
## Create an ingress ACL
55
+
56
+
To create an ingress ACL, you can use the following Azure CLI command. This command creates an ingress ACL with the specified configurations and provides the expected result as output. Adjust the parameters as needed for your use case.
60
57
61
58
```bash
62
59
az networkfabric acl create
@@ -70,7 +67,7 @@ az networkfabric acl create
70
67
71
68
```
72
69
73
-
### Expected Output:
70
+
####Expected output
74
71
75
72
```json
76
73
{
@@ -136,11 +133,9 @@ az networkfabric acl create
136
133
}
137
134
```
138
135
139
-
This command creates an Ingress ACL with the specified configurations and outputs the expected result. Adjust the parameters as needed for your use case.
140
-
141
-
## Creating Egress ACL
136
+
## Create an egress ACL
142
137
143
-
To create an Egress ACL, you can utilize the following Azure CLI command:
138
+
To create an egress ACL, you can use the following Azure CLI command. This command creates an egress ACL with the specified configurations and provides the expected result as output. Adjust the parameters as needed for your use case.
144
139
145
140
```bash
146
141
az networkfabric acl create
@@ -154,7 +149,7 @@ az networkfabric acl create
154
149
155
150
```
156
151
157
-
### Expected Output:
152
+
####Expected output
158
153
159
154
```json
160
155
{
@@ -200,16 +195,16 @@ az networkfabric acl create
200
195
}
201
196
```
202
197
203
-
This command creates an Egress ACL with the specified configurations and outputs the expected result. Adjust the parameters as needed for your use case.
198
+
## Update the Resource Manager reference
204
199
205
-
## Updating ARM Reference
200
+
This step enables the creation of ACLs (ingress and egress if a reference is provided) during the creation of the NNI resource. After you create the NNI and before you provision the network fabric, you can perform re-put on the NNI.
206
201
207
-
This step enables the creation of ACLs (ingress and egress if reference is provided) during the creation of the NNI resource. Post creation of NNI and before fabric provisioning, re-put can be done on NNI.
202
+
-`ingressAclId`: Reference ID for the ingress ACL.
203
+
-`egressAclId`: Reference ID for the egress ACL.
208
204
209
-
-`ingressAclId`: Reference ID for ingress ACL
210
-
-`egressAclId`: Reference ID for egress ACL
205
+
To get the Resource Manager resource ID, go to the resource group of the subscription that you're using.
211
206
212
-
To get ARM resource ID, navigate to the resource group of the subscription used.
207
+
The following command updates the Resource Manager reference for the NNI resource by associating it with the provided ingress and egress ACLs. Adjust the parameters as needed for your use case.
This command updates the ARM reference for the NNI resource, associating it with the provided ingress and egress ACLs. Adjust the parameters as needed for your use case.
229
-
230
-
## Show ACL
223
+
## Show ACL details
231
224
232
-
To display the details of an Access Control List (ACL), use the following command:
225
+
To display the details of a specified ACL, use the following command:
233
226
234
227
```bash
235
228
az networkfabric acl show --resource-group "example-rg" --resource-name "example-acl"
236
229
```
237
230
238
-
This command will retrieve and display information about the specified ACL.
231
+
## List ACLs
239
232
240
-
## List ACL
241
-
242
-
To list all Access Control Lists (ACLs) within a resource group, execute the following command:
233
+
To list all ACLs within a specified resource group, use the following command:
243
234
244
235
```bash
245
236
az networkfabric acl list --resource-group "ResourceGroupName"
246
237
```
247
238
248
-
This command will list all ACLs present in the specified resource group.
249
-
250
-
## Create ACL on Isolation Domain External Network
239
+
## Create ACLs on the ISD external network
251
240
252
-
Steps to be performed to create an ACL on an NNI:
241
+
Use the following information to create ingress and egress ACLs for the isolation domain (ISD) external network. Then, update the Resource Manager resource reference for the external network.
253
242
254
-
1. Create an isolation domain external network ingress and egress ACLs.
255
-
2. Update Arm Resource Reference for External Network.
243
+
### Create an egress ACL for the ISD external network
256
244
257
-
## Create ISD External Network Egress ACL
258
-
259
-
To create an Egress Access Control List (ACL) for an Isolation Domain External Network, use the following command:
245
+
To create an egress ACL for the specified ISD external network with the provided configuration, use the following command. Adjust the parameters as needed for your use case.
This command creates an Egress ACL for the specified Isolation Domain External Network with the provided configuration.
273
-
274
-
### Expected Output
258
+
#### Expected output
275
259
276
-
Upon successful execution, the command will return information about the created ACL in the following format:
260
+
Upon successful execution, the command returns information about the created ACL in the following format. This output includes details about the configuration and state.
277
261
278
262
```json
279
263
{
@@ -337,11 +321,9 @@ Upon successful execution, the command will return information about the created
337
321
}
338
322
```
339
323
340
-
This output provides details of the created ACL, including its configuration, state, and other relevant information. Adjust the parameters as required for your use case.
341
-
342
-
## Create ISD External Network Ingress ACL
324
+
### Create an ingress ACL for the ISD external network
343
325
344
-
To create an Ingress Access Control List (ACL) for an Isolation Domain External Network, use the following command:
326
+
To create an ingress ACL for the specified ISD external network with the provided configuration, use the following command. Adjust the parameters as needed for your use case.
This command creates an Ingress ACL for the specified Isolation Domain External Network with the provided configuration.
339
+
#### Expected output
358
340
359
-
### Expected Output
360
-
361
-
Upon successful execution, the command will return information about the created ACL in the following format:
341
+
Upon successful execution, the command returns information about the created ACL in the following format. This output includes details about the configuration and state.
362
342
363
343
```json
364
344
{
@@ -421,5 +401,3 @@ Upon successful execution, the command will return information about the created
This output provides details of the created ACL, including its configuration, state, and other relevant information. Adjust the parameters as required for your use case.
0 commit comments