Exemple d’utilisation de la Public API
Changer les mots de passe SNMPv3 de tous les switchs SAN Brocade supervisés, par un script
Ce script est un utilitaire Node.js conçu pour mettre à jour les mots de passe d’authentification et de confidentialité SNMP des configurations de switchs FC Brocade par la Public API. Il dialogue avec une API REST pour s’authentifier, récupérer les configurations d’hôtes et mettre à jour les mots de passe SNMP des entrées répondant à certains critères. Le script demande aussi confirmation, en bloc ou entrée par entrée, avant de mettre à jour.
Déroulé détaillé
Arguments de la ligne de commande : le script en attend quatre.
- username : le nom d’utilisateur pour l’authentification.
- password : le mot de passe pour l’authentification.
- snmpPrivPassword : le nouveau mot de passe de confidentialité SNMP à poser.
- snmpAuthPassword : le nouveau mot de passe d’authentification SNMP à poser.
Authentification :
Le script envoie une requête POST au point d’API /api/public/v1/auth du serveur pour s’authentifier avec les nom d’utilisateur et mot de passe fournis.
L’authentification réussie, il récupère une clé d’API.
Récupération des configurations d’hôtes :
Le script envoie une requête GET au point d’API /api/public/v1/hostcfg pour récupérer les configurations d’hôtes de la classe storage.
Il filtre les configurations pour ne garder que les entrées qui :
correspondent au nom d’utilisateur SSH fourni.
hw_type vaut
sanbrcd (switchs SAN Brocade)
le champ device contient
BROADCOM
Mise à jour interactive du mot de passe :
Avant de parcourir les entrées, le script demande s’il faut mettre à jour toutes les entrées retenues en une fois, ou confirmer chacune :
- En mode bloc (y), toutes les entrées retenues sont mises à jour sans autre question.
- En mode entrée par entrée (n), le script demande confirmation pour chaque switch : y le met à jour, n le passe.
- snmpPrivPassword et snmpAuthPassword sont tous deux mis à jour pour chaque entrée confirmée, par une requête PUT vers /api/public/v1/hostcfg/.
Utilisation
Lancez le script par la commande suivante :
node ./password_change.js <username> <password> <snmpPrivPassword> <snmpAuthPassword>
Exemple :
node ./password_change.js xormon xormon newPrivPass123 newAuthPass123
Télécharger
password_change-SNMPv3.js.gz