Gérer l’accès d’urgence à une machine nue à l’aide de az networkcloud cluster bmckeyset
Attention
Notez que ce processus est utilisé dans les situations d’urgence, lorsque toutes les autres options de résolution des problèmes via Azure sont épuisées. L’accès SSH à ces machines nues est limité aux utilisateurs gérés via cette méthode à partir de la liste d’hôtes de saut spécifiée.
Il existe de rares situations où un utilisateur doit examiner et résoudre les problèmes liés à une machine nue et que tous les autres moyens utilisant Azure sont épuisés. Nexus Operator fournit la commande az networkcloud cluster bmckeyset
afin que les utilisateurs puissent gérer l’accès SSH au contrôleur de gestion de carte de base (BMC) sur ces machines nues. Lors de la création du jeu de clés, les utilisateurs sont validés par rapport à Microsoft Entra ID pour une autorisation appropriée en vérifiant le nom d’utilisateur principal fourni pour un utilisateur par rapport à l’ID de groupe Azure --azure-group-id <Entra Group ID>
fourni.
Les utilisateurs d’un jeu de clés sont validés toutes les quatre heures, ainsi que lorsque des modifications sont apportées à n’importe lequel des jeux de clés. L’état de chaque utilisateur est alors défini sur « Actif » ou « Non valide ». Les utilisateurs non valides restent dans le jeu de clés, mais leurs clés sont supprimées de tous les hôtes et l’accès ne leur est pas autorisé. Les raisons pour lesquelles un utilisateur est non valide sont les suivantes :
- Le nom d’utilisateur principal de l’utilisateur n’est pas membre du groupe Entra donné (si spécifié)
- Le groupe Entra donné (si spécifié) n’existe pas (auquel cas tous les utilisateurs du jeu de clés sont non valides)
- Le jeu de clés a expiré (auquel cas tous les utilisateurs du jeu de clés sont non valides)
Remarque
Il existe actuellement une période de transition où la spécification des noms d’utilisateur principal est facultative. Dans une prochaine version, cela deviendra obligatoire et la validation par Microsoft Entra ID sera appliquée pour tous les utilisateurs. Les utilisateurs sont encouragés à ajouter des noms d’utilisateur principal à leurs jeux de clés avant la fin de la période de transition (prévue pour juillet 2024) afin d’éviter que les jeux de clés soient déclarés non valides. Notez que si des noms d’utilisateur principal sont ajoutés à un jeu de clés, la validation par Microsoft Entra ID est activée même s’ils ne sont pas ajoutés pour tous les utilisateurs. Dans le même ordre d’idées, tout le jeu de clés sera déclaré non valide si l’ID de groupe spécifié n’est pas valide.
Le jeu de clés et chaque utilisateur individuel ont également des messages d’état détaillés qui communiquent d’autres informations :
- Le fichier detailedStatusMessage du jeu de clés vous indique si le jeu de clés a expiré et d’autres informations sur les problèmes rencontrés lors de la mise à jour du jeu de clés sur le cluster.
- Le statusMessage de l’utilisateur vous indique si l’utilisateur est actif ou non valide, et une liste de machines qui ne sont pas encore mises à jour vers l’état actif/non valide le plus récent de l’utilisateur. Dans chaque cas, les causes de problèmes sont incluses si elles sont connues.
Lorsque la commande s’exécute, elle s’exécute sur chaque machine nue du cluster avec un nœud Kubernetes actif. Un processus de rapprochement s’exécute régulièrement et retente la commande sur n’importe quelle machine nue indisponible au moment du lancement de la commande d’origine. En outre, toute machine nue qui retourne au cluster par le biais d’une commande az networkcloud baremetalmachine actionreimage
ou az networkcloud baremetalmachine actionreplace
(voir Fonctions Matériel nu) envoie un signal provoquant l’envoi de tous les jeux de clés actifs à la machine dès qu’elle revient au cluster. Plusieurs commandes s’exécutent dans l’ordre reçu.
Les BMC prennent en charge un nombre maximal de 12 utilisateurs. Les utilisateurs sont définis par cluster et appliqués à chaque machine nue. Les tentatives d’ajout de plus de 12 utilisateurs entraînent une erreur. Supprimez un utilisateur avant d’en ajouter un autre lorsqu’il en existe déjà 12.
Prérequis
- Installez la dernière version des extensions Azure CLI appropriées.
- Le cluster local doit disposer d’une connectivité à Azure.
- Obtenez le nom du groupe de ressources pour la ressource
Cluster
. - Le processus applique des jeux de clés à toutes les machines nues en cours d’exécution.
- Les utilisateurs ajoutés doivent faire partie d’un groupe Microsoft Entra. Pour plus d’informations, consultez Comment gérer des groupes.
- Pour restreindre l’accès à la gestion des jeux de clés, créez un rôle personnalisé. Pour plus d’informations, consultez Rôles personnalisés Azure. Dans cette instance, ajoutez ou excluez les autorisations pour
Microsoft.NetworkCloud/clusters/bmcKeySets
. Les options sont/read
,/write
et/delete
.
Remarque
Lorsqu’un accès BMC est créé, modifié ou supprimé via les commandes décrites dans cet article, un processus en arrière-plan transmet ces modifications aux machines. Ce processus est suspendu pendant les mises à niveau logicielles d’Operator Nexus. Si vous savez qu’une mise à niveau est en cours, vous pouvez utiliser l’option --no-wait
avec la commande pour empêcher l’invite de commandes d’attendre la fin du processus.
Créer un jeu de clés BMC
La commande bmckeyset create
crée un accès SSH à la machine nue dans un cluster pour un groupe d’utilisateurs.
Syntaxe de la commande :
az networkcloud cluster bmckeyset create \
--name <BMC Keyset Name> \
--extended-location name=<Extended Location ARM ID> \
type="CustomLocation" \
--location <Azure Region> \
--azure-group-id <Azure AAD Group ID> \
--expiration <Expiration Timestamp> \
--privilege-level <"Administrator" or "ReadOnly"> \
--user-list '[{"description":"<User List Description>","azureUserName":"<User Name>",\
"sshPublicKey":{"keyData":"<SSH Public Key>"}, \
"userPrincipalName":""}]', \
--tags key1=<Key Value> key2=<Key Value> \
--cluster-name <Cluster Name> \
--resource-group <Resource Group Name>
Créer des arguments
--azure-group-id [Required] : The object ID of Azure Active Directory
group that all users in the list must
be in for access to be granted. Users
that are not in the group do not have
access.
--bmc-key-set-name --name -n [Required] : The name of the BMC key set.
--cluster-name [Required] : The name of the cluster.
--expiration [Required] : The date and time after which the users
in this key set are removed from
the BMCs. The maximum expiration date is a
year from creation date. Format is
"YYYY-MM-DDTHH:MM:SS.000Z".
--extended-location [Required] : The extended location of the cluster
associated with the resource.
Usage: --extended-location name=XX type=XX
name: Required. The resource ID of the extended location on which the resource is created.
type: Required. The extended location type: "CustomLocation".
--privilege-level [Required] : The access level allowed for the users
in this key set. Allowed values:
"Administrator" or "ReadOnly".
--resource-group -g [Required] : Name of resource group. Optional if
configuring the default group using `az
configure --defaults group=<name>`.
--user-list [Required] : The unique list of permitted users.
Usage: --user-list azure-user-name=XX description=XX key-data=XX
azure-user-name: Required. User name used to login to the server.
description: The free-form description for this user.
key-data: Required. The public ssh key of the user.
userPrincipalName: Optional. The User Principal Name of the User.
Multiple users can be specified by using more than one --user-list argument.
--tags : Space-separated tags: key[=value]
[key[=value] ...]. Use '' to clear
existing tags.
--location -l : Azure Region. Values from: `az account
list-locations`. You can configure the
default location using `az configure
--defaults location=<location>`.
--no-wait : Do not wait for the long-running
operation to finish.
Arguments globaux de l’interface de ligne de commande Azure (applicables à toutes les commandes)
--debug : Increase logging verbosity to show all
debug logs.
--help -h : Show this help message and exit.
--only-show-errors : Only show errors, suppressing warnings.
--output -o : Output format. Allowed values: json,
jsonc, none, table, tsv, yaml, yamlc.
Default: json.
--query : JMESPath query string. See
http://jmespath.org/ for more
information and examples.
--subscription [Required] : Name or ID of subscription. Optional if
configuring the default subscription
using `az account set -s NAME_OR_ID`.
--verbose : Increase logging verbosity. Use --debug
for full debug logs.
Cet exemple crée un nouveau jeu de clés avec deux utilisateurs disposant d’un accès standard à partir de deux hôtes de saut.
az networkcloud cluster bmckeyset create \
--name "bmcKeySetName" \
--extended-location name="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" \
type="CustomLocation" \
--location "location" \
--azure-group-id "f110271b-XXXX-4163-9b99-214d91660f0e" \
--expiration "2023-12-31T23:59:59.008Z" \
--privilege-level "Standard" \
--user-list '[{"description":"Needs access for troubleshooting as a part of the support team",\
"azureUserName":"userABC","sshPublicKey":{"keyData":"ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1XoyYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm"}},\
{"description":"Needs access for troubleshooting as a part of the support team",\
"azureUserName":"userXYZ","sshPublicKey":{"keyData":"ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXTSTRnIDpcf5qytjs1XoyYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm"}}]' \
--tags key1="myvalue1" key2="myvalue2" \
--cluster-name "clusterName" \
--resource-group "resourceGroupName"
Pour obtenir de l’aide concernant la création de la --user-list
structure, consultez Abrégé Interface de ligne de commande Azure.
Supprimer un jeu de clés BMC
La commande bmckeyset delete
supprime l’accès SSH au BMC pour un groupe d’utilisateurs. Tous les membres du groupe perdent l’accès SSH à l’un quelconque des BMC du cluster.
Syntaxe de la commande :
az networkcloud cluster bmckeyset delete \
--name <BMC Keyset Name> \
--cluster-name <Cluster Name> \
--resource-group <Resource Group Name> \
Supprimer des arguments
--bmc-key-set-name --name -n [Required] : The name of the BMC key set to be deleted.
--cluster-name [Required] : The name of the cluster.
--resource-group -g [Required] : Name of resource group. Optional if configuring the
default group using `az configure --defaults
group=<name>`.
--no-wait : Do not wait for the long-running operation to finish.
--yes -y : Do not prompt for confirmation.
Cet exemple supprime le groupe de jeux de clés « bmcKeysetName » dans le cluster « clusterName ».
az networkcloud cluster bmckeyset delete \
--name "bmcKeySetName" \
--cluster-name "clusterName" \
--resource-group "resourceGroupName" \
Mettre à jour un jeu de clés BMC
La commande bmckeyset update
permet aux utilisateurs d’apporter des modifications à un groupe de jeux de clés existant.
Syntaxe de la commande :
az networkcloud cluster bmckeyset update \
--name <BMC Keyset Name> \
--privilege-level <"Standard" or "Superuser"> \
--user-list '[{"description":"<User List Description>","azureUserName":"<User Name>",\
"sshPublicKey":{"keyData":"<SSH Public Key>"}, \
"userPrincipalName":""}]', \
--tags key1=<Key Value> key2=<Key Value> \
--cluster-name <Cluster Name> \
--resource-group <Resource Group Name>
Mettre à jour les arguments
--bmc-key-set-name --name -n [Required] : The name of the BMC key set.
--cluster-name [Required] : The name of the cluster.
--expiration [Required] : The date and time after which the users
in this key set are removed from
the BMCs. The maximum expiration date is a
year from creation date. Format is
"YYYY-MM-DDTHH:MM:SS.000Z".
--privilege-level : The access level allowed for the users
in this key set. Allowed values:
"Administrator" or "ReadOnly".
--user-list : The unique list of permitted users.
Usage: --user-list azure-user-name=XX description=XX key-data=XX
azure-user-name: Required. User name used to login to the server.
description: The free-form description for this user.
key-data: Required. The public SSH key of the user.
userPrincipalName: Optional. The User Principal Name of the User.
Multiple users can be specified by using more than one --user-list argument.
--resource-group -g [Required] : Name of resource group. Optional if
configuring the default group using `az
configure --defaults group=<name>`.
--tags : Space-separated tags: key[=value]
[key[=value] ...]. Use '' to clear
existing tags.
--no-wait : Do not wait for the long-running
operation to finish.
Cet exemple ajoute deux nouveaux utilisateurs au groupe « bmcKeySetName » et modifie la durée d’expiration du groupe.
az networkcloud cluster bmckeyset update \
--name "bmcKeySetName" \
--expiration "2023-12-31T23:59:59.008Z" \
--user-list '[{"description":"Needs access for troubleshooting as a part of the support team",\
"azureUserName":"userDEF", \
"sshPublicKey":{"keyData":"ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1XoyYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm"}, \
"userPrincipalName":"example@contoso.com"}] \
--cluster-name "clusterName" \
--resource-group "resourceGroupName"
Lister les jeux de clés BMC
La commande bmckeyset list
permet aux utilisateurs de consulter les groupes de jeux de clés existants dans un cluster.
Syntaxe de la commande :
az networkcloud cluster bmckeyset list \
--cluster-name <Cluster Name> \
--resource-group <Resource Group Name>
Liste des arguments
--cluster-name [Required] : The name of the cluster.
--resource-group -g [Required] : Name of resource group. Optional if
configuring the default group using `az
configure --defaults group=<name>`.
Afficher les détails du jeu de clés BMC
La commande bmckeyset show
permet aux utilisateurs de consulter les détails d’un groupe de jeux de clés existant dans un cluster.
Syntaxe de la commande :
az networkcloud cluster bmckeyset show \
--cluster-name <Cluster Name> \
--resource-group <Resource Group Name>
Afficher les arguments
--bmc-key-set-name --name -n [Required] : The name of the BMC key set.
--cluster-name [Required] : The name of the cluster.
--resource-group -g [Required] : Name of resource group. You can
configure the default group using `az
configure --defaults group=<name>`.