Skip to content

Commit 8ef40d1

Browse files
Merge pull request #278038 from DanCrank/main
[operator-nexus] Updates for BMM and BMC keysets
2 parents 3d666b3 + 0f58ea9 commit 8ef40d1

File tree

2 files changed

+25
-13
lines changed

2 files changed

+25
-13
lines changed

articles/operator-nexus/howto-baremetal-bmc-ssh.md

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
22
title: Manage emergency access to a bare metal machine using the `az networkcloud cluster bmckeyset` command for Azure Operator Nexus
33
description: Step by step guide on using the `az networkcloud cluster bmckeyset` command to manage emergency access to a bare metal machine.
4-
author: eak13
5-
ms.author: ekarandjeff
4+
author: DanCrank
5+
ms.author: danielcrank
66
ms.service: azure-operator-nexus
77
ms.topic: how-to
8-
ms.date: 05/05/2023
8+
ms.date: 06/12/2024
99
ms.custom: template-how-to, devx-track-azurecli
1010
---
1111

@@ -16,11 +16,18 @@ ms.custom: template-how-to, devx-track-azurecli
1616
1717
There are rare situations where a user needs to investigate & resolve issues with a bare metal machine and all other ways using Azure are exhausted. Operator Nexus provides the `az networkcloud cluster bmckeyset` command so users can manage SSH access to the baseboard management controller (BMC) on these bare metal machines. On keyset creation, users are validated against Microsoft Entra ID for proper authorization by cross referencing the User Principal Name provided for a user against the supplied Azure Group ID `--azure-group-id <Entra Group ID>`.
1818

19-
If the User Principal Name for a user isn't a member of the supplied group, the user's status is set to "Invalid." Additionally, their status message is set to "Invalid because userPrincipal isn't a member of Entra group." If the Azure Group ID is invalid, each user in the keyset has their status set to "Invalid" and their status message is set to "Entra group doesn't exist." Invalid users remain in the keyset but their key aren't for SSH access.
19+
Users in a keyset are validated every four hours, and also when any changes are made to any keyset. Each user's status is then set to "Active" or "Invalid." Invalid users remain in the keyset but their keys are removed from all hosts and they aren't allowed access. Reasons for a user being invalid are:
20+
- The user's User Principal Name isn't a member of the given Entra group (if specified)
21+
- The given Entra group (if specified) doesn't exist (in which case all users in the keyset are invalid)
22+
- The keyset is expired (in which case all users in the keyset are invalid)
2023

2124
> [!NOTE]
2225
> There is currently a transitional period where specifying User Principal Names is optional. In a future release, it will become mandatory and Microsoft Entra ID validation will be enforced for all users. Users are encouraged to add User Principal Names to their keysets before the transitional period ends (planned for July 2024) to avoid keysets being invalidated. Note that if any User Principal Names are added to a keyset, even if they are not added for all users, Microsoft Entra ID validation will be enabled, and this will result in the entire keyset being invalidated if the Group ID specified is not valid.
2326
27+
The keyset and each individual user also have detailed status messages communicating other information:
28+
- The keyset's detailedStatusMessage tells you whether the keyset is expired, and other information about problems encountered while updating the keyset across the cluster.
29+
- The user's statusMessage tells you whether the user is active or invalid, and a list of machines that aren't yet updated to the user's latest active/invalid state. In each case, causes of problems are included if known.
30+
2431
When the command runs, it executes on each bare metal machine in the Cluster with an active Kubernetes node. There's a reconciliation process that runs periodically that retries the command on any bare metal machine that wasn't available at the time of the original command. Also, any bare metal machine that returns to the cluster via an `az networkcloud baremetalmachine actionreimage` or `az networkcloud baremetalmachine actionreplace` command (see [BareMetal functions](./howto-baremetal-functions.md)) sends a signal causing any active keysets to be sent to the machine as soon as it returns to the cluster. Multiple commands execute in the order received.
2532

2633
The BMCs support a maximum number of 12 users. Users are defined on a per Cluster basis and applied to each bare metal machine. Attempts to add more than 12 users results in an error. Delete a user before adding another one when 12 already exists.
@@ -54,7 +61,6 @@ az networkcloud cluster bmckeyset create \
5461
--location <Azure Region> \
5562
--azure-group-id <Azure AAD Group ID> \
5663
--expiration <Expiration Timestamp> \
57-
--jump-hosts-allowed <List of jump server IP addresses> \
5864
--privilege-level <"Administrator" or "ReadOnly"> \
5965
--user-list '[{"description":"<User List Description>","azureUserName":"<User Name>",\
6066
"sshPublicKey":{"keyData":"<SSH Public Key>"}, \
@@ -194,7 +200,6 @@ The command syntax is:
194200
```azurecli
195201
az networkcloud cluster bmckeyset update \
196202
--name <BMC Keyset Name> \
197-
--jump-hosts-allowed <List of jump server IP addresses> \
198203
--privilege-level <"Standard" or "Superuser"> \
199204
--user-list '[{"description":"<User List Description>","azureUserName":"<User Name>",\
200205
"sshPublicKey":{"keyData":"<SSH Public Key>"}, \

articles/operator-nexus/howto-baremetal-bmm-ssh.md

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
22
title: Manage emergency access to a bare metal machine using the `az networkcloud cluster baremetalmachinekeyset` command for Azure Operator Nexus
33
description: Step by step guide on using the `az networkcloud cluster baremetalmachinekeyset` command to manage emergency access to a bare metal machine.
4-
author: eak13
5-
ms.author: ekarandjeff
4+
author: DanCrank
5+
ms.author: danielcrank
66
ms.service: azure-operator-nexus
77
ms.topic: how-to
8-
ms.date: 04/18/2023
8+
ms.date: 06/12/2024
99
ms.custom: template-how-to, devx-track-azurecli
1010
---
1111

@@ -14,13 +14,20 @@ ms.custom: template-how-to, devx-track-azurecli
1414
> [!CAUTION]
1515
> Please note this process is used in emergency situations when all other troubleshooting options using Azure are exhausted. SSH access to these bare metal machines is restricted to users managed via this method from the specified jump host list.
1616
17-
There are rare situations where a user needs to investigate & resolve issues with a bare metal machine and all other ways via Azure are exhausted. Azure Operator Nexus provides the `az networkcloud cluster baremetalmachinekeyset` command so users can manage SSH access to these bare metal machines. On keyset creation, users are validated against Microsoft Entra ID for proper authorization by cross referencing the User Principal Name provided for a user against the supplied Microsoft Entra ID `--azure-group-id <Entra Group ID>`.
17+
There are rare situations where a user needs to investigate & resolve issues with a bare metal machine and all other ways via Azure are exhausted. Azure Operator Nexus provides the `az networkcloud cluster baremetalmachinekeyset` command so users can manage SSH access to these bare metal machines. On keyset creation, users are validated against Microsoft Entra ID for proper authorization by cross referencing the User Principal Name provided for a user against the supplied Microsoft Entra Group ID `--azure-group-id <Entra Group ID>`.
1818

19-
If the User Principal Name for a user isn't a member of the supplied group, the user's status is set to "Invalid." Additionally, their status message reads "Invalid because userPrincipal isn't a member of Entra group." If the Azure Group ID is invalid, each user in the keyset has their status set to "Invalid" and their status message says "Entra group doesn't exist." Invalid users remain in the keyset but their key aren't enabled for SSH access.
19+
Users in a keyset are validated every four hours, and also when any changes are made to any keyset. Each user's status is then set to "Active" or "Invalid." Invalid users remain in the keyset but their keys are removed from all hosts and they aren't allowed access. Reasons for a user being invalid are:
20+
- The user's User Principal Name isn't a member of the given Entra group (if specified)
21+
- The given Entra group (if specified) doesn't exist (in which case all users in the keyset are invalid)
22+
- The keyset is expired (in which case all users in the keyset are invalid)
2023

2124
> [!NOTE]
2225
> There is currently a transitional period where specifying User Principal Names is optional. In a future release, it will become mandatory and Microsoft Entra ID validation will be enforced for all users. Users are encouraged to add User Principal Names to their keysets before the transitional period ends (planned for July 2024) to avoid keysets being invalidated. Note that if any User Principal Names are added to a keyset, even if they are not added for all users, Microsoft Entra ID validation will be enabled, and this will result in the entire keyset being invalidated if the Group ID specified is not valid.
2326
27+
The keyset and each individual user also have detailed status messages communicating other information:
28+
- The keyset's detailedStatusMessage tells you whether the keyset is expired, and other information about problems encountered while updating the keyset across the cluster.
29+
- The user's statusMessage tells you whether the user is active or invalid, and a list of machines that aren't yet updated to the user's latest active/invalid state. In each case, causes of problems are included if known.
30+
2431
When the command runs, it executes on each bare metal machine in the Cluster with an active Kubernetes node. There's a reconciliation process that runs periodically that retries the command on any bare metal machine that wasn't available at the time of the original command. Also, any bare metal machine that returns to the cluster via an `az networkcloud baremetalmachine reimage` or `az networkcloud baremetalmachine replace` command (see [BareMetal functions](./howto-baremetal-functions.md)) sends a signal causing any active keysets to be sent to the machine as soon as it returns to the cluster. Multiple commands execute in the order received.
2532

2633
There's no limit to the number of users in a group.
@@ -30,8 +37,8 @@ There's no limit to the number of users in a group.
3037
3138
- The keyset create/update process adds the jump host IP addresses to the IP tables for each machine in the Cluster. The IP tables update restricts SSH access to be allowed only from those jump hosts.
3239
- It's important to specify the Cluster facing IP addresses for the jump hosts. These IP addresses might be different than the public facing IP address used to access the jump host.
33-
- Once added, users are able to access bare metal machines from any specified jump host IP including a jump host IP defined in another bare metal machine keyset group.
34-
- Existing SSH access remains when adding the first bare metal machine keyset. However, the keyset command limits an existing user's SSH access to the specified jump host IPs in the keyset commands.
40+
- While at least one keyset is defined, ssh access is allowed from any jump host in any keyset. For example, if keyset A specifies jump host A and keyset B specifies jump host B, users in either keyset can use either jump host A or B.
41+
- While no keysets are defined, ssh access is allowed from any jump host that has network connectivity to the machines.
3542

3643
## Prerequisites
3744

0 commit comments

Comments
 (0)