Cool… C’est quoi Keystone ?
Keystone (OpenStack Identity) est en quelque sorte la pierre de fondation d’OpenStack, tous les composants reposent sur ce système d’authentification. C’est est un annuaire qui centralise toutes les authentifications et autorisations nécessaires aux multiples services d’OpenStack. Il peut aussi servir de catalogue de service.
Keystone s’appuie sur un SGBDR soit de type SQLite, MySQL ou PostgreSQL.
Keystone en mode debug
Keystone en mode debug est extrêmement prolixe (j’utilise des mots compliqués pour me donner un genre), verbeux (synonyme de prolixe) dans le sens ou il fournit une multitude d’informations comme par exemple les identifiants d’un tenant (projet) !
Cela veut dire qu’avec ces informations il est possible de gérer un projet de A à Z (créer des instances, détruire des instances, pare-feu, etc…).
Attention, ceci n’est pas une faille, cela fait partie du fonctionnement du mode debug de Keystone. Pensez juste à le désactiver une fois son utilisation terminée.
Comment qu’on fait alors ?
Avant d’aller plus loin, il est impératif de s’assurer que le mode debug de Keystone soit activé. L’activation du mode debug peut engendrer une consommation d’espace disque supplémentaire (ne faites pas sonner le monitoring pour une raison aussi futile ou vous allez vous faire taper dessus…).
# grep ^debug /etc/keystone/keystone.conf
Résultat :
debug = true
Si rien n’est retourné ou que le résultat est à false alors le mode debug n’est pas activé. Le service doit être relancé après chaque modification apportée au fichier de configuration de Keystone.
Une fois le mode debug activé, il suffit de taper la commande suivante :
# grep passwordCredentials /var/log/keystone/keystone.log
Résultat :
2013-07-08 06:40:01 DEBUG [keystone.common.wsgi] {"auth": {"tenantName": "incloudus", "passwordCredentials": {"username": "goldyfruit", "password": "kLgtd0UkqpwS7ye"}}}
On obtient les informations suivantes :
- Tenant : incloudus
- Username : goldyfruit
- Password : kLgtd0UkqpwS7ye
Il ne reste plus qu’à s’authentifier soit via curl soit via Horizon soit via l’API de votre choix. 🙂
Conclusion
Le mot keystone est apparu 15 fois tandis que le mot debug n’est apparu que 8 fois (je suis certain que vous allez recompter).
Ceci n’est pas une défaillance de votre moniteur, vous avez juste à faire à un DevOps un peu crétin !
Gaëtan Trellu (goldyfruit)
Derniers articles parGaëtan Trellu (goldyfruit) (voir tous)
- Qinling, let’s the journey begin! - 23 mai 2019
- systemd-networkd, l’âge de la maturité ? - 13 mars 2018
- Hyper-V, Nova, VxLAN et Open vSwitch, enfin une belle histoire ! - 31 décembre 2017
Obtenir les identifiants d’un tenant via Keystone par Gaëtan Trellu (goldyfruit) est sous Licence Creative Commons Internationale Attribution 4.0.