Skip to content

Commit 5274440

Browse files
authored
Merge pull request #290275 from sushantjrao/break-glass-setup
Added Break Blass and Micro BFD document
2 parents 389b12d + d5b1d0d commit 5274440

9 files changed

+318
-5
lines changed

articles/operator-nexus/TOC.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,8 @@
155155
href: howto-cluster-runtime-upgrade.md
156156
- name: Cluster Upgrades With PauseRack Startegy
157157
href: howto-cluster-runtime-upgrade-with-pauserack-strategy.md
158+
- name: How to upgrade Network Fabric
159+
href: howto-upgrade-nexus-fabric.md
158160
- name: Credential Rotation
159161
href: howto-credential-rotation.md
160162
- name: Credential Manager Key Vault
@@ -182,9 +184,7 @@
182184
href: howto-update-access-control-list-for-network-to-network-interconnects.md
183185
- name: Delete ACLs associated with Network-to-Network Interconnects (NNI)
184186
href: howto-delete-access-control-list-network-to-network-interconnect.md
185-
- name:
186-
How to Configure Diagnostic Settings and Monitor Configuration Differences
187-
in Nexus Network Fabric
187+
- name: How to Configure Diagnostic Settings and Monitor Configuration Differences in Nexus Network Fabric
188188
href: howto-configure-diagnostic-settings-monitor-configuration-differences.md
189189
- name: How to Delete L3 Isolation Domains in Azure Nexus Network Fabric
190190
href: howto-delete-layer-3-isolation-domains.md
@@ -198,8 +198,12 @@
198198
href: howto-replace-network-devices.md
199199
- name: How to put a device into maintenance mode
200200
href: howto-put-device-in-maintenance-mode.md
201-
- name: How to upgrade Network Fabric
202-
href: howto-upgrade-nexus-fabric.md
201+
- name: How to set up break glass access
202+
href: howto-set-up-break-glass-access.md
203+
- name: How to use-break-glass-access.md
204+
href: howto-use-break-glass-access.md
205+
- name: How to enable-Micro-BFD on CE and PE devices.md
206+
href: howto-enable-micro-bfd.md
203207
- name: Cluster
204208
expanded: false
205209
items:

articles/operator-nexus/howto-azure-operator-nexus-prerequisites.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ az provider register --namespace Microsoft.OperationsManagement
5959
az provider register --namespace Microsoft.ResourceConnector
6060
az provider register --namespace Microsoft.Resources
6161
az provider register --namespace Microsoft.Storage
62+
az provider register --namespace Microsoft.NexusIdentity
6263
```
6364

6465
## EncryptionAtHost feature registration
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
---
2+
title: How to enable Micro-BFD on CE and PE devices
3+
description: Process of enabling Micro-BFD On CE and PE devices.
4+
author: sushantjrao
5+
ms.author: sushrao
6+
ms.service: azure-operator-nexus
7+
ms.topic: how-to
8+
ms.date: 08/12/2024
9+
ms.custom: template-how-to, devx-track-azurecli
10+
---
11+
12+
# Enabling Micro-BFD
13+
14+
Micro-BFD (Bidirectional Forwarding Detection) is a lightweight protocol designed to quickly detect failures between adjacent network devices, such as routers or switches, with minimal overhead. This guide provides step-by-step instructions to enable Micro-BFD on Customer Edge (CE) and Provider Edge (PE) devices.
15+
16+
## Prerequisites
17+
18+
Before enabling Micro-BFD, perform the following steps:
19+
20+
- Both CE and PE devices are configured with the required Micro-BFD settings.
21+
22+
- The feature flag `MicroBFDEnabled` is turned off by default.
23+
24+
> [!Note]
25+
> Contact Microsoft support through a support incident to enable the feature flag.
26+
27+
- It is necessary to [put the device in maintenance mode](.\howto-put-device-in-maintenance-mode.md) to apply below the configuration changes.
28+
29+
## Configuration steps
30+
31+
### Step 1: Configure CE devices
32+
33+
1. Access the CE device and enter the configuration mode.
34+
35+
2. Add the following configuration to enable Micro-BFD on the CE-PE interface:
36+
37+
```bash
38+
ip address 10.30.0.65/30
39+
bfd interval 50 min-rx 50 multiplier 3
40+
bfd neighbor 10.30.0.66
41+
bfd per-link rfc-7130
42+
```
43+
44+
### Step 2: Configure PE devices
45+
46+
1. Access the PE device and enter the configuration mode.
47+
48+
2. Add the following configuration to enable Micro-BFD on the PE-CE interface:
49+
50+
```bash
51+
ip address 10.30.0.66/30
52+
bfd interval 50 min-rx 50 multiplier 3
53+
bfd neighbor 10.30.0.65
54+
bfd per-link rfc-7130
55+
```
56+
57+
### Step 3: Enable feature flag
58+
59+
1. Request the DE team to enable the `MicroBFDEnabled` feature flag.
60+
61+
2. Verify the configuration by checking the status of Micro-BFD sessions on both CE and PE devices.
62+
63+
### Step 4: Validate configuration
64+
65+
Use the following command to check the status of Micro-BFD sessions on the PE device:
66+
67+
```bash
68+
show bfd status dest-ip 10.30.0.65 detail
69+
```
70+
Ensure that the Micro-BFD sessions are established and operational.
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
---
2+
title: How to set up Method D v2.0 secure break-glass access
3+
description: Process of setting up secure break-glass access using Method D v2.0
4+
author: sushantjrao
5+
ms.author: sushrao
6+
ms.service: azure-operator-nexus
7+
ms.topic: how-to
8+
ms.date: 11/04/2024
9+
ms.custom: template-how-to, devx-track-azurecli
10+
---
11+
12+
# Set up Method D v2.0 secure break-glass access
13+
14+
The Break-Glass mechanism provides temporary and emergency access to Azure Operator Nexus devices or services, primarily for disaster recovery, incident response, or essential maintenance. Access is granted under controlled Identity Access Management (IAM) policies, maintaining security even during emergencies.
15+
16+
For Network Fabric environments, the current break-glass model, known as Method D v1.5, relies on password authentication. This model, however, is limited to 15 shared accounts and poses significant security risks. Method D v2.0 introduces a modernized approach, implementing FIDO-2 devices and SSH keys to secure break-glass access. Key improvements include:
17+
18+
- **Strict access control**: Customer administrators control access through individual assignments instead of shared accounts.
19+
20+
- **Strong authentication**: Break-glass access is managed via Microsoft Entra with multifactor authentication (MFA) eliminating local account dependencies.
21+
22+
- **Enhanced security**: All access attempts are logged for audit and investigation purposes.
23+
24+
## FIDO2 token
25+
26+
In the Method D v2.0 model, break-glass users uses a FIDO2 token to create and upload a public key linked to their Entra identity. This configuration provides secure SSH access to Fabric devices. Entra Role-Based Access Control (RBAC) manages authorization, allowing administrators to assign appropriate access levels to users.
27+
28+
For offline accessibility, usernames, public keys, and permissions are pre-provisioned on all the Network Fabric devices, allowing break-glass SSH login without requiring an active Azure connection.
29+
30+
Each FIDO2 token serves usually as a physical USB device, offering unphishable, multifactor authentication through user presence and PIN verification.
31+
32+
## Method D v2.0 setup and operations
33+
34+
This guide is divided into two sections
35+
36+
1. **Method D v2.0 infrastructure setup** - Mandatory for both existing and new Network Fabric (NF) deployments running Runtime Fabric version 4.0.0.
37+
38+
2. [**Using Method D v2.0 break glass access**](howto-use-break-glass-access.md)
39+
40+
41+
### Method D v2.0 infrastructure setup
42+
43+
This guide provides an overview of the infrastructure setup that is mandatory for both existing and new deployments using NF Runtime version 4.0.0.
44+
45+
#### Step 1: Register NexusIdentity Resource Provider
46+
47+
Register the **Microsoft.NexusIdentity** resource provider.
48+
49+
1. Register the resource provider:
50+
51+
```Azure CLI
52+
az provider register --namespace Microsoft.NexusIdentity --wait
53+
```
54+
55+
2. Verify the registration status:
56+
57+
```Azure CLI
58+
az provider show --namespace Microsoft.NexusIdentity -o table
59+
```
60+
61+
The registration status should display as **"Registered"**.
62+
63+
#### Step 2: Assign necessary permissions for Network Fabric access
64+
65+
As part of the **Secure Future Initiative (SFI)**, **On-Behalf-Of (OBO) tokens** are now required to grant access to customer resources. This token grants NexusIdentity permissions scoped at the subscription, resource group, or network fabric level to enable **read access** to Network Fabric role assignments. The following role permissions should be assigned to end users responsible for NF create, NF upgrade, and NF delete operations. These permissions can be granted temporarily, limited to the duration required to perform these operations.
66+
67+
##### Required permissions
68+
69+
1. Microsoft.NexusIdentity/identitySets/read
70+
2. Microsoft.NexusIdentity/identitySets/write
71+
3. Microsoft.NexusIdentity/identitySets/delete
72+
73+
74+
##### Configure Azure RBAC for Network Fabric Runtime version 4.0.0
75+
76+
1. Under **Privileged Administrator Roles**, select **Azure RBAC Administrator** as the built-in role and click **Next**.
77+
78+
:::image type="content" source="media/breakglass-role-assignment.png" alt-text="Screenshot of adding role-assignment":::
79+
80+
2. In the **Members** tab, add the identity of the user responsible for performing NF create, update, and delete operations.
81+
82+
:::image type="content" source="media/breakglass-add-member-nexusidenitityrp.png" alt-text="Screenshot of adding member to role assignment":::
83+
84+
3. In the **Conditions** tab, select "Allow users to only assign selected roles to selected principals (fewer privileges).
85+
86+
:::image type="content" source="media/breakglass-conditions-roles-assignment.png" alt-text="Screenshot of adding conditions to role assignment":::
87+
88+
- Select Constrain roles and principals and click Configure,
89+
90+
- Select the following parameters:
91+
92+
**Role:** Reader
93+
94+
**Principal:** NexusIdentityRP
95+
96+
:::image type="content" source="media/breakglass-constrain-roles-principals.png" alt-text="Screenshot of adding roles and principals":::
97+
98+
4. Click Review + Assign to finalize the configuration.
99+
100+
5. Activate role
101+
102+
- To activate the role, select **Role Based Access Control Administrator** from Eligible assignments tab.
103+
104+
> [!NOTE]
105+
> Ensure that **Role Based Access Control Administrator** is sucessfully activated.
106+
107+
## Next Steps
108+
109+
[How to use Method D v2.0 break-glass access](howto-use-break-glass-access.md)
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
---
2+
title: How to use Method D v2.0 secure break-glass access
3+
description: Process of using Method D v2.0 break glass access
4+
author: sushantjrao
5+
ms.author: sushrao
6+
ms.service: azure-operator-nexus
7+
ms.topic: how-to
8+
ms.date: 11/04/2024
9+
ms.custom: template-how-to, devx-track-azurecli
10+
---
11+
12+
# Use Method D v2.0 break glass access
13+
14+
Break glass access using Method D v2.0 is a streamlined approach for administrators to grant secure, emergency access to critical network fabric devices. This guide walks you through setting up and using break glass access, including generating SSH keys, granting permissions, and accessing network fabric devices.
15+
16+
## Generating SSH Keys using the Nexusidentity Azure CLI
17+
18+
To start with break glass IAM configuration, you need to set up SSH keys using the Nexusidentity extension. Make sure you have the following prerequisites installed and updated.
19+
20+
### Prerequisites
21+
22+
- **Setup Method D v2.0** using as referred in [article](howto-set-up-break-glass-access.md)
23+
- **Windows Computer** with PowerShell
24+
- **OpenSSH**: Version 9.4 or higher
25+
- **Python**: Version 3.11 or higher (64-bit)
26+
- **Azure CLI**: Version 2.61 or higher (64-bit)
27+
- **Nexusidentity Extension**: This extension must be added to Azure CLI.
28+
29+
### Steps to Install Nexusidentity Extension and Generate SSH Keys
30+
31+
1. **Open PowerShell**:
32+
33+
> [!Note]
34+
> Use non-admin mode for this process.
35+
36+
2. **Update Azure CLI**:
37+
38+
- Run the following command to update Azure CLI to the latest version:
39+
40+
```Azure CLI
41+
az upgrade
42+
```
43+
44+
3. **Install Nexusidentity extension**:
45+
46+
- To add the Nexusidentity extension
47+
48+
```Azure CLI
49+
az extension add --name nexusidentity
50+
```
51+
52+
4. **Generate SSH Keys with Nexusidentity extension**:
53+
54+
a. Download the [Yubico Key Manager](https://www.yubico.com/support/download/yubikey-manager) to reset your YubiKey for initial setup.
55+
56+
b. Attach your **YubiKey** to your computer.
57+
58+
c. Log in to Azure with:
59+
60+
```Azure CLI
61+
az login
62+
```
63+
64+
d. Run the following command to generate SSH keys:
65+
66+
```Azure CLI
67+
az nexusidentity gen-keys
68+
```
69+
70+
e. During this process:
71+
72+
- If prompted to overwrite keys in token, press **Enter**.
73+
74+
- Select the **Security Key** in the popup window and follow the prompts.
75+
76+
- Enter your **YubiKey PIN** and touch the device when prompted.
77+
78+
- If prompted to overwrite keys- press **Enter**
79+
80+
- If prompted to enter a passphrase, press **Enter**.
81+
82+
f. After successful key generation, you should see:
83+
84+
```
85+
Successfully uploaded public key to Microsoft Entra Id account {user.mail}
86+
```
87+
88+
## Granting break-glass permissions to an Entra user on a Network Fabric
89+
90+
To enable break glass access, administrator can assign below roles to Entra users on a Network Fabric device.
91+
92+
- **Nexus Network Fabric Service Reader**:
93+
94+
- Allows the user to execute show commands on fabric devices.
95+
96+
- Doesn't permit access to configuration mode.
97+
98+
- **Nexus Network Fabric Service Writer**:
99+
100+
- Allows show commands and commands to modify the running configuration.
101+
102+
Once these roles are assigned, the corresponding username and public SSH key will be automatically provisioned across all devices within the designated fabric instance.
103+
104+
> [!Note]
105+
> If a subscription owner assigns an user, the Network Fabric Service Reader or Writer role at the subscription scope, this role assignment will be inherited by all Network Fabric instances. Consequently, the user will be granted the privileges associated with the built-in role across all Network Fabric instances.
106+
107+
> [!Note]
108+
> break glass user accounts are reconciled every 4 hours. For immediate reconciliation, open a support ticket with the network fabric support team.
109+
110+
## Break-glass access to Network Fabric device
111+
112+
Once permissions are granted, users can access network fabric devices with their FIDO-2 hardware token (for example, YubiKey). Follow the steps below to use break glass access.
113+
114+
1. **Prepare for access**:
115+
116+
- Make sure your **FIDO-2 hardware token** is plugged into your computer.
117+
118+
2. **Use SSH with the `-J` option**:
119+
120+
- The `-J` option enables you to log in through a jump server and access a fabric device directly. This involves authentication first with the jump server and then with the fabric device (using ssh keys).
121+
122+
Use the following command format to access a fabric device:
123+
124+
```bash
125+
ssh -J JumpBoxUsername@JumpBoxIp EntraUsername@FabricDeviceIP
126+
```
127+
128+
> [!Note]
129+
> This command establishes a secure connection, using the jump server as an intermediary for authentication.
45.5 KB
Loading
75.8 KB
Loading
33.8 KB
Loading
140 KB
Loading

0 commit comments

Comments
 (0)