Instance : vps-cloud-tp — 179.237.76.136
Date d'intervention : 20 août 2026
Le programme de stage (Phase 2) demande l'usage des interfaces en ligne de
commande des plateformes cloud. Jusqu'ici, toute opération sur OpenStack
(paire de clés, groupe de sécurité, instance) avait été menée depuis
l'interface web Horizon. Cette intervention comble cet écart.
Principe clé : Horizon n'est pas le cloud, c'est un client web parmi
d'autres — il interroge la même API que la commandeopenstack. Ce qui se
clique se scripte, donc s'automatise et se reproduit.
Plutôt que de réutiliser le mot de passe du compte Horizon, un identifiant
d'application dédié est créé (Identité → Identifiants d'application) :
secret généré aléatoirement, sans date d'expiration, révocable seul sans
toucher au compte principal — même logique que la paire de clés SSH ou le
compte système wikijs non privilégié.
Format openrc téléchargé (script shell de variables d'environnement),
transféré sur l'instance via scp, permissions restreintes :
chmod 600 app-cred-cli-stage-openrc.sh
sudo apt install python3-openstackclient -y
source app-cred-cli-stage-openrc.sh
Pourquoi
source: exécuté normalement, le script tournerait dans un
sous-processus qui disparaît aussitôt avec ses variables.source
l'exécute dans le shell courant, où elles restent définies.
L'installation a signalé un noyau en attente — l'occasion de revérifier,
sept mois après l'incident du 4 août, que la correction du 12 août
(service systemd pour Wiki.js)
tient bien dans la durée :
sudo reboot
Après reconnexion, sans aucune action manuelle : wikijs et nginx
repartis seuls.
Trois commandes en lecture seule, qui remplacent plusieurs écrans Horizon :
openstack server list
openstack security group rule list default
openstack server show vps-cloud-tp
Ce que la CLI montre et qu'Horizon filtrait :
swap='') — confirme par l'API ce qui avait motivéoom_kill dans NetdataUn identifiant temporaire se révoque quand l'usage cesse :
rm ~/app-cred-cli-stage-openrc.sh
Puis suppression dans Horizon (Identité → Identifiants d'application). La
révocation se vérifie, elle ne se suppose pas :
openstack server list
→ Could not find Application Credential ... (HTTP 404)
La sécurité ne repose pas sur la disparition du fichier local (une copie
aurait pu subsister), mais sur l'invalidation côté serveur — seule mesure
dont l'effet ne dépend pas d'une éventuelle copie oubliée.
| Action | Résultat |
|---|---|
| Identifiant d'application | Créé, secret distinct du compte principal |
Client python3-openstackclient |
Installé |
| Redémarrage de validation | Services repartis seuls |
| Consultation infrastructure | 3 commandes, davantage de détail qu'Horizon |
| Révocation | Vérifiée par échec HTTP 404 |