Ansible
Ansible assure la gestion de la configuration du bastion et du load balancer. Tous les playbooks et l’inventaire se trouvent dans infra/ansible/.
| Champ | Valeur |
|---|---|
| Playbooks | infra/ansible/playbooks/ |
| Inventaire | infra/ansible/inventory/moh.yaml |
| Clés SSH | infra/ansible/playbooks/files/keys/ (~20 clés de membres de l’équipe) |
Playbooks
| Playbook | Rôle |
|---|---|
bastion.yaml | Mise en place du bastion — installe les outils, configure sshd_config, déploie les clés SSH de l’équipe |
bastion-del-user.yaml | Retire l’accès SSH d’un utilisateur au bastion |
load-balancer.yaml | Mise en place du load balancer — rend et déploie le template nginx.conf.j2 |
Gestion des clés SSH
Les clés publiques des membres de l’équipe sont stockées sous forme de fichiers individuels dans playbooks/files/keys/. L’exécution du playbook bastion déploie l’ensemble complet des clés dans le fichier authorized_keys de l’hôte. Environ 20 clés sont actuellement gérées de cette manière.
Ajouter un utilisateur
Ajouter le fichier de clé publique
Placez la clé publique du nouveau membre de l’équipe à l’emplacement :
infra/ansible/playbooks/files/keys/<username>.pubExécuter le playbook bastion
ansible-playbook playbooks/bastion.yaml -i inventory/moh.yamlLe playbook déploiera toutes les clés du répertoire keys/, y compris la nouvelle.
Retirer un utilisateur
Exécuter le playbook de suppression
ansible-playbook playbooks/bastion-del-user.yaml -i inventory/moh.yaml -e "username=<name>"Supprimer le fichier de clé
Supprimez infra/ansible/playbooks/files/keys/<username>.pub du dépôt afin que la clé ne soit pas réajoutée lors des prochaines exécutions du playbook bastion.